Member-only story
PrometheusからダイナミックなGrafanaのダッシュボードを構築する
針の穴に糸を通すようようなことが、実はとても簡単だと言ったらどうします?少なくとも、プロメテウスや OpenTSDBやPrometheusなどのモニタリングツールで収集されたメトリックスに対しては…
Prometheus は、最も一般的でシンプルでありながら強力なオープンソースの監視ツールです。マシン、ウェブサーバ、データベース、ロードバランサ、メッセージングキュー、CI、ロガー、他の監視システム、クラウドプロバイダからメトリクスを収集ために使用します。そして、1000以上のエクスポート先があります。
この記事ではエンドユーザーが地域、製品、環境、アプリケーション、node-exporterを使ったエクスポーターに基づいて特定のメトリクスを簡単にドリルダウンできるGrafanaダッシュボードを作成する方法を見ていきます。
この考え方はとてもシンプルです。ユーザーからのインプットを受け取り、そのフィルタをgrafanaが作成したクエリに適用するというものです。これはgrafanaのほとんどすべてのデータソース統合で動作します。
先に進む前に、ラベルが何であるかを見てみます。
ラベルを見ると、データが収集された後に粒度の高い検索を行う方法が分かります。また設定可能な Alertmanager コンフィギュレーションを記述します。データを収集する前に、明確な意味を持つラベルのセットを定義して使用することが非常に重要です。
ラベルは次のようになっています(例)
- リージョン: us-east-1
- プロダクト: ticketing-system
- env: qa
- ホスト: ticketing.qa.example.org
- cloud-プロバイダー aws
- インスタンスタイプ: t2.micro
- インスタンスライフ: spot/ondemand/reserved
Visualizing the data over Grafa
GrafanaはビルトインでPrometheusに対応しており、正しく使えば*変数の概念はおまけのようなもの(なければなくていいが、あったら嬉しいもの)です。