メインコンテンツへスキップ

InfluxDBとGrafanaを使って、Gethを監視する

クライアントGethノード
中級
✍️Mario Havel
📆2021年1月13日
⏱️9 分の読書

このチュートリアルでは、Geth ノードのモニタリングを設定する方法について説明します。これにより、モニタリングのパフォーマンスについて理解を深め、どのような問題が発生しうるかを理解することができます。

事前に必要な環境

モニタリング用のスタック

イーサリアムのクライアントは、時系列データベースの形式で読み取り可能な多くのデータを収集します。 このデータをデータ可視化ソフトウェアにフィードすることで、モニタリング作業を容易にすることができます。 利用できるデータ可視化ソフトウェアには、以下があります:

さらに、Geth Prometheus Exporter(opens in a new tab)がありますが、これは InfluxDB および Grafana 上ですでに設定済みのオプションです。 Docker ならびに RPi 4 向けのEthbian OS(opens in a new tab)を使用すれば、簡単に設定することができます。

このチュートリアルでは、InfluxDB にデータをプッシュするように Geth クライアントを設定し、さらに、Grafana がこのデータをグラフ化するように設定します。 この設定を手動で行うことで、設定プロセスについての理解を深めることができ、設定を変更したり、異なる環境でデプロイする方法を学ぶことができます。

InfluxDB を設定する

まず、InfluxDB をダウンロードしてインストールします。 Influxdata のリリースページ(opens in a new tab)では、さまざまなダウンロードのオプションが提供されています。 あなたの環境に合わせて選択してください。 また、リポジトリ(opens in a new tab)からインストールすることもできます。 例えば、Debian ベースのディストリビューションの場合、以下のように実行します:

1curl -tlsv1.3 --proto =https -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
2source /etc/lsb-release
3echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
4sudo apt update
5sudo apt install influxdb -y
6sudo systemctl enable influxdb
7sudo systemctl start influxdb
8sudo apt install influxdb-client
9

InfluxDB を正常にインストールしたら、バックグラウンドで実行されていることを確認してください。 デフォルトでは、localhost:8086からアクセス可能です。 influxクライアントを使用する前に、管理者権限を持つ新規ユーザーを作成する必要があります。 管理者ユーザーは、データベースおよびユーザーを作成し、高レベルの管理を行うユーザーです。

1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"
2

管理者ユーザーを作成すると、Influx クライアントから、InfluxDB シェル(opens in a new tab)にアクセスできるようになります。

1influx -username 'username' -password 'password'
2

このシェルから InfluxDB と直接やりとりを行うことで、データベースとユーザーを作成し、Geth のモニタリング指標を取得することができます。

1create database geth
2create user geth with password choosepassword
3

作成したデータベース/ユーザーを、以下で確認します:

1show databases
2show users
3

InfluxDB シェルを終了します。

1exit
2

InfluxDB はバックグラウンドで実行しており、Geth から送信される数値を保存するように設定されています。

Geth 側の設定

データベースを設定したら、Geth 上でのデータ収集を有効化する必要があります。 geth-help のgeth --helpMETRICS AND STATS OPTIONSを確認してください。 複数のオプションが提供されていますが、ここでは、Geth が InfluxDB にデータをプッシュするように設定する必要があります。 基本的な設定では、InfluxDB がリーチ可能なエンドポイントと、当該データベースに対する認証について設定します。

1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"
2

このフラグは、クライアントを起動するコマンドに追加するか、設定ファイル上で保存することが可能です。

データベースに含まれる数値をリストアップするなどの方法で、Geth が実際にデータをプッシュしているかどうかを確認できます。 InfluxDB のシェルで、以下を入力してください:

1use geth
2show measurements
3

Grafana を設定する

次に、データをグラフィック表示するために Grafana をインストールします。 Grafana のドキュメンテーションを参照して、お使いの環境におけるインストール作業を実行してください。 特別な理由がない限り、OSS バージョンをインストールしてください。 レポジトリを利用して Debian のディストリビューションをインストールするステップは、以下の通りです:

1curl -tlsv1.3 --proto =https -sL https://packages.grafana.com/gpg.key | sudo apt-key add -
2echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
3sudo apt update
4sudo apt install grafana
5sudo systemctl enable grafana-server
6sudo systemctl start grafana-server
7

Grafana が実行されている場合、localhost:3000でアクセスできるはずです。 お好みのブラウザからこのパスにアクセスして、デフォルトの認証情報(ユーザー:admin、パスワード:admin)でログインします。 プロンプトが表示されたら、デフォルトのパスワードを変更して保存してください。

grafana1 (opens in a new tab)

Grafana のホームページに転送されます。 まず、ソースデータを設定します。 左のバーにある Configuration アイコンをクリックし、「Data sources」を選択します。

grafana2 (opens in a new tab)

データソースを作成していないので、「Add data source」をクリックしてデータソースを定義します。

grafana3 (opens in a new tab)

今回の設定では、「InfluxDB」を選択して、次に進みます。

grafana4 (opens in a new tab)

同一のマシンでツールを実行している場合、データソースの設定は非常に簡単です。 データベースにアクセスするには、InfluxDB のアドレスと詳細を設定する必要があります。 以下の画像を参照してください。

grafana5 (opens in a new tab)

設定が完了し、InfluxDB がアクセス可能になったら、「Save and test」をクリックして、確認のポップアップ画面が表示されるまで待ってください。

grafana6 (opens in a new tab)

Grafana の設定が完了し、InfluxDB のデータを読み込めるようになりました。 次に、データを分析して表示するダッシュボードを作成します。 ダッシュボードの属性は JSON ファイルでエンコードされますので、誰でも簡単に作成し、インポートすることが可能です。 左のバーで、「Create and Import」をクリックしてください。

grafana7 (opens in a new tab)

Geth のモニタリング用ダッシュボードの場合、このダッシュボード(opens in a new tab)の ID をコピーして、Grafana の「Import page」にペーストしてください。 ダッシュボードを保存すると、以下のような状態になっているはずです:

grafana8 (opens in a new tab)

ダッシュボードの表示は変更可能です。 各パネルは、編集、移動、削除、追加が可能です。 各自の好みに合わせて、ダッシュボードの設定を変更してください。 あなた次第です! ダッシュボードの詳細な仕組みについては、 Grafana のドキュメンテーション(opens in a new tab)を参照してください。 また、アラート機能(opens in a new tab)も参照するとよいでしょう。 これは、各指標において一定の値に達した場合、アラート通知を受け取るように設定するものです。 アラート通知は、様々な通信チャネルに対応しています。

最終編集者: , Invalid DateTime

このページは役に立ちましたか?