metricbeatをパッケージ(yum / apt)から入れる際の落とし穴
環境
- Ubuntu 18.04LTS (CentOS6.5 でも同じ)
- Metricbeat 6.4
TL;DR
リポジトリから metricbeat をインストールすると、 modules.d / kibana ディレクトリが存在しないので、tarball から設定をコピってこなければ何もデータが飛ばない。
詳細
以下の手順に従って、metricbeat をインストールしても思った通りに動作しない
https://www.elastic.co/guide/en/beats/metricbeat/current/setup-repositories.html
インストールは成功するし、metricbeat 自体は動作するが、データが一切送られない。
原因は、 /etc/metricbeat/modules.d/ 以下が存在しないため。
modules.d 以下にはどのメトリックを送るかの設定ファイルが存在しなければならないが存在しないので何も送信されない。
対応
https://www.elastic.co/downloads/beats
ここから tarball をダウンロードして、展開すると modules.d と kibana ディレクトリがあるので、中身ごと、/etc/metricbeat/ 以下にコピーする。
その後、metricbeat を再起動するとメトリックが送信されるようになる。
蛇足
modules.d が入らないのは、もしかすると、あえてこうしているのかもしれません。
バージョンアップの時に conf が上書きされると割と気づきにくい事故になってしまうので、それを避ける狙いなのかも。。