Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Prometheusでの監視データ活用マニュアル

kameneko
April 17, 2023

 Prometheusでの監視データ活用マニュアル

2023/04/17 開催された、Kubernetes Novice Tokyo #24 にて話したスライドです。
https://k8s-novice-jp.connpass.com/event/278196/

kameneko

April 17, 2023
Tweet

More Decks by kameneko

Other Decks in Technology

Transcript

  1. Prometheusでの
    監視データ活用マニュアル
    Kubernetes Novice Tokyo #24
    かめねこ @kameneko1004

    View full-size slide

  2. かめねこ
    所属: さくらインターネット株式会社 クラウド事業本部
    趣味: カメラ(業務用)、車(MAZDA3)
    著 : Prometheus実践ガイド
    \最近Kindleも出たよ/
    @kameneko1004

    View full-size slide

  3. あなたの監視データ
    活用
    できていますか?

    View full-size slide

  4. あなたの監視データ
    活用
    できていますか?

    View full-size slide

  5. あなたの監視データ
    活用
    できていますか?
    「とりあえず監視してる」
    「アラート通知のために使ってる」
    「Prometheus入れたけど
    メトリクスいっぱいでよくわからん」
    「最後にメンテしたのいつだっけ…」

    View full-size slide

  6. あなたの監視データ
    活用
    できていますか?
    「とりあえず監視してる」
    「アラート通知のために使ってる」
    「Prometheus入れたけど
    メトリクスいっぱいでよくわからん」
    「最後にメンテしたのいつだっけ…」
    そんな
    あなたに
    必見

    View full-size slide

  7. このセッションのゴール

    View full-size slide

  8. このセッションのゴール
    「Prometheusデータ活用」を知る
    1. PrometheusとObservabilityの考え方
    2. Prometheusのデータを活用する4ステップ

    View full-size slide

  9. PrometheusとObservabilityの考え方

    View full-size slide

  10. Prometheusとは

    View full-size slide

  11. Prometheusとは
    • オープンソースの監視システム
    • 時系列データベースを採用したPull型データモデルを採用
    • ServiceDiscoveryによるターゲットの自動追従
    • PromQLによるシンプルかつ柔軟なクエリ
    • さまざまなソフトウェアに対応したExporter
    • Kubernetesを始めとしたクラウドネイティブな監視
    • Observabilityを実現

    View full-size slide

  12. Prometheusとは
    • オープンソースの監視システム
    • 時系列データベースを採用したPull型データモデルを採用
    • ServiceDiscoveryによるターゲットの自動追従
    • PromQLによるシンプルかつ柔軟なクエリ
    • さまざまなソフトウェアに対応したExporter
    • Kubernetesを始めとしたクラウドネイティブな監視
    • Observabilityを実現
    • Observabilityを実現

    View full-size slide

  13. Observabilityとは

    View full-size slide

  14. Observabilityとは
    可観測性 システムの状態を可視化

    View full-size slide

  15. Observabilityとは
    可観測性 システムの状態を可視化

    View full-size slide

  16. Observabilityとは
    従来の監視
    システムの異常を事前に想定
    それを検知するためのメトリクスを取得しアラート
    Kubernetesを始めとしたシステムの複雑化によって
    「異常を事前に想定」が難しくなる

    View full-size slide

  17. Observabilityとは
    Observability
    システムのさまざまな情報を事前に取得
    異常が起きた場合に、これを検知・把握する
    想定できない未知の障害に対応
    データの活用が重要

    View full-size slide

  18. Prometheusとは
    • オープンソースの監視システム
    • 時系列データベースを採用したPull型データモデルを採用
    • ServiceDiscoveryによるターゲットの自動追従
    • PromQLによるシンプルかつ柔軟なクエリ
    • さまざまなソフトウェアに対応したExporter
    • Kubernetesを始めとしたクラウドネイティブな監視
    • Observabilityを実現
    • Observabilityを実現

    View full-size slide

  19. Prometheus
    Observability

    View full-size slide

  20. Observabilityとは
    メトリクス
    ログ
    トレーシング
    Observability

    View full-size slide

  21. Observabilityとは
    メトリクス
    ログ
    トレーシング
    数値データで時系列にシステムを表現

    View full-size slide

  22. Observabilityとは
    メトリクス
    ログ
    トレーシング
    文字列データでシステムの状態を
    人間にわかりやすく表現

    View full-size slide

  23. Observabilityとは
    メトリクス
    ログ
    トレーシング
    システムへのアクセスと
    それに紐づく詳細な呼び出し等を表現

    View full-size slide

  24. Observabilityとは
    メトリクス
    ログ
    トレーシング
    Prometheus, Zabbix
    Jaeger
    Elasticsearch, Grafana Loki

    View full-size slide

  25. Observabilityとは
    メトリクス
    ログ
    トレーシング
    Prometheus, Zabbix
    Jaeger
    Elasticsearch, Grafana Loki

    View full-size slide

  26. Observabilityとは
    Observability
    システムのさまざまな情報を事前に取得
    異常が起きた場合に、これを検知・把握する
    想定できない未知の障害に対応
    データの活用が重要

    View full-size slide

  27. Observabilityとは
    Observability
    システムのさまざまな情報を事前に取得
    異常が起きた場合に、これを検知・把握する
    想定できない未知の障害に対応
    データの活用が重要

    View full-size slide

  28. Observabilityとは
    Observability
    システムのさまざまな情報を事前に取得
    異常が起きた場合に、これを検知・把握する
    想定できない未知の障害に対応
    データの活用が重要
    問題がおきたとき、
    収集していたメトリクスをどのように活用するのか?

    View full-size slide

  29. PrometheusとObservabilityの考え方
    まとめ
    • Prometheusはクラウドネイティブなモニタリングシステム
    • PrometheusでObservabilityを実現する
    • Observabilityでは問題があったときに
    どのようにデータを活用するかが重要となる

    View full-size slide

  30. Prometheusのデータを活用する
    4ステップ

    View full-size slide

  31. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析

    View full-size slide

  32. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    データ活用に必要なメトリクスを収集する
    「何のために」どのようなデータが必要か考える

    View full-size slide

  33. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    Exporterの活用
    • Prometheusには公式非公式含めて多種多様なExporterが存在
    • システムが利用している各種Exporterを使って簡単にメトリクスを収集
    なければ作る
    • 大抵のソフトウェアは公開されているExporterで対応可能だが
    ソフトウェアが対応していない・更新されていないExporterなど…
    • 自前のアプリケーションも同様
    • これらは自分で「Exporterを作る」or「組み込む」

    View full-size slide

  34. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    取得したデータをもとにユーザへ通知する
    単に知らせるだけでなく、「行動を促す」通知が重要

    View full-size slide

  35. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    SLOベースのアラート
    • 「サービス状態」をベースにした考え
    • SLOを基準とすることでサービス品質に紐づいたアラートが可能
    Runbookの活用
    • Runbook: 運用手順をまとめたドキュメント
    • 通知するだけでなく、通知したあとの動きも考慮する
    • 通知にRunbookを埋め込み、通知を受けたあとの行動も明確に

    View full-size slide

  36. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    比較的運用コストが高いダッシュボードを
    継続的に、低コストで運用する

    View full-size slide

  37. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    コミュニティのダッシュボードを活用
    • さまざまなコンポーネントのダッシュボードをメンテするのは大変
    • 汎用的なダッシュボード(Linuxサーバの情報など)は
    コミュニティのダッシュボードをお借りする
    サービスに関するダッシュボードは自作
    • 実際に作成するのはサービスに関わるもの
    • 常に利用し、メンテナンスする

    View full-size slide

  38. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    通知や可視化だけでなく、その先の分析まで考慮する

    View full-size slide

  39. データを活用する
    1. 収集
    2. 通知
    3. 可視化
    4. 分析
    開発者もPrometheusを
    • Prometheusはインフラのためのツールのように見えるが
    開発者にとっても重要
    • 開発者が必要なメトリクスを取得する
    サービス品質向上のために
    • システム運用だけでなく、ビジネスのためにメトリクスを使う
    • 「サービス別の利用率」「利用率の高い時間帯」「ユーザの行動」
    • メトリクスだけでもさまざまな指標が取得できる
    • +α ログやトレーシングを合わせるとよりよい

    View full-size slide

  40. Prometheusのデータを活用するには
    • Prometheusを使ったObservabilityの実現
    • 想定できない未知の障害に対するデータを蓄積・活用
    • 収集 → 通知 → 可視化 → 分析 → 収集 のループを回す
    収集
    分析・活用 可視化
    通知

    View full-size slide