Hero img
Grafanaをインストール

REDHAT系AlmaLinuxにGrafanaをインストールします。

グラフ表示データの可視化のgrafanaをインストールします。


目次

  • Grafanaをインストールする
  • 目標
  • 環境
  • インストール
  • 他の作業
  • ダウンロード
  • インストール
  • 設定の変更
  • grafanaの起動
  • デーモン化
  • nginxとプロキシ
  • grafanaにログイン
  • Influxdbと接続
  • grafanaダッシュボード作成
  • Influxdbでデータを表示する
  • grafanaにペースト
  • まとめ

Grafanaをインストールする

InfluxDBとGrafanaは相性が良いみたいなのでGrafanaをインストールしデータを可視化します。

目標

GrafanaのインストールとInfluxDBとの連携

環境

  • Almalinux 9
  • grafana 11.2.0

インストール

インストールの流れとしては

  1. 1.リポジトリ追加
  2. 2.dnfコマンドインストール
  3. 3.設定ファイル変更
  4. 4.起動
  5. 5.永続化(デーモン)

の順番です。grafanaのデフォルトのポートが3000なので他のアプリと被ることがるため、ポートの変更をします。
また、デーモン化、他に必要なパッケージがあるのでダウンロードする必要があります。

他の作業

他には必要な作業は

  1. 1.nginxの設定
  2. 2.Influxdbと連携

nginxを使わずポート解放して使うのが楽かもしれないですが、せっかくならドメインでアクセスできるようにします。

ダウンロード

リポジトリを追加しダウンロードします。

cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

インストール

sudo dnf install grafana -y

設定の変更

デフォルトのポートは3000となっている。iniファイルを修正しポートを変更します。

/usr/share/grafana/conf/defaults.ini
vi /usr/share/grafana/conf/defaults.ini
http_port = 3002

grafanaの起動

起動コマンドは普通にstartで起動できます。

systemctl start grafana-server

デーモン化

デーモン化するのは次のコマンドで良いのだが、エラーが発生してします。
原因はパッケージが不足しているからであった。 chkconfigを追加すると実行することができます。

chkconfigのインストール
sudo dnf install chkconfig -y
デーモン化
systemctl enable grafana-server

これでポートの変更、起動とデーモン化ができました。

nginxとプロキシ

web serverのnginxを使用し、grafanaのページにアクセスします。 ドメインでアクセスするヘッダー情報を入れてあげないとエラー画面が表示されます。以下の設定でアクセスができたのでそのまま載せます。

プロキシのヘッダー設定を適切に行わないと次のような文字が表示される

If you're seeing this Grafana has failed to load its application files


1. This could be caused by your reverse proxy settings.

2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not using a reverse proxy make sure to set serve_from_sub_path to true.

3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn build

4. Sometimes restarting grafana-server can help

5. Check if you are using a non-supported browser. For more information, refer to the list of [supported browsers](https://grafana.com/docs/grafana/latest/installation/requirements/#supported-web-browsers).

ドメインでアクセスする場合nginxのプロキシを使用します。

nginx.conf
server {
    server_name  grafana用ドメイン名;
    location / {
    proxy_pass http://127.0.0.1:3002;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
    proxy_read_timeout 90;
    }
}

grafanaにログイン

正常に動作した場合ログインページが表示されます。

grafana-login
初期パスワード
ID:admin
PW:admin

Influxdbと接続

Influxdbと連結して、可視化できるようダッシュボードを作成します。 influxdbにデータがない場合は公式のサンプルデータを入れてください。

連携するために必要なInfluxdbの情報は

  • 接続先(localhost:8086)
  • ユーザーID,パスワード
  • 組織名
  • バケット名
  • トークン

grafanaダッシュボード作成

influxdbと連結していきます。

  1. ダッシュボード作成
grafana-setting1 grafana-setting2
  1. influxdb接続
grafana-setting3 grafana-setting4

ここでInfluxdbの情報を入力します。Save&Testが成功すればOKです。

grafana-setting5

次のデータを取得するコードを入力すればいいのだが、コードはInfluxdbからコピペすれば良い。

Influxdbでデータを表示する

grafanaでデータ表示はInfluxdbのコードをコピペするのが一番簡単で確実なため、influxdbをブラウザーで開きます。 データがあるので、選択して、submitでデータを表示させます。

grafana-influxdb-ui1

グラフが表示されない

データを表示期間を適切出ないとデータが何も表示されません。

データが表示されることを確認した後は、右のquery builderをクリックしコードを表示します。

grafana-influxdb-ui2

grafanaにペースト

それではコピーしたコードをGrafanaにペーストします。

grafana-viewdata

まとめ

InfluxdbとGrafanaの連携ができました。詰まった部分はnginxのヘッダー情報追記と、デーモン化のため、chkconfigのパッケージインストールです。
Grafanaを使ってみた感想ですが、グラフのタイプを混ぜて使用する(例:円グラフと縦グラフを両方表示させる)ことが出来なさそうなので、複数のパネルを作成しなければならないようです。
grafanaのいいところ色々なサービスとの連携が楽なのと、アラート設定できる所です。line notifyやSlackWebhook等で通知すれば便利です。FXやcrypto情報を突っ込んでおけば、自分専用のツールが完成します。アラート設定の計算式をもっと分かりやすくできればいいのですが、複雑な比較は出来なさそうなのが残念に思います。

関連記事

コメント

コメントを書く

質問や、間違いがありましたら、お気軽にどうぞ

※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください