2017年8月12日土曜日

telegraf を使ってみる

概要

前回 Mac 上に InfluxDB をインストールして簡単な SQL 操作をしてみました
大抵こういったツールはログやメトリックと連携してデータを蓄積していくのですが調べてみたところ InfluxDB 専用のエージェントツールで telegraf というものがありました
今回は telegraf のインストールと簡単な設定を行い実際に InfluxDB にデータを投入するところまで試してみました
また、今回も前回に引き続き Mac 上で試していきます

環境

  • macOS X 10.12.6
  • influxdb 1.3.1
  • telegraf 1.3.5

インストール

  • brew install telegraf
  • telegraf --version
Telegraf v1.3.5

設定

  • telegraf config > telegraf.conf
  • vim telegraf.con

で 94行目あたりにある [[outputs.influxdb]] の項目に urls = ["http://localhost:8086"] という設定があるので InfluxDB の URL を設定します
InfluxDB もローカルで動作していて特に設定を変更していない場合は conf ファイルは何もしないで OK です

起動

  • telegraf --config telegraf.conf

で起動します
起動すると 10秒おきに InfluxDB にメトリック情報が格納されていきます

うまくデータが入っていない場合は influxd プロセスが起動しているか確認してください

動作確認

influx コマンドを使って SQL を発行してデータを確認してみましょう

  • influx

ここでインタラクティブモードになります

  • show databases

telegraf という measurement が作成されていることを確認します

  • use telegraf
  • show measurements

で measurement (テーブル) の一覧を確認すると以下のメトリック情報が送信されていることが確認できます

name: measurements
name
----
cpu
disk
diskio
mem
processes
swap
system
  • precision rfc3339
  • select * from cpu
time                 cpu       host         usage_guest usage_guest_nice usage_idle        usage_iowait usage_irq usage_nice usage_softirq usage_steal usage_system       usage_user
----                 ---       ----         ----------- ---------------- ----------        ------------ --------- ---------- ------------- ----------- ------------       ----------
2017-08-07T00:24:30Z cpu-total host1.local 0           0                85.7              0            0         0          0             0           3.65               10.65
2017-08-07T00:24:30Z cpu3      host1.local 0           0                94.5              0            0         0          0             0           2                  3.5
2017-08-07T00:24:30Z cpu1      host1.local 0           0                94.6              0            0         0          0             0           1.7                3.7
2017-08-07T00:24:30Z cpu0      host1.local 0           0                74.2              0            0         0          0             0           6.7                19.1
2017-08-07T00:24:30Z cpu2      host1.local 0           0                79.5              0            0         0          0             0           4.2                16.3

自分の Mac は 4 コアの CPU を使っているのですが各 CPU ごとにデータを送信してくれるようです
あとは全コアの平均値も出してくれます

こんな感じで他にもメモリやディスク使用量などの情報も格納してくれます

最後に

InfluxDB 専用のエージェントツール telegraf を使ってみました
ログパーサも使えるためログから情報を送信することも可能なようです

td-agent にも InfluxDB 用のプラグインがあるようでログなどはそっちで代用することもできそうです

余裕があったらカスタムメトリックの取得方法やログのパースなどもやってみたいと思います

参考サイト

0 件のコメント:

コメントを投稿