Prometheus
🔥 Vibe プロンプト
「FastAPIアプリとNode exporterからメトリクスをスクレイピングするPrometheusを設定。アラートを作成。」
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'api'
static_configs:
- targets: ['api:8000']
- job_name: 'node'
static_configs:
- targets: ['node-exporter:9100']
FastAPIメトリクス
from prometheus_fastapi_instrumentator import Instrumentator
app = FastAPI()
Instrumentator().instrument(app).expose(app)
アラートルール
groups:
- name: api
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
for: 2m
labels: { severity: critical }
annotations:
summary: "APIエラー率 > 5%"
- alert: HighLatency
expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
labels: { severity: warning }
主要メトリクスタイプ
| タイプ | 例 | |-------|-----| | Counter | 総リクエスト数(増加のみ) | | Gauge | 現在のアクティブ接続数 | | Histogram | レイテンシバケット | | Summary | レイテンシ量子化 |
章のまとめ
- コアコンセプトと原理を理解
- 実装方法とテクニックを習得
- 一般的な問題と解決策に精通
- 実際のプロジェクトに適用可能
さらに読む
- 公式ドキュメントとAPIリファレンス
- GitHubのオープンソース例
- 技術書とオンラインコース
- コミュニティディスカッションと技術ブログ
実装例
基本例
# 完全な実装例を提供します
手順
- セットアップ: 開発環境の設定
- データ: 必要なデータの準備
- 実装: コア機能の構築
- テスト: 動作確認
- 最適化: パフォーマンスの向上
よくあるエラー
| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |
コード例
import sys
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
参考資料
- 公式ドキュメント
- APIリファレンス
- オープンソース例
- コミュニティディスカッション