「Prometheusインストール」にて、Prometheusのデータベースにサーバー負荷情報を格納する環境ができましたので、これを Grafanaで実運用に耐える形でグラフ化してみましょう。
本家サイトはこちら
Grafana Labs
Grafanaは様々なデータソースからデータを引っ張ってきて、ダッシュボード上に綺麗なグラフやその他で表示をしてくれるWEBベースのサーバープログラムです。
アカウント体系も持っていて、ユーザー毎に個々のダッシュボードを作って、ネットワーク上からそれを他のユーザーに閲覧させたりすることができます。
それでは早速インストールしてみましょう。
環境は Ubuntu Server 22.04です。
ダウンロードとインストールの仕方はこちら。
このリンク先で、Linux の OSSのエディションが対象になっています。
2022年6月22日は丁度 9.0.1がリリースされた日のようです。
Download Grafana
手順の最初に「libfontconfig1」というパッケージのインストールがあるので、これをやっておきます。
subro@UbuntuServer2204:~$ sudo apt-get install -y adduser libfontconfig1
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
adduser はすでに最新バージョン (3.118ubuntu5) です。
adduser は手動でインストールしたと設定されました。
libfontconfig1 はすでに最新バージョン (2.13.1-4.2ubuntu5) です。
libfontconfig1 は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
私の Ubuntu Server 22.04ではこのパッケージを既に入れてしまっていたのでこうなりましたが、このコマンド実行でインストールできるはずです。
手順に従ってパッケージファイルのダウンロードをします。
subro@UbuntuServer2204:~$ wget https://dl.grafana.com/oss/release/grafana_9.0.1_amd64.deb
--2022-06-22 15:08:26-- https://dl.grafana.com/oss/release/grafana_9.0.1_amd64.deb
dl.grafana.com (dl.grafana.com) をDNSに問いあわせています... 2a04:4e42:87::729, 151.101.54.217
dl.grafana.com (dl.grafana.com)|2a04:4e42:87::729|:443 に接続しています... 失敗しました: 接続を拒否されました.
dl.grafana.com (dl.grafana.com)|151.101.54.217|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 80002082 (76M) [application/vnd.debian.binary-package]
‘grafana_9.0.1_amd64.deb’ に保存中
grafana_9.0.1_amd64.deb 100%[==========================================================================================================>] 76.30M 9.07MB/s in 9.2s
2022-06-22 15:08:36 (8.28 MB/s) - ‘grafana_9.0.1_amd64.deb’ へ保存完了 [80002082/80002082]
ダウンロードできました。
手順に従ってインストールします。
subro@UbuntuServer2204:~$ sudo dpkg -i grafana_9.0.1_amd64.deb
以前に未選択のパッケージ grafana を選択しています。
(データベースを読み込んでいます ... 現在 122420 個のファイルとディレクトリがインストールされています。)
grafana_9.0.1_amd64.deb を展開する準備をしています ...
grafana (9.0.1) を展開しています...
grafana (9.0.1) を設定しています ...
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
### You can start grafana-server by executing
sudo /bin/systemctl start grafana-server
インストールできました。
インストール時のメッセージにまだ起動していない旨が書いてあります。
どうせ再起動後も自動実行させたいのですし、systemctlによる自動起動の設定をしてから、OSを再起動してしまいます。
subro@UbuntuServer2204:~$ sudo /bin/systemctl enable grafana-server
Synchronizing state of grafana-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /lib/systemd/system/grafana-server.service.
subro@UbuntuServer2204:~$ sudo reboot
再起動したら Grafanaのサーバーが動いて 3000/tcpで待ち受けているので、WEBブラウザで以下にアクセスしてみます。
http://192.168.1.150:3000
こんな画面になりました。
初期ユーザーは「admin」パスワードも「admin」でLog inを押します。
[admin]ユーザーのパスワードを設定します。Submitを押します。
これが Grafanaの初期画面です。
WEBフロントの技術が駆使された今風のカッコイイデザインですね。
ここからは環境構築ではなく、Grafanaの使い方になります。
このサイトでの趣旨ではないので Prometheusとの連携程度にしますが、ここで触れるものはほんの一部で、Grafanaはかなりの高機能なツールだと捉えて問題ないかと思います。
実運用を想定して、一般ユーザーを作ります。
画面左下の[盾(?)マーク]のアイコンをクリックするとメニューが出ますので、[Users]を選択します。
New userを押します。
一通り入力し、Create userを押します。
subroユーザーができました。
subroユーザーの行をダブルクリックします。
[Organizations]にある[change role]をクリックします。
選択肢が出てきますので[Editor]を選択し、Saveを押します。
subroユーザーの作成ができました。
次に、Prometheusと連携できるようにします。
画面左下の[歯車マーク]のアイコンをクリックするとメニューが出ますので、[Data Sources]を選択します。
Add data sourceを押します。
[prometheus]をクリックします。
[HTTP]の[URL]に、PromehteusのURLを入力します。
Subro家では、このGrafanaが動いている Ubuntu Server 22.04で Prometheusを動かしていますので、「http://localhost:9090」としました。
他はそのままでSave & Testを押します。
上手く連携できると、テストが成功した旨のダイアログが出ます。
これで環境的なセッティングは完了なので、ログアウトします。
subroユーザーでログインし直します。
画面左上にある[田(?)マーク]をクリックするとメニューが出ますので、[+ New dashboard]を選択します。
Add a new panelを押します。
[Data Source]を[Prometheus]にします。
[Metric]の選択肢からグラフにしたいものを選択します。
ここでは Windows Server 2022の CPU負荷のグラフを作ります。
[windows_cpu_processor_performance]を選択しました。
こんな感じになりました。
画面右の[Panel Options]でグラフのタイトルなど付けます。
画面右上のSaveを押します。
画面右からこれがせり出してきます。
[Dashboard name]は任意でOKです。Saveを押します。
ダッシュボードができました。
WEBブラウザのウィンドウサイズを変えてもこのレイアウトが崩れません。
そういうデザインで作った事になりますね。
負荷の値の方は見たかったものとは別なもののようでしたが…
以上で Grafanaの使い方を終了します。
今回は Prometheusからのデータ取得の例となっていますが、データソースは色々なものがあります。
ただし美味しいデータソースは Enterprise Editionではないと使えなかった覚えがあります。
ダッシュボードの機能だけではなく、特定のデータを見ての通知機能もありますので、段々と監視システムの中核としての役割を持つことができるようになってきているように見えます。
まだ何も監視システムを導入していない環境であれば、無償でここまではできますから試してみるのも宜しいかと思います。