Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Prometheusでの 監視データ活用マニュアル Kubernetes Novice Tokyo #24 かめねこ @kameneko1004
Slide 2
Slide 2 text
かめねこ 所属: さくらインターネット株式会社 クラウド事業本部 趣味: カメラ(業務用)、車(MAZDA3) 著 : Prometheus実践ガイド \最近Kindleも出たよ/ @kameneko1004
Slide 3
Slide 3 text
あなたの監視データ 活用 できていますか?
Slide 4
Slide 4 text
あなたの監視データ 活用 できていますか?
Slide 5
Slide 5 text
あなたの監視データ 活用 できていますか? 「とりあえず監視してる」 「アラート通知のために使ってる」 「Prometheus入れたけど メトリクスいっぱいでよくわからん」 「最後にメンテしたのいつだっけ…」
Slide 6
Slide 6 text
あなたの監視データ 活用 できていますか? 「とりあえず監視してる」 「アラート通知のために使ってる」 「Prometheus入れたけど メトリクスいっぱいでよくわからん」 「最後にメンテしたのいつだっけ…」 そんな あなたに 必見
Slide 7
Slide 7 text
このセッションのゴール
Slide 8
Slide 8 text
このセッションのゴール 「Prometheusデータ活用」を知る 1. PrometheusとObservabilityの考え方 2. Prometheusのデータを活用する4ステップ
Slide 9
Slide 9 text
PrometheusとObservabilityの考え方
Slide 10
Slide 10 text
Prometheusとは
Slide 11
Slide 11 text
Prometheusとは • オープンソースの監視システム • 時系列データベースを採用したPull型データモデルを採用 • ServiceDiscoveryによるターゲットの自動追従 • PromQLによるシンプルかつ柔軟なクエリ • さまざまなソフトウェアに対応したExporter • Kubernetesを始めとしたクラウドネイティブな監視 • Observabilityを実現
Slide 12
Slide 12 text
Prometheusとは • オープンソースの監視システム • 時系列データベースを採用したPull型データモデルを採用 • ServiceDiscoveryによるターゲットの自動追従 • PromQLによるシンプルかつ柔軟なクエリ • さまざまなソフトウェアに対応したExporter • Kubernetesを始めとしたクラウドネイティブな監視 • Observabilityを実現 • Observabilityを実現
Slide 13
Slide 13 text
Observabilityとは
Slide 14
Slide 14 text
Observabilityとは 可観測性 システムの状態を可視化
Slide 15
Slide 15 text
Observabilityとは 可観測性 システムの状態を可視化
Slide 16
Slide 16 text
Observabilityとは 従来の監視 システムの異常を事前に想定 それを検知するためのメトリクスを取得しアラート Kubernetesを始めとしたシステムの複雑化によって 「異常を事前に想定」が難しくなる
Slide 17
Slide 17 text
Observabilityとは Observability システムのさまざまな情報を事前に取得 異常が起きた場合に、これを検知・把握する 想定できない未知の障害に対応 データの活用が重要
Slide 18
Slide 18 text
Prometheusとは • オープンソースの監視システム • 時系列データベースを採用したPull型データモデルを採用 • ServiceDiscoveryによるターゲットの自動追従 • PromQLによるシンプルかつ柔軟なクエリ • さまざまなソフトウェアに対応したExporter • Kubernetesを始めとしたクラウドネイティブな監視 • Observabilityを実現 • Observabilityを実現
Slide 19
Slide 19 text
Prometheus Observability ?
Slide 20
Slide 20 text
Observabilityとは メトリクス ログ トレーシング Observability
Slide 21
Slide 21 text
Observabilityとは メトリクス ログ トレーシング 数値データで時系列にシステムを表現
Slide 22
Slide 22 text
Observabilityとは メトリクス ログ トレーシング 文字列データでシステムの状態を 人間にわかりやすく表現
Slide 23
Slide 23 text
Observabilityとは メトリクス ログ トレーシング システムへのアクセスと それに紐づく詳細な呼び出し等を表現
Slide 24
Slide 24 text
Observabilityとは メトリクス ログ トレーシング Prometheus, Zabbix Jaeger Elasticsearch, Grafana Loki
Slide 25
Slide 25 text
Observabilityとは メトリクス ログ トレーシング Prometheus, Zabbix Jaeger Elasticsearch, Grafana Loki
Slide 26
Slide 26 text
Observabilityとは Observability システムのさまざまな情報を事前に取得 異常が起きた場合に、これを検知・把握する 想定できない未知の障害に対応 データの活用が重要
Slide 27
Slide 27 text
Observabilityとは Observability システムのさまざまな情報を事前に取得 異常が起きた場合に、これを検知・把握する 想定できない未知の障害に対応 データの活用が重要
Slide 28
Slide 28 text
Observabilityとは Observability システムのさまざまな情報を事前に取得 異常が起きた場合に、これを検知・把握する 想定できない未知の障害に対応 データの活用が重要 問題がおきたとき、 収集していたメトリクスをどのように活用するのか?
Slide 29
Slide 29 text
PrometheusとObservabilityの考え方 まとめ • Prometheusはクラウドネイティブなモニタリングシステム • PrometheusでObservabilityを実現する • Observabilityでは問題があったときに どのようにデータを活用するかが重要となる
Slide 30
Slide 30 text
Prometheusのデータを活用する 4ステップ
Slide 31
Slide 31 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析
Slide 32
Slide 32 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 データ活用に必要なメトリクスを収集する 「何のために」どのようなデータが必要か考える
Slide 33
Slide 33 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 Exporterの活用 • Prometheusには公式非公式含めて多種多様なExporterが存在 • システムが利用している各種Exporterを使って簡単にメトリクスを収集 なければ作る • 大抵のソフトウェアは公開されているExporterで対応可能だが ソフトウェアが対応していない・更新されていないExporterなど… • 自前のアプリケーションも同様 • これらは自分で「Exporterを作る」or「組み込む」
Slide 34
Slide 34 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 取得したデータをもとにユーザへ通知する 単に知らせるだけでなく、「行動を促す」通知が重要
Slide 35
Slide 35 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 SLOベースのアラート • 「サービス状態」をベースにした考え • SLOを基準とすることでサービス品質に紐づいたアラートが可能 Runbookの活用 • Runbook: 運用手順をまとめたドキュメント • 通知するだけでなく、通知したあとの動きも考慮する • 通知にRunbookを埋め込み、通知を受けたあとの行動も明確に
Slide 36
Slide 36 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 比較的運用コストが高いダッシュボードを 継続的に、低コストで運用する
Slide 37
Slide 37 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 コミュニティのダッシュボードを活用 • さまざまなコンポーネントのダッシュボードをメンテするのは大変 • 汎用的なダッシュボード(Linuxサーバの情報など)は コミュニティのダッシュボードをお借りする サービスに関するダッシュボードは自作 • 実際に作成するのはサービスに関わるもの • 常に利用し、メンテナンスする
Slide 38
Slide 38 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 通知や可視化だけでなく、その先の分析まで考慮する
Slide 39
Slide 39 text
データを活用する 1. 収集 2. 通知 3. 可視化 4. 分析 開発者もPrometheusを • Prometheusはインフラのためのツールのように見えるが 開発者にとっても重要 • 開発者が必要なメトリクスを取得する サービス品質向上のために • システム運用だけでなく、ビジネスのためにメトリクスを使う • 「サービス別の利用率」「利用率の高い時間帯」「ユーザの行動」 • メトリクスだけでもさまざまな指標が取得できる • +α ログやトレーシングを合わせるとよりよい
Slide 40
Slide 40 text
まとめ
Slide 41
Slide 41 text
Prometheusのデータを活用するには • Prometheusを使ったObservabilityの実現 • 想定できない未知の障害に対するデータを蓄積・活用 • 収集 → 通知 → 可視化 → 分析 → 収集 のループを回す 収集 分析・活用 可視化 通知