Alpine Linux仮想マシンにPrometheusとGrafanaで作る自前監視環境

公開

Netdata.Cloudの不穏な無料プラン改変に端を発して、Alpine Linux 仮想マシンをベースに Prometheus と Grafana で、自前の監視環境を構築しました。

始まりはNetdata無償プランの改変

監視系は簡単に導入できるNetdataを採用(関連記事はこちら)してきましたが、2024年初めにプラン構成の見直しのお知らせと共に、有償のBusinessプランの2ヶ月トライアルへ移行されてしまいました。

図01.Business版トライアルへ移行

図01.Business版トライアルへ移行

現時点のプラン構成を確認すると、無料のCommunityプランは存続も、ノード数が最大5つまでという制限が課せられていました。

図02.Netdataプラン 2024年

図02.Netdataプラン 2024年

そこでちょっといじわるに、Netdataを使い始めた2023年当時のプラン構成をインターネット・アーカイブで確認すると、当時はノード数制限は存在せず。

ネットサービスではありがちの雲行きの怪しさを感じ、かねてより気にはなっていたPrometheusGrafanaによる監視環境を自前で構築しようと思います。

 

Alpine Linux仮想マシンの概要

ネットで散見されるのはdockerでの構築例が多い中、今回はVMware ESXi 8.0ハイパーバイザ上に立てた、次のAlpine Linux仮想マシンへ構築します。

図03.Alpine Linux VM構成

図03.Alpine Linux VM構成



仮想マシンの構築手順は、以前Unboundサーバを立てた時と全く同じなので、詳細はそちらを参照

Prometheusの導入

初期設定で既にレポジトリをEdgeへ振り向けた上で、apkパッケージマネージャから現行のPrometheusパッケージと、そのメトリクス収集汎用エージェントをインストール。

各パッケージのOpenRCサービスパッケージもインストールされる

インストール完了後、追加されたOpenRCサービスは次の2つ。

  • /etc/init.d/prometheus
  • /etc/init.d/node-exporter

それぞれサービスを開始と、システム開始と共に自動起動するよう登録します。

OpenRCのサービス状態一覧は、

自動起動設定の一覧は次の通り。

普段、systemdに慣れているとOpenRCとの差異に悩まされるところ、gentoo linux wikiで見つけたのこちらのチートシートがとても参考になりました。

 

ともあれ、こうしてブラウザからPrometheusのWebUI(9090番ポート)を開けるようになりました。

図04.Prometheus WebUI

図04.Prometheus WebUI

Node-exporterへは、9100番ポートでアクセス可能です。

図05.Node-exporter metrics

図05.Node-exporter metrics

自身のNode-Exporterを読む

次に、Prometheusの設定ファイル /etc/prometheus/prometheus.ymlscarape_configs: 下にNode-exporter用のジョブを追加、自身のNode-exporterの情報 localhost:9100targets に記述して読み込むようにします。

Prometheusサービスを再起動して設定を反映させます。

Prometheus WebUIメニューの Status の中にある Targets で、自身のNode-exporterが追加されているのを確認。

図06.Prometheusターゲット一覧

図06.Prometheusターゲット一覧

バックエンドが最低限整ったところで、次ページではフロントエンドにGrafanaを導入します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA