【Graphite & Grafana】　オープンソース最強の監視コンボ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/708fcc9b-8eee-76b9-7557-a2d540757af4.png)

#Grafana & Graphite
Grafanaは、監視および時系列データ分析のための強力なプラットフォームです。 
Graphiteは、データ収集と視覚化のためのシステムです。 Graphiteは時系列のメトリック収集に優れていますが、Grafanaはデータ分析と視覚化のためのより高度なソリューションを提供します。 そのため、GraphiteとGrafanaがコンボで使用されることがよくあり、この２つを組み合わせた時、非常に高度な監視を可能にしてくれます。 この記事では、GrafanaでGraphiteを使用する方法を示します。

[Metricfire](https://try.metricfire.com/japan/?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=Graphite%20and%20Grafana)は[Hosted Grafana](https://www.metricfire.com/hosted-grafana)と[Hosted Graphite](https://www.metricfire.com/graphite-as-a-service)の[無料トライアル](https://www.hostedgraphite.com/accounts/signup-metricfire/?signup=japan&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=Graphite%20and%20Grafana)を提供しています。 無駄なセットアップをせずとも、すぐに始めることが出来ますので、自前で構築する前に、トライアルにサインアップしてみるのもいいかもしれません。

#GraphiteデータソースをGrafanaに追加
この記事は、GraphiteをGrafanaに接続し、収集されたメトリックに基づいてダッシュボードを作成するための手順を紹介していきます。

まず最初に、GrafanaにGraphiteデータソースを追加します。 Grafana Web UIで、Settingボタンの上にマウスを移動し、ドロップダウンメニューを表示、[Data Sources]タブをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/8c25f097-573c-bb9b-fa64-c622f7daadcc.png)

次のページにて、追加されたすべてのデータソースのリストが表示されます。 ない場合、リストは空になっている状態です。 次に[Add data souce]データソースの追加ボタンをクリックしてください：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/4a37f829-b173-e365-de1d-1dad53d846ae.png)

次にデータソースのタイプを選んでください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/44ca5d63-3a4a-0234-0869-8fb55e0a9894.png)

次に、データソースパラメータを指定します。 URLとAccessに注意してください（Hosted Graphiteを使用している場合は、ブラウザーを選択します）。 次に、[Save & Test]ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/1f9c6993-5070-8ec4-b08c-5c762c88c176.png)

すると、Grafanaが接続されたデータソースをテストし、問題がなければ、[Data source is working]成功のメッセージが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/83bce516-a1e7-85b6-9834-c964d6c91faf.png)

これで、Graphiteのデータソースが追加され、ダッシュボードを作成できる準備が整いました。

#Grafanaダッシュボードの作成
ダッシュボードを作成するには、[Dashboard]ドロップダウンメニューの[Manage]タブをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/e2c0939d-a5d4-1cdd-c9fc-749692fbefdd.png)

次に[New dashboard]ボタンをクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/5db89755-202c-39b2-cd9f-7c742d7cedd7.png)


ダッシュボードには、少なくとも1つのパネルが必要です。 したがって、次のステップでは、[Add Query]をクリックして新しいパネルを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/a4adf551-b0a0-3865-a22c-098a15d309ae.png)

すると、次のように見えるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/cc2ed59c-68e9-3267-4446-8303ba2e68b3.png)

ここで、データソースに対するクエリを作成して、視覚化を表示する必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/56d3118d-f23c-84d9-b4d3-334bd54d60c3.png)

データソースでGraphite（上の画像の上部）を選択していることがわかります。 次に、（「A」クエリのシリーズセクションで）視覚化するメトリックを指定します-dmitrij-Lenovo-Z50-70.dev8-0.rd_sec。 これは、メトリックの視覚化を表示するには十分です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/e08f6d12-bc06-d583-1e50-1ff814002f4f.png)

しかし、さらに進んで、視覚化を変換する関数を追加できます。 たとえば、指定したパーセンタイルを超える値を削除します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/1f7f0584-cde1-d3f8-2fdc-879177a04535.png)

これは同じ視覚化ですが、上位5パーセンタイルの値はありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/a95d10b7-f3b1-9539-930e-6283425b144f.png)

ダッシュボード名（左上隅）の近くにある[戻る]矢印ボタンをクリックして、ダッシュボードビュー全体（すべてのパネルを同時に表示できます）に移動できます。

ダッシュボードの設定を変更するには、画面の右上にある設定ボタンを押す必要があります：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/de14dd8e-5d69-4ef9-948f-cc902807ba26.png)

そこで、ダッシュボードの名前を変更するなどが出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/465d3e70-143c-21ed-51d2-707e79d48f64.png)

[パネルを追加]ボタンは、ダッシュボードの設定ボタンと同じ画面の領域にあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/8087865c-7dcf-3c72-a8db-5b744d57869e.png)

いくつかのパネルを追加すると、ダッシュボードは次のようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/f7f5bcf6-6a53-450d-dd1e-12d66c7190cc.png)

Grafanaはさまざまなタイプの視覚化をサポートしており、それぞれのタイプをカスタマイズできます。 Graphiteには、指標を表示する機能もありますが、その視覚化機能はGrafanaのものよりもはるかに制限されています。 

#GraphiteデータのためのGrafana機能
Grafanaには、優れたダッシュボードの作成に加えて、Graphiteメトリックの操作中に使用できる面白い機能があります。 このセクションでは、これらの機能を紹介していきます。

###パネルのカスタマイズ

チュートリアルの前の部分では、Grafanaがさまざまなタイプのグラフをサポートしていることがわかりました。 ここで、適切な視覚化のタイプを選択できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/2422ef00-0b1a-3afa-af7e-4ccd405c877a.png)

さらに、特定の各グラフをカスタマイズできます。 たとえば、グラフチャートでは、描画モード、モードオプション、ホバーツールチップ、軸の設定、凡例などを変更できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/8bd29fef-930e-fd94-e699-a904a8f4827b.png)

視覚化の調整できるもう1つの面白い例は、ゲージタイプのチャートで作成です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/b9fcd363-0964-45ae-2e59-e3cbf00c9be9.png)

ここでは、最小値と最大値、値の範囲の色、これらの範囲のしきい値、ラベル、マーカーなどを選択できることがわかります。
Grafanaでは、視覚化の各タイプに独自の機能があり、微調整およびカスタマイズできます。

###探査

探索オプションを使用すると、クエリを試して、さまざまなデータソースに対してさまざまなクエリの結果を比較できます。 したがって、これは、視覚化の種類やグラフの調整よりも、クエリの要点についてです。 分割機能は、探索に最も便利なツールの1つです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/6145c9a2-3563-4a6a-3f40-70022188a501.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/fc714ea1-8c9c-3f47-a374-0f3d2d291dff.png)

クエリ結果の比較をより簡単にするために、画面を2つの部分に分割します。 探索機能の詳細については、[Grafanaのドキュメント](https://grafana.com/docs/grafana/latest/features/explore/)をご覧ください。



###共有とコラボレーション

GrafanaでGraphiteメトリクスを使用している間、チームメイトや他の利害関係者と作業結果を共有するのは非常に簡単です。 まず、パネルのドロップダウンメニューで[Share]オプションをクリックする必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/9a6ad729-36a0-34c9-bae6-be4da7c38bb9.png)

次に、視覚化を共有する方法を選択します。 リンクを生成したり、iframeをWebサイトに埋め込んだり、スナップショットを作成したりすることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/c26f56af-3ce0-7ee6-b722-dd1098d95bcc.png)

###アラート機能

アラートは監視の重要な機能の1つです。 Graphiteは、システムの正常性、パフォーマンス、現在の状態などに関する情報を反映するメトリックを収集します。特定のイベントが発生したときに（否定的または肯定的な影響のある）通知を受けると役立つ場合があります。 Grafanaは、Graphiteからのメトリックを監視し、指定された条件に従ってアラートをトリガーできます。

ベルのアイコンをクリックして、パネル作成メニューからアラートを作成できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/efdd28d1-fdb5-febb-86e0-c175cacb3dc0.png)

#まとめ
この記事では、GrafanaでデータソースとしてGraphiteを使用するための基本を紹介しました。 Graphiteデータソースを追加する方法、それを構成する方法、Graphiteによって収集されたメトリックを使用してダッシュボードを作成する方法、およびGrafanaでサポートされる他の機能を使用する方法を示しました。

[Metricfire](https://try.metricfire.com/japan/?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=Graphite%20and%20Grafana)は、Grafana as a ServiceおよびHosted Graphiteを使用するための[14日間の無料トライアル](https://www.hostedgraphite.com/accounts/signup-metricfire/?signup=japan&utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=Graphite%20and%20Grafana)を提供します。 これを使用して、これらの製品が必要なものかどうかを理解し、実験することができます。 ご不明な点がございましたら、[デモを予約](https://calendly.com/metricfire-chatwithus/chat?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=Graphite%20and%20Grafana)し、ビデオチャットでご相談ください。

それでは、次の記事でお会いしましょう。