AMIMOTO + Amazon Elasticsearch ServiceでBeatsを扱ってみる
Beats? Elasticがリリースしているサービスの1つで、モニタリングツールのエージェントとして動作します。 サービスの特徴などについては、elasticの新プロダクト「Beats」シリーズに震える! – […]
目次
Beats?
Elasticがリリースしているサービスの1つで、モニタリングツールのエージェントとして動作します。
サービスの特徴などについては、elasticの新プロダクト「Beats」シリーズに震える! – Taste of Tech Topicsあたりを見ると良いかなと思います。
今回はこれをAMIMOTO HVMにインストールして、Amazon Elasticsearch Service(AES)のKibanaで可視化するまでやってみます。
注意
t2.microインスタンスではservice start ***beats
が実行できないので、t2.small以上のインスタンス推奨です。(t2.smallでもちょっと起動に時間かかります)
サービスの準備
なにはともあれ、AMIMOTOとAESがなければ始まらないのでそれぞれ立ち上げましょう。
AESの起動に20~30分程度かかりますのでご注意ください。
以下起動したAESのドメイン名をhttps://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com/
と記述しますが、ここは各自のAESドメインに変更するようにお願いします。
PacketbeatとTopbeatのインストール
起動完了した後は、AMIMOTOにSSHで接続後それぞれ設定していきます。
インストール
$ sudo su - # rpm -Uvh https://download.elastic.co/beats/packetbeat/packetbeat-1.3.0-x86_64.rpm # rpm -Uvh https://download.elastic.co/beats/topbeat/topbeat-1.3.0-x86_64.rpm
AESへのテンプレートインポート
Elasticsearchが解析できるようにテンプレートをインポートします。
# curl -XPUT 'https://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com:443/_template/packetbeat' -d@/etc/packetbeat/packetbeat.template.json # curl -XPUT 'https://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com:443/_template/topbeat' -d@/etc/topbeat/topbeat.template.json
AES向けに設定を変更する
Beatsはデフォルトだと同一サーバーにあるElasticsearchにデータを送信しますので、/etc/packetbeat/packetbeat.yml
と/etc/topbeat/topbeat.yml
のそれぞれを以下のように変更します。
デフォルトでは9200
のポートにデータを送ろうとするので、必ずポート番号まで指定しましょう。
変更前のYAML
output: elasticsearch: hosts: ["localhost:9200"]
変更後のYAML
output: elasticsearch: hosts: ["https://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com:443"]
Beatsを起動させる
最後にBeatsの各サービスを起動させれば設定完了です。
小さいインスタンスでは、起動に時間がかかりますので気長に待ちましょう。(t2.microはここで死ぬかかなりの時間待たされることになります)
# service packetbeat start # service topbeat start
表示確認
ブラウザからhttps://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com/_plugin/kibana/
にアクセスして、データが取得できていればOKです。
おまけ:ダッシュボードのセットアップ
Beats dashboardsというBeats向けのダッシュボードをkibanaに設定するものがありましたので、これを使います。
$ git clone [email protected]:elastic/beats-dashboards.git $ cd beats-dashboards $ ./load.sh -url https://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com:443 -index .kibana-4
これで以下のようにダッシュボードが作れますので、あとは諸々調整していけばいいかなと思います。(この辺はやってみただけなので、エラーとか出てるかもです)
参考サイト
Elastic Beats と ElasticSearch と Kibana で NewRelic ぽいものを作ってみる – Qiita
Anyone tried installing beats with managed AWS ES? – Beats / Filebeat – Discuss the Elastic Stack
elasticの新プロダクト「Beats」シリーズに震える! – Taste of Tech Topics