検索
連載

かゆいところに手が届く実践「Prometheus」「Grafana」――PromQL、スクレイプ、Exporter、運用のためのポイントCloud Nativeチートシート(15)

Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、Observabilityのシグナル「メトリクス」について紹介し、「Prometheus」「Grafana」を使う上でのポイントを解説します。

Share
Tweet
LINE
Hatena

※岡本、正野、宇都宮はNTTデータ所属

 Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。第13回から「Observability(オブザーバビリティ)」「可観測性」にフォーカスしています。第13回ではObservabilityの概要と、その構成要素や考慮点を、第14回ではそれを活用したトラブルシューティングフローを紹介しました。

 第15回となる今回は、最もベーシックなObservabilityのシグナルであるメトリクスにフォーカスして、デファクトスタンダードなオープンソースソフトウェア(OSS)「Prometheus」「Grafana」に関連したポイントを紹介します。

1章:Prometheusの概要

 連載第13回で説明したように、「メトリクス」は、サーバのリソース状況(CPU使用率など)やサービス状況(レイテンシ、トランザクション量、エラーレートなど)といった、指標となる数値データで、これまでも古くから監視されてきた項目です。このメトリクスの監視ツールとして、急速に利用されてきているのが、Prometheusです。

 Prometheusでは次のような特徴から、コンポーネント数が多くなりがちなKubernetesを中心としたクラウドネイティブなアーキテクチャにおいて、監視OSSとしてはデファクトスタンダードといえます。

  • 多次元データモデル
    時系列のメトリクスデータにラベルを付与することでKey-Value形式で取得できる
  • メトリクス公開のしやすさ
    決められたフォーマットでメトリクスデータをHTTP公開するだけで、Prometheusにメトリクスを収集できる
  • サービスディスカバリ
    Kubernetesリソースなどのコンポーネントのモニタリングターゲットを検出する仕組みで、Kubernetesをデフォルトでサポートしている
  • スクレイプ
    サービスディスカバリで提供される情報を使って「どういったターゲットのメトリクスを収集するのか」を設定できる
  • 多くのインテグレーション
    各言語で利用できるライブラリ、さまざまなミドルウェアやソフトウェアで利用できるメトリクスを収集、公開するエージェント「Exporter」の開発が盛ん
  • クエリ言語「PromQL」
    シンプルな記法で時系列データを探索できる

 PrometheusのダッシュボードとしてはGrafanaが一般的といえます。GrafanaからPromQLを呼び出せるので、Prometheus上に収集した各種コンポーネントのメトリクスをラベルでうまくフィルタリング、集計しながらさまざまな表示形式で可視化できます。

 本稿では、PrometheusとGrafanaについて以下の流れでポイントを紹介します。

  • 2章:PromQL
    PromQLを活用してシンプルな記法で時系列データを扱う方法
  • 3章:スクレイプ
    Prometheusによるメトリクス収集時のポイント(サービスディスカバリを活用したKubernetesリソース検出、ラベリング)
  • 4章:Exporter、Dashboard
    ターゲットのメトリクスを公開するExporterを使った多様なミドルウェアやメトリクスとの連携
  • 5章:運用のためのポイント
    Prometheusを運用する際のよくある課題とその解決策

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る