グラフ表示データの可視化のgrafanaをインストールします。
InfluxDBとGrafanaは相性が良いみたいなのでGrafanaをインストールしデータを可視化します。
GrafanaのインストールとInfluxDBとの連携
インストールの流れとしては
の順番です。grafanaのデフォルトのポートが3000なので他のアプリと被ることがるため、ポートの変更をします。
また、デーモン化、他に必要なパッケージがあるのでダウンロードする必要があります。
他には必要な作業は
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ファイルを修正しポートを変更します。
vi /usr/share/grafana/conf/defaults.ini
http_port = 3002
起動コマンドは普通にstartで起動できます。
systemctl start grafana-server
デーモン化するのは次のコマンドで良いのだが、エラーが発生してします。
原因はパッケージが不足しているからであった。
chkconfigを追加すると実行することができます。
sudo dnf install chkconfig -y
systemctl enable grafana-server
これでポートの変更、起動とデーモン化ができました。
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のプロキシを使用します。
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;
}
}
正常に動作した場合ログインページが表示されます。
ID:admin
PW:admin
Influxdbと連結して、可視化できるようダッシュボードを作成します。 influxdbにデータがない場合は公式のサンプルデータを入れてください。
連携するために必要なInfluxdbの情報は
influxdbと連結していきます。
ここでInfluxdbの情報を入力します。Save&Testが成功すればOKです。
次のデータを取得するコードを入力すればいいのだが、コードはInfluxdbからコピペすれば良い。
grafanaでデータ表示はInfluxdbのコードをコピペするのが一番簡単で確実なため、influxdbをブラウザーで開きます。 データがあるので、選択して、submitでデータを表示させます。
データを表示期間を適切出ないとデータが何も表示されません。
データが表示されることを確認した後は、右のquery builderをクリックしコードを表示します。
それではコピーしたコードをGrafanaにペーストします。
InfluxdbとGrafanaの連携ができました。詰まった部分はnginxのヘッダー情報追記と、デーモン化のため、chkconfigのパッケージインストールです。
Grafanaを使ってみた感想ですが、グラフのタイプを混ぜて使用する(例:円グラフと縦グラフを両方表示させる)ことが出来なさそうなので、複数のパネルを作成しなければならないようです。
grafanaのいいところ色々なサービスとの連携が楽なのと、アラート設定できる所です。line notifyやSlackWebhook等で通知すれば便利です。FXやcrypto情報を突っ込んでおけば、自分専用のツールが完成します。アラート設定の計算式をもっと分かりやすくできればいいのですが、複雑な比較は出来なさそうなのが残念に思います。
質問や、間違いがありましたら、お気軽にどうぞ
※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください