見出し画像

Ubuntu Server 24.04 LTS 運用監視、ロケットプールイーサリアムステーキング、データ可視化ツールGrafana


ロケットプールサーバーの状態を可視化

イーサリアムのステーキングは停止するとペナルティが課せられるのでサーバー停止の状態は極力避けたい。そのためにも日頃から状態を監視する必要がある。
監視するツールはいくつかあるがクライアントインストール時にメトリクスをオンにしたのでGrafanaという人気のあるデータ可視化ツールを利用してサーバーの状態を調査する。

メトリクスのセットアップ

ロケットプールはGrafanaをすぐに利用できるようになっており、Dockerで運用するサーバでは非常に簡単に利用できる。
もしメトリクスを有効にしていなければ下記のコマンドでメトリクスを有効にする。

$ rocketpool service config

有効化によって、データ収集、保存レポート作成システムのPrometheus、Prometheusに情報を報告するNode Exprter、Grafanaがインストールされる。
メトリクスが有効化されているなら以下のコマンドでアップデートトラッカーをインストールする。これにはスーパーユーザー権限が必要なので途中でsudoコマンドが発行される。

$ rocketpool service install-update-tracker
This will add the ability to display any available Operating System updates or new Rocket Pool versions on the metrics dashboard. Are you sure you want to install the update tracker? [y/n]
y

Step 1 of 3: Installing dependencies...
[sudo] ユーザーパスワードの入力
Step 2 of 3: Downloading Rocket Pool update tracker package files...
Step 3 of 3: Installing update tracker...

The Rocket Pool update tracker service was successfully installed!

NOTE:
Please restart the Smartnode stack to enable update tracking on the metrics dashboard.

インストールが終了したらをNode Exporterを再起動する。

$ docker restart rocketpool_exporter

監視用の接続ポートクライアント間でアクセスできるようにする

Prometheus,NodeExporterが監視し情報を収集できるようにクライアントと接続できるようにファイヤーウォールを構成する。
これにはDockerで利用してるIPアドレスを調べる必要がある。

$ docker inspect rocketpool_monitor-net | grep -Po "(?<=\"Subnet\": \")[0-9./]+"
172.23.0.0/16

このように172.23.0.0/16のIPアドレス・マスク値を利用していることがわかるので、そのIPアドレスをソースとして情報収集用ポート9105,9100,9103へのアクセスを許可する。

$ sudo ufw allow from 172.23.0.0/16 to any port 9105 comment "Allow Prometheus access to Execution Client"
$ sudo ufw allow from 172.23.0.0/16 to any port 9100 comment "Allow Prometheus access to Consensus Client"
$ sudo ufw allow from 172.23.0.0/16 to any port 9103 comment "Allow Prometheus access to Exporter"

Grafanaダッシュボードへのアクセス

ローカルからデータ可視化ツールGrafanaへアクセス出来るようにファイヤーウォールを再構成する。


$ sudo ufw allow from 192.168.1.0/24 proto tcp to any port 3100 comment 'Allow grafana from local network'

以上でメトリックサーバーの準備は終了である。

Grafanaのセットアップ

インターネットブラウザからGrafanaにアクセスする。

http://<your node IP>:<grafana port>

当方の環境では
http://192.168.1.33:3100 もしくは http://sv00:3100でアクセスできる。

Grafanaログイン

初期ユーザー名はadmin , パスワードはadminでログインできる。
ログイン後は初期パスワードを変えるほうが良いだろう。


左メニュー

初期設定はまず左のメニューから[Dashboards]を選ぶ。
続いて右側の[New]よりimportを選ぶ。

Newのプルダウンメニュー

続いて下部のテキストスペースにhttps://grafana.com/grafana/dashboards/21047 を入力し、[Load]ボタンを押下すると読み込まれる。
続いて下部からPrometheusを選択し[import]を押下すると完了である。

プルダウンメニューよりPrometheusを選択

Grafana表示

Grafana

情報量としては多いのだがゴチャゴチャとして見づらい。
SSDやネットワークはデバイス名を入れると表示できたがCPUの温度は色々試してみたがよくわからず表示できていない。もう少し研究して表示できるようにしよう。

感想

監視用ツールをセットアップしたが正直なところ不要かなと感じた。
ずっとモニタリングするわけでもなく、そのために多少なりともCPUやメモリ、ストレージに負荷がかかる。
これなら、beaconcha.in で監視しつつサーバー自体は htopで良いかなと思った。しかしせっかく入れたのでしばらく様子を見て不要と思ったら(多分思う)メトリクスを無効にする。


いいなと思ったら応援しよう!