前回の記事( ハニーポットcowrieのログを、mariaDBで管理しよう。 )でcowrieのログをmariaDBに出力するようにした。
今回は、そのデータをfluentd(td-agent2)を利用して、elasticsearchにデータを入れる手順をご紹介。
fluentdとは…ログを収集して様々な形式で格納できるソフトウェア
td-agent2とは…fluentdのラッパープログラム
elasticsearchとは…全文検索を提供するソフトウェア(サーチエンジン)
これらを入れることで次回ご紹介する解析に非常に有用になってくる。
Elasticsearchをインストール
Elasticsearchが動作するのに必要であるjavaをインストールする。
1 | yum -y install java |
GPG-KEYをインポートしたあと、yumのレポジトリの設定を行う。
1 | rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch |
1 | $ cat<<_HERE_>/etc/yum.repos.d/elasticsearch.repo |
Elasticsearchをインストール
1 | yum -y install elasticsearch |
Elasticsearchを起動する。
1 | systemctl start elasticsearch.service |
自動起動の設定をする。
1 | systemctl enable elasticsearch.service |
Elasticsearchにアクセスしてみて、以下のようなJSON形式の結果が返って来ればOK
1 | $ curl "http://localhost:9200" |
以上で、Elasticsearchの使用準備は出来た。
次にtd-agent2のインストール方法を紹介する。
td-agent2をインストールする
1 | curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh |
起動
1 | systemctl start td-agent |
必要パッケージをインストールする。
1 | yum -y install ruby ruby-devel mariadb-devel |
fluent-plugin-mysql-replicator をインストール
1 | /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-mysql-replicator |
td-agent2のconfの設定をする。
1 | vim /etc/td-agent/td-agent.conf |
td-agentを再起動する。
1 | systemctl restart td-agent.service |
ログを確認するとinsertされる様子を見ることができる。
1 | $ tail /var/log/td-agent/td-agent.log |
Elasticsearchにcowrieのデータが入っているか確認するにはcurlを使って確認する。
1 | $ curl "http://localhost:9200/cowrie/search/_search?size=5&pretty" |