以前のブログで構築した環境をもとに、Armadillo-IoT G3のCPU使用率をInfluxDBに入れ、Grafanaで可視化してみました。
(環境の構築については下記ブログを参照ください。)
Armadillo-IoT G3:ダッシュボードツール「Grafana」と時系列DB「InfluxDB」の環境を構築してみた。
また、今回CPU・メモリの状態など取集し、InfluxDBに送る為に「telegraf」というGo言語で書かれていているエージェントを使用します。
telegrafとは
InfluxDB専用のGo言語で書かれた、オープンソースのエージェントで、InfluxDBに最適化されたデータの収集、格納が可能です。
プラグインアーキテクチャを採用しており、取得するメトリクスを追加したりカスタマイズすることが可能です。
全体のイメージ
[Armadillo-IoT G3]==[telegraf]==[InfluxDB]==[Grafana]
Armadillo-IoT G3のcpuの状態をtelegrafで監視して、時系列データベースInfluxDBにcpuの状態を送り、Grafanaで可視化する。
手順
1.telegrafのインストールと起動
下記コマンドを実行してInfluxDataリポジトリを追加します
# sudo apt-get update && sudo apt-get install apt-transport-https # wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - # source /etc/os-release # test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list # test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list # test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list # test $VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
インストールと実行
# apt-get update && sudo apt-get install telegraf # service telegraf start
2.確認
下記URLにアクセスし、Queryに「SHOW DATABASES」を入力してエンターを押し、
「telegraf」というデータベースが追加されていることを確認してください。
http://[ArmadilloのIPアドレス]:8083
3.設定
下記コマンドでtelegrafの設定ファイルを開きます。
vi /etc/telegraf/telegraf.conf
下記の箇所のコメントアウトを外してください。
[[inputs.influxdb]] urls = [ "http://localhost:8086/debug/vars" ] timeout = "5s"
設定を反映させます。
# sudo systemctl reload telegraf
4.Grafanaとの接続
「http://[ArmadilloのIPアドレス]:3000」にアクセスして、Add data sourceからInfluxDBを選択します。
下記の箇所を変更し、「Save&Test」を行い「Data source is working」の表示がされると成功です。
①名前→自由に変更してください。
②デフォルト→ON
③URL→http://[ArmadilloのIPアドレス]:8086
④データベースの名前→telegraf
5.グラフの作成と反映
GrafanaのHomeに戻り、New dashbordから新しいダッシュボードを作成します。
New Panelが表示されましたら、Add Queryからクエリの追加をします。
①Query→先ほど追加したデータソースの名前を選択してください。
②FROM→CPU
③SELECT→field()の中から表示したいものを選択してください。(例として「usage_idle」)
④グラフ→正しく選択されているとinfluxDBのデータから反映されます。