【Telegraf】CPUやHDDの使用状況を監視しDBに保存する【InfluxDB】

April 10, 2020

InfluxDB周りのプロダクト「Telegraf」を試す。自宅サーバーPCの稼働状況に問題がないかを確認できるようにしたい。

logo

★本来テレグラフはなんかかっこいいメーターのような物のようだが、画像が無いので女性が電話している画像にした。適当だ。

動作環境

  1. Windows 10
  2. InfluxDBもTelegrafもローカルで起動

Telegrafとは

公式ドキュメントのURLがわかりにくかったためこちらからリンクする。

特別なプログラミングを必要とせずプラグインを用いて機器の稼働状況等をInfluxDBに登録してくれるシステム。よくあるデータ(CPUやメモリの使用状況等)を取得する場合は手軽に利用できることが売りだ。

InfluxDBに関して知らない読者もいるかもしれないので私の記事を記載しておく。

  1. 時系列DBに約定や板情報を記録したい (Node.js x InfluxDB)
  2. InfluxDB周りのプロダクトの役割

インストール

公式(Download)よりバイナリをDLする。

DL

コピーしてブラウザからDLする必要があるらしい(他のプロダクトはリンクが入っているので忘れられてるだけかも)

DL2

約20MB。すぐにDLが完了する。

解凍すれば既に実行準備は整っている。システムにインストールしなければならない外部ライブラリなどに依存していない点も売りのようだ。

先にconfファイルから編集

Telegrafは非常に軽量なプログラムでありGUIを搭載していない。そのため先に設定ファイルを仕上げておく必要がある。

同じディレクトリに存在している telegraf.confを編集していく。

補足:TOMLと呼ばれる記述方法らしい

出力先:[[outputs.influxdb]]

urls = ["http://127.0.0.1:8086"]

[[outputs.influxdb]] の中の urls からInfluxDBが使用しているアドレスを指定する。Windowsであれば上記コードがデフォルトだ。

一応書いておくとシャープ記号「#」がコメントアウトになるので、先頭のシャープを消すことで有効化される。

入力:[[inputs.winperfcounters]]

ここがメインである。どのデータを取得するのかを記述する。特にWindows専用のプラグインが既にこちらに記述されている。

別のプラグインがコメントアウトされているが、汎用のプラグインのようで機能が重複しているためデフォルトで大体の人は事足りると思う。

このあたりは素晴らしい。

どこのドキュメントを見れば良いのか

公式のドキュメントに入力設定の書式が全く書いていない?とにかく設定ファイルの記述方法が分かりにくい。

探した所Windows用のプラグインはGitHubのページにナビゲートされていた。

入力プラグインの設定解説

前述の通り初期設定が既にかなり満足の行く設定でCPU・メモリ・ネットワーク等だいたいのユーザが欲しいデータは初めから取得されるようになっている。

また基本のプラグインの詳細設定の方法は記述してないように見えるのでこのあたりを設定する場合は最上級者クラスになるだろう。

ただ、逆を言えばプラグイン単体で見るとどれもデフォルトの設定で満足行くようになっている。

基本のプラグインを追加する

  1. 上記GitHubページのExamplesの項目を見る。
  2. 目的に合うプラグインをObjectNameで判断する
  3. そのまま[[inputs.win_perf_counters]]下にコピーする
  4. コードだけ見て意味がわかるようなら設定を変更する

恐らくWindowsで使う事自体がレアで個別設定の詳細ページがない。気をつけて利用したい。

追加のプラグインを利用する

こちらに関しては公式に説明がある(それでも非常に分かりにくい)

今回はInfluxDBのディレクトリに限定したデータサイズを取得したかったので例としてFilecountというプラグインを使って目的を達成する。

  1. プラグインリストのページを開く
  2. 目ぼしいプラグインを探す(概要はここに記述)
  3. 見つけたら右上のGitHubへのリンクをクリックする(設定内容の詳細)

    Filecount

  4. [[input. * ]]になっているところからまるごとコピーして設定ファイルにペーストする。どうやら個別にDLなどは必要なく設定ファイルに記述があれば自動で追加されるようだ。

    コピー

  5. 必要であればGitHubのページに従って設定ファイルを変更する。

    今回は監視するフォルダをdirectoriesに記述した(その上にあるdirectoryオプションは使うなと書いてある)

    # ディレクトリはバックスラッシュ(テキストエディタでは円マーク)を2個重ねること!
    directories = ["C:\\ほにゃららら\\influxdb-1.7.10-1\\"]

実行

これで設定は完了した。

Telegraf.exe は起動時にconfファイルを渡して起動してやる必要があるので同じディレクトリにバッチファイルを作った。

telegraf --config ./telegraf.conf

InfluxDBが起動しているのを確認してTelegrafを起動する。

chronograf

Chronografで無事に登録されていることが確認できた。ここでは書いてないがデフォルトのCPUやメモリといったものもメジャーメントに追加されているので各自確認して欲しい。

まとめと所感

手順としては

  1. TelegrafをDL
  2. confファイルを設定(基本はInfluxDBのURLのみ変更)
  3. 追加したいプラグインがあれば調べて基本は「コピペ」
  4. 起動

という非常にシンプルな手順なのだが公式のドキュメントが分かりにくいという印象を受けた。

初心者には日本語解説が無いと厳しそうだ。

長くなりそうだったのでもう少し詰めれそうな設定があったが全てカットさせていただいた。どれも特別あってもなくてもそれほど変わらない設定だと考えている。

また重要なものがあれば記事にする。

この記事をシェア:

author icon

仮想トイレ @CrypticToilet
プログラミングや仮想通貨のシステムトレードに関する情報を更新中!どんな情報を流しても詰まらないトイレ。