AMIMOTO + Amazon Elasticsearch Serviceで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の情報をKibanaで表示

おまけ:ダッシュボードのセットアップ

Beats dashboardsというBeats向けのダッシュボードをkibanaに設定するものがありましたので、これを使います。

$ git clone git@github.com:elastic/beats-dashboards.git
$ cd beats-dashboards
$ ./load.sh -url https://XXXXXXXXXX.ap-northeast-1.es.amazonaws.com:443 -index .kibana-4

これで以下のようにダッシュボードが作れますので、あとは諸々調整していけばいいかなと思います。(この辺はやってみただけなので、エラーとか出てるかもです)
Beats Dashboard

参考サイト

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

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です