Ubuntu ServerにGrafana環境を構築してみた

モニターでいつでもメトリックスが見れる環境を構築するのが夢。めぐみそです。

そんな夢に一歩でも近づくため、今回はグラフ表示ツールであるGrafanaを構築していきます。

VM作成

まずは環境を構築するための仮想マシンを作成していきます。

今回はProxmox上でLXCを使用して構築します。

性能はこのような感じ。
CPU: 1コア, メモリ512MB、ストレージは8GB、OSはUbuntu Server 20.04としています。
最小構成ですが、足りなければ増やすということで。

Grafanaインストール

ここからはコマンドでGrafanaをインストールしていきます。

基本的には公式ドキュメントに沿ってインストールします。


その前にまずはパッケージを更新しましょう。

sudo apt-get update && sudo apt-get upgrade

これでOSが一通り最新になります。


今回はEnterprise Editionを導入します。エンタープライズと書いてありますが、無料のようなのでこちらがおすすめです。

上から順番に以下のコマンドを実行していきます。

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana-enterprise

これでインストールは完了です。

Grafana起動

ここからはGrafanaを起動していきます。ついでにサーバー起動時に自動で起動するようにします。

sudo systemctl daemon-reload
sudo systemctl start grafana-server

このコマンドでGrafanaのサーバーが起動します。

ここまででエラーが出ていなければ、以下のコマンドで自動起動するように設定します。

sudo systemctl enable grafana-server.service

Grafanaの初期設定

ここからは初期設定をしていきます。

ブラウザで「http://<IPアドレス>:3000」を開いてログイン画面を開きます。

初期ユーザー名とパスワードは、どちらも「admin」なので、これでログインします。


ログインするとすぐに新しいパスワードを設定する画面になるので、新しいパスワードを2回入力してSubmitします。


その後、このようにダッシュボードの画面になります。

まだ何も設定してないので、これ以外のものは表示されません。

データの追加

Grafanaにデータを表示させるため、今回はNASサーバーの空き容量を確認してみます。

PrometheusのNode-ExporterをNASサーバーに追加します。
Prometheusに関しては、別記事で掲載するので、導入方法などはそちらで説明をします。

データソースの追加

データを表示させるには、どこからデータを取得するかを設定しなければいけません。

まずは設定から、「Add data source」を選択します。


Prometheusのところで「Select」を選択します。


URLにPrometheusのURLを入力します。

入力後、画面下にある「Save & Test」で保存します。
同時に接続できるかテストされるので、成功すると接続に成功したメッセージが表示されます。

これでデータソースの追加は完了です。

データの追加

データを見えるようにするため、まずはダッシュボードを作成します。

サイドバーの「+」から、「Dashboard」を選択します。


ダッシュボードの新規作成画面になりました。データを追加するためには、「Add an empty panel」を選択します。


データの追加はこのような画面になります。

基本的には赤枠で囲まれている部分を編集するとデータの指定ができるようになります。
上の赤枠には、先ほど指定したデータソースを選択します。
下の赤枠には、取得するデータを指定します。

今回はこのように指定しました。

node_filesystem_avail_bytesは、ストレージの空き容量を表示してくれます。
初期状態では、全てのストレージが表示されてしまうので、「devices=」を指定して、RAIDされているストレージの容量が表示されるようにしています。
また、空き容量はバイト単位で表示されてしまうので、1024で3回割ることにより、GB単位で表示できるようにしています。

正常に表示されたら、右上に表示されている「Apply」を選択して追加します。


追加すると、このようにダッシュボードに表示されるようになります。


追加し終わったら、右上のフロッピーディスクを選択してダッシュボードを保存します。


追加したダッシュボードは、サイドバーの「Dashboards」→「Manage」から確認できます。

まとめ

今回はGrafana環境の構築をしてみました。

ほぼ自分用のメモみたいなものなので、比較的薄い内容になってしまいましたが、Prometheusからは他にもたくさんデータの取得ができたり、データベースに対してクエリを送信して、結果を表示させることもできたりするので、設定次第でなんでも表示できちゃいます。

できることが多すぎて全てまとめてるサイトは公式以外ないんじゃないかなと思います。
気になる方は、GrafanaとPrometheusの公式サイトを確認すると良いかもしれません。