prometheusでリソース取れるようになったのでGrafanaでいい感じに可視化してみます。
リポジトリからもインストールできるようなのですが、ここを参考にパッケージをインストールしました。
(最初に発見したのがここだったので)
cloud利用などもできるようですが初めてなのでローカル環境へインストールします。
前提パッケージインストール
サイトに倣ってインストールします。
まずは前提となる依存パッケージのインストール。
masashi@lab-monitor1:~$ sudo apt-get install -y adduser libfontconfig1 ... adduser is already the newest version (3.118ubuntu5). adduser set to manually installed. libfontconfig1 is already the newest version (2.13.1-4.2ubuntu5). libfontconfig1 set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
Ubuntuサーバの標準インストールだと最初から入ってるみたい。
パッケージインストール
本体のパッケージをダウンロード。
masashi@lab-monitor1:~$ wget https://dl.grafana.com/oss/release/grafana_9.5.2_amd64.deb
そのままdpkgでインストールします。
masashi@lab-monitor1:~$ sudo dpkg -i grafana_9.5.2_amd64.deb Selecting previously unselected package grafana. (Reading database ... 129376 files and directories currently installed.) Preparing to unpack grafana_9.5.2_amd64.deb ... ... ### 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
開始等々のコマンドも出力されました。
スタートしてみます。
masashi@lab-monitor1:~$ sudo /bin/systemctl start grafana-server masashi@lab-monitor1:~$ ps aux | grep gra root 15 0.0 0.0 0 0 ? S May21 0:03 [migration/0] root 21 0.0 0.0 0 0 ? S May21 0:07 [migration/1] root 715 0.0 0.3 109748 3868 ? Ssl May21 0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal grafana 38399 45.0 12.3 1402644 122816 ? Ssl 06:31 0:03 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning masashi 38409 0.0 0.2 6608 2172 pts/1 S+ 06:31 0:00 grep --color=auto gra
プロセスも上がりましたね。
masashi@lab-monitor1:~$ ss -lt State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 4096 127.0.0.53%lo:domain 0.0.0.0:* LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* LISTEN 0 4096 *:3000 *:* LISTEN 0 4096 *:9116 *:* LISTEN 0 4096 *:9090 *:* LISTEN 0 128 [::]:ssh [::]:*
アクセス用にポート調べませんでしたがListenの状態見ると3000番っぽいですね。
アクセス
無事にアクセス完了。画面が見えました。
パスワード登録してログイン
とりあえずデフォルトのadminユーザで入るとパスワード変更を促されます。
変更後、ログイン初期画面はこんな感じ。
(初回のスクショがとれていなかったので後付けの。いくつかcompleteになってます)
セットアップしていきます。
prometheusの監視対象がまだpfSenseしかいないのでまずはこの子用にセットアップします。
Data source
まずは取得対象のデータを選択します。
prometheusのフォーマット的があるのでこちらを選択。
とりあえずURLのみprometheusのものを設定しました。
Dashboard
ここで監視するデータのパネルを作っていきます。
prometheusと同じクエリが使えるので同じようにグラフ化できます。
意外と難しくないね。
最初のダッシュボードでCPU使用率を取得してみました。
グラフの下のペインにクエリを書く欄があります。
ダークな配色なのでprometheusと対照的なのもありかっこいいですね。
同じようにメモリ、In/Outインターフェースの使用率(量)を作成し、並べてみました。
これだけでもなかなかおしゃれに見えます。
桁合わせと判例を消してシンプルにするといい感じ。
職場で見るやつじゃん!
まとめ
Grafana等今どきの可視化ツールを使うのは初めてだったのですが、データ取得の構文はprometheusのものなので思った以上に簡単にデータ連携ができてしまいました。
デザイン等もカスタマイズ項目が多くてもっとオシャレにできそう。
取得データのクエリとか紹介しそびれましたが、コンテナ監視のタスクも残っていますので全部そろった後に改めて整理して紹介したいと思います。
次はDockerホストのデータ取得をしてみます。