はじめに
Beatsと呼ばれるイベント特化型エージェントをElastic社が開発している。
Beats | Collect, Parse & Ship
最近出てきたプロダクトであり、あまり日本語の情報がない。公式のドキュメントにそってインストールしてみたら割りと簡単だったのでここに記すことにした。
Topbeat概要
TopbeatとはBeatsシリーズの中でもシステムメトリクスを主として収集するエージェントである。なお、現在のGAのバージョンは1.0.1である。
取得できる主な情報は以下の通りである。
- システム全体の統計情報
- プロセス毎の統計情報
- ファイルシステムの統計情報
システム全体の統計情報
システム全体の統計情報としては以下の情報の取得が可能である。
- ロードアベレージ: 1分、5分、15分の平均のロードの値の取得
- 各種CPU使用率: user, system, idle, IOwaitなど
- メモリー使用率: total, used, freeなど
- スワップ使用率: total, used, freeなど
プロセス毎の統計情報
プロセス毎の統計情報としては以下の情報の取得が可能である。
- プロセス名
- 親プロセスのPID
- プロセスの状態
- プロセスのPID
- プロセスごとのCPU使用率
- プロセスごとのメモリー使用率
ファイルシステムの統計情報
ファイルシステムの統計情報としては以下の情報の取得が可能である。
- 利用可能なディスクのリスト
- 各ディスクの名前、タイプ、どこにマウントしているか
- 各ディスクの空き容量
Topbeat入門
各クライアントにTopbeatをインストールする。当然だが、事前にデータ転送先のElasticsearchクラスターは構築しておく必要がある。
Topbeatインストール
インストール手順はこの資料の通りである。
$ curl -L -O https://download.elastic.co/beats/topbeat/topbeat_1.0.1_amd64.deb
$ sudo dpkg -i topbeat_1.0.1_amd64.deb
$ curl -L -O https://download.elastic.co/beats/topbeat/topbeat-1.0.1-x86_64.rpm
$ sudo rpm -vi topbeat-1.0.1-x86_64.rpm
Config設定
/etc/topbeat/topbeat.yml
を編集する。
$ sudo vi /etc/topbeat/topbeat.yml
以下の内容を追加するのだが、デフォルトですでに記述されているため編集は不要である。
input:
period: 10
procs: [".*"]
プロセス監視を外すなら、以下の通り書き換える必要がある。
input:
period: 10
procs: ["^$"]
Elasticsearchのクラスターのアドレスを以下の通り記述する。ここでは、192.168.0.[3-5]
がElasticsearchクラスターだと仮定する。
output:
elasticsearch:
hosts: ["192.168.0.3:9200","192.168.0.4:9200","192.168.0.5:9200"]
Topbeat起動
Topbeatは以下のコマンドを実行すれば起動する。しばらくするとデータが転送されるのでKibanaからデータが送られていることが確認できる。こちらはdeb/rpm
共通である。
$ sudo /etc/init.d/topbeat start
Kibana確認
Kibanaから以下のスクリーンショットの通り確認できる。デフォルトのIndex名はtopbeat-*
となっている。
おわりに
ひとまずインストールして確認するところまで出来た。Topbeatは、今のところフィールド加工やデータストアを変更するようなことはできない。流行るかどうかいまいち分からんが今後に期待した。
ちなみにこのBeatsシリーズはGolangで実装されているらしい。
https://github.com/elastic/beats