LoginSignup
1

More than 3 years have passed since last update.

Model Driven Telemetry環境を構築してみた -後編-

Last updated at Posted at 2019-08-17

はじめに

前編では、ルータのTelemetryデータをInfluxDB上に格納するところまで行いました。
Model Driven Telemetry環境を構築してみた -前編-

後編では、Grafanaによるデータの可視化を行っていきます。

1. Grafanaのセットアップ

(1) Grafanaのインストール

参考URL: Install Grafana and InfluxDB on CentOS 7

インストールの前に、grafana.repoファイルに設定を追加します。

$ 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

続いて、yumレポジトリからインストールを行います。

$ sudo yum -y install grafana

Firewallが有効化されている場合は、TCP3000を許可の上サービスを再起動します。
(AWSの場合、セキュリティグループでTCP3000を許可)

$ sudo firewall-cmd --add-port=3000/tcp --permanent
$ sudo firewall-cmd --reload

サービスのスタートを行います。再起動時、自動的に起動するようenableも行います。

$ sudo systemctl start grafana-server
$ sudo systemctl enable grafana-server

(2) Grafanaへのログイン

参考URL: How to Install TIG Stack (Telegraf, InfluxDB, and Grafana) on Ubuntu 18.04 LTS - Step7

Webブラウザからhttp://<サーバのIPアドレス>:3000へアクセスします。初回ログイン時のユーザ名とパスワードはいずれもadminです。
無題0817_5.png

パスワード変更を求められるので、任意のものに変更し、Saveボタンをクリックします。
無題0817_6.png

(3) Grafanaへのデータソースの追加

「Add data source」をクリックし、InfluxDBのデータソースを追加します。
無題0817_7.png

Time series databasesの「InfluxDB」をSelectします。
無題0817_24.png

以下の画面で、URLとDatabaseを指定します。(必要に応じてUserとPasswordも指定。)

無題0816-1.png
無題0816-3.png

設定後、「Save & Test」ボタンをクリックし、「Data source is working」と表示されたら成功です。

(4) Grafanaのダッシュボードセットアップ

設定例1: メモリ使用量

①Query設定

Home画面に戻り、「New dashboard」をクリックした後、「Add Query」をクリックします。
無題0817_25.png

下の図の通り、メモリ使用量とメモリ合計量の2つのQueryを作成します。
デフォルトはGUIで入力する形ですが、まずはToggle text edit mode(右側の鉛筆マーク)をクリックし、以下のクエリを直接入力してみます。

-- QueryA: メモリ使用量を取得  
SELECT "used_memory" FROM "Cisco-IOS-XE-memory-oper:memory-statistics/memory-statistic" WHERE "total_memory" >= 5000000

-- QueryB: メモリ容量を取得  
SELECT "total_memory" FROM "Cisco-IOS-XE-memory-oper:memory-statistics/memory-statistic" WHERE "total_memory" >= 5000000

いずれもWHERE句で"total_memory" >= 5000000を指定しています。前編の「3.(6) Telegrafの起動、DB検索」を見て頂くと分かる通り、同時刻に2種類のデータが取得されており、total_memoryが小さい方(3149400)をグラフ表示から除外するための設定です。
「ALIAS BY」を指定することで、グラフに表示されるパラメータの名称を指定できます。今回はそれぞれ「used_memory」、「total_memory」としています。
無題0817_10.png

②Visualization設定

画面左側の「Visualization」をクリックし、「Axes > Left Y > Unit」でY軸の単位を「bytes」にします。
また、「Legend > Values」の「Max」と「Current」を有効化し、グラフ内に過去の最大値と現状の値が表示されるようにします。
無題0817_11.png

③General設定

画面左側の「General」をクリックし、Titleを「Memory」とします。
無題0817_12.png

左上の「Go Back」ボタンをクリックすると、作成したダッシュボードが表示されていると思います。
無題0817_13.png

設定例2: CPU使用量

①Query設定

続いて、CPU使用量のパネルを追加します。画面右上の「Add panel」(グラフのマーク)をクリックします。
無題0817_14.png

「Add Query」をクリックし、以下のクエリを入力します。

-- QueryA: CPU使用率を取得  
SELECT "five_seconds" FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"

「ALIAS BY」は「util_five_seconds」としています。
無題0817_15.png

②Visualization設定

「Axes > Left Y > Unit」でY軸の単位を「percent(0-100)」にします。
また、「Legend > Values」の「Max」と「Current」を有効化し、グラフ内に過去の最大値と現状の値が表示されるようにします。
無題0817_16.png

③General設定

画面左側の「General」をクリックし、Titleを「CPU」とします。
無題0817_17.png

設定例3: インターフェースのステータス、カウンター情報

参考URL: GrafanaとInfluxDBでネットワークリソースの視覚化

①Query設定

最後に、インターフェースのカウンター情報を表示します。例として、in方向のバイトカウント(in_octets)とout方向のバイトカウント(out_octets)を表示させてみます。今回はデフォルトのGUIをそのまま使いました。
カウンターは累計値のため、直前の値との差分を取る必要があります。そのため、SELECTで「non_negative_derivative(10s)関数」を使用し、直前の10秒前の値との差分を算出しています。値を1秒単位に変換し、さらに単位をバイトからビットに変換するため、「math(*8/10)関数」も使用しています。GROUP BYでは「fill(none)」を選択します。
無題0817_19.png

②Visualization設定

「Axes > Left Y > Unit」でY軸の単位を「bits/sec」にします。
また、「Legend > Values」の「Max」と「Current」を有効化し、グラフ内に過去の最大値と現状の値が表示されるようにします。
無題0817_20.png

③General設定

画面左側の「General」をクリックし、Titleを「Bandwidth」とします。
無題0817_21.png

同様に、in方向のパケットカウント(in_unicast_pkts)とout方向のパケットカウント(out_unicast_pkts)でパネル「Packet Count」、in方向のエラーパケットカウント(in_errors)とout方向のエラーパケットカウント(out_errors)でパネル「Error Count」を作成し、各パネルの配置を調整したのが下の図です。
無題0817_22.png

設定が終わったら、画面右上の「Save dashboard」ボタンでダッシュボードを保存します。

終わりに

今回は最低限の時系列グラフ表示のみを行いましたが、バー、テーブル等様々な表示形式にも対応しています。加えて、アラームを上げたり、Templateを使って効率的にダッシュボード作成ができたりするようです。
まだ使い始めたばかりなので、今後色々とカスタマイズしてみたいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1