AMIMOTO + Amazon Elasticsearch ServiceでBeatsを扱ってみる

Beats? Elasticがリリースしているサービスの1つで、モニタリングツールのエージェントとして動作します。 サービスの特徴などについては、elasticの新プロダクト「Beats」シリーズに震える! &#8211 […]

広告ここから
広告ここまで

目次

    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 [email protected]: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

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark