dockerで構築するPrometheusとGrafana連携

スポンサーリンク
dockerで構築するPrometheusとGrafana連携 初期設定
dockerで構築するPrometheusとGrafana連携
この記事は約5分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、dockerで構築した開発環境において、PrometheusとGrafana連携をする手順をご紹介します。

スポンサーリンク

実行環境

この記事では、下記の記事で構築している開発環境を前提にしていますので、環境構築をされていない方は、記事を参考に環境構築をお願いします。

Grafanaの追加

PrometheusとGrafana連携をするために、Grafanaを追加します。

ディレクトリ構造

ディレクトリ構造は下記のようになっています。赤字の箇所が新規&更新になります。

.
├── LICENSE
├── Makefile
├── README.md
└── app
    ├── docker-compose.yml (更新)
    ├── flyway
    ├── grafana (新規)
    │   └── Dockerfile
    ├── mysql
    ├── prometheus
    ├── schemaspy
    ├── sys
    └── web

docker-compose.yml

下記の内容をファイル(docker-compose.yml)118-122行目に追記します。

  grafana:
    build: ./grafana
    container_name: grafana
    ports:
      - "3000:3000"

grafana/Dockerfile

下記の内容で新規ファイル(prometheus/Dockerfile)を作成します。

FROM grafana/grafana

動作確認

下記のコマンドを実行して、サービスを起動します。

make setup

サービスが起動後、ブラウザで「http://localhost:3000/login」にアクセスして、下図のようにUPになっていれば、成功です。

usernameに admin 、パスワードに admin を入力して、Log inをクリックします。

パスワード変更のために、新しいパスワード(自身で決めます)の入力を求められるので、新しいパスワードを入力します。

そうすると、下図のようなページになります。

Prometheusとの連携

下記の手順でPrometheusのデータソースを追加します。

Dashboardのインポート

下記の手順でダッシュボードをインポートして可視化しました。

今回は既存のダッシュボードを使用しましたが、自身でもダッシュボードを作成できるので、試してみてください。機会があれば、ダッシュボードの作成についても記事にしたいと思います。

解説

Grafanaとは

Grafanaは、データ可視化ツールの1つで、複数のデータソースからデータを収集し、それをグラフ、テーブル、チャート、ダッシュボードなどの形式で表示することができます。オープンソースであり、誰でも自由にダウンロードして使用することができます。

Grafanaが対応しているデータソースには、Prometheus、Graphite、Elasticsearch、InfluxDB、MySQL、PostgreSQL、Microsoft SQL Serverなどがあります。これらのデータソースからデータを取得し、Grafanaに取り込んで可視化することができます。

ダッシュボードの作成が容易であり、グラフやチャートなどの要素を簡単に配置することができます。また、データソースに応じて、特定のグラフやチャートを作成するための専用のツールも提供されています。例えば、Prometheusデータソースの場合、GrafanaはPromQLと呼ばれるクエリ言語を使用して、データを取得し、表示することができます。

アラート機能を備えており、異常値が検知された場合には、設定した条件に従って、電子メールやSlackなどの通知を送信することができます。アラートは、Grafanaのダッシュボードに直接表示されるため、問題を素早く特定することができます。

また、多言語対応であり、多数のプラグインが提供されているため、機能を拡張することも可能です。Grafanaは、大規模なデータセットを扱うことができ、高度なデータ分析や可視化を実現することができます。

コミュニティが存在し、多数のプラグインが提供されており、機能を拡張することも可能です。

おわりに

今日は、dockerで構築した開発環境にPrometheusとGrafanaを追加する方法をご紹介しました。次回以降、各サービスを監視できるようにしたいと思います。

今回使用したファイルは下記のGitHubにタグ付けしています。

よっしー
よっしー

また明日お会いしましょう!

コメント

タイトルとURLをコピーしました