Grafana
🔥 Vibe プロンプト
「Grafanaダッシュボードを作成:APIレイテンシ(p50、p95、p99)、エラー率、CPU/メモリ、アラート付き。」
services:
grafana:
image: grafana/grafana:latest
ports: ["3000:3000"]
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
volumes: ["grafana-data:/var/lib/grafana", "./dashboards:/etc/grafana/provisioning"]
prometheus:
image: prom/prometheus:latest
volumes: ["./prometheus.yml:/etc/prometheus/prometheus.yml"]
ダッシュボード
{
"title": "API Overview",
"panels": [{
"title": "レイテンシ (p95)",
"type": "graph",
"targets": [{
"expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))"
}]
}, {
"title": "エラー率",
"type": "stat",
"targets": [{
"expr": "sum(rate(http_requests_total{status=~\"5..\"}[5m])) / sum(rate(http_requests_total[5m]))"
}]
}]
}
Grafana機能
| 機能 | 目的 | |------|------| | アラート | 視覚的アラート設定 | | アノテーション | イベント記録 | | 変数 | 動的フィルター | | Explore | アドホッククエリ |
ベストプラクティス
- ダッシュボードをJSONでプロビジョニング
- ダッシュボード変数を使用
- 通知チャンネル設定(Slack)
章のまとめ
- コアコンセプトと原理を理解
- 実装方法とテクニックを習得
- 一般的な問題と解決策に精通
- 実際のプロジェクトに適用可能
さらに読む
- 公式ドキュメントとAPIリファレンス
- GitHubのオープンソース例
- 技術書とオンラインコース
- コミュニティディスカッションと技術ブログ
実装例
基本例
# 完全な実装例を提供します
手順
- セットアップ: 開発環境の設定
- データ: 必要なデータの準備
- 実装: コア機能の構築
- テスト: 動作確認
- 最適化: パフォーマンスの向上
よくあるエラー
| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |
コード例
import sys
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
参考資料
- 公式ドキュメント
- APIリファレンス
- オープンソース例
- コミュニティディスカッション