Member-only story
Prometheus + Grafana のセットアップでサーバーを可視化 する
Prometheus、Node Exporter、Grafanaを設定して、サーバーのメトリクスをグラフィカルに視覚化します。
Prometheus Introduction
Prometheusは、高次元のデータモデルを実装したオープンソースのモニタリングツールです。Prometheusには、データを可視化するための複数のモードがあり、その1つが*Grafanaインテグレーションです。Prometheusは、時系列データを効率的なカスタムフォーマットでメモリとローカルディスクに保存します。
多くのクライアントライブラリが用意されており、サービスのインスツルメンテーションを簡単に行うことができます。また、カスタムライブラリも簡単に作成できます。各サーバーは独立しており、ローカルストレージにのみ依存しているため、信頼性があります。プログラミング言語Golangで書かれており、すべてのバイナリは静的にリンクされているため、簡単に導入できます。
Prometheusは、*プッシュ・ポリシーではなくプル・ポリシーを実装しています。つまり、Prometheusがエクスポート先からデータを一定の時間間隔でスクレイピングするのではなく、エクスポート先がPrometheusにプッシュするのです。この実装には長所と短所がありますが、その詳細については触れません。
Grafana Introduction
Grafanaは、オープンソースの可視化・分析ソフトウェアです。指標がどこに保存されているかに関わらず、クエリ、可視化、アラート、探索を行うことができます。Grafanaは数十種類のデータベースに対応しているため、1つのダッシュボードですべてのデータベースを可視化することができます。
Grafanaはアラート機能も備えており、しきい値を視覚的に定義し、SlackやPagerDutyなどのプラットフォームを介して通知を受けることができます。また、Grafanaは、ヒートマップ、ヒストグラム、グラフ、ジオマップなど、データを表示するためのさまざまなオプションが利用可能です。Grafanaには、データを美しく理解するための視覚化オプションが豊富に用意されています。私はUbuntu 18.04を使用しており、それ自体に関しては全体のセットアップを示す予定です。