今回は、前回作成したRabbitMQクラスタにfluentdでログを送信する。
1. RabbitMQ側の設定
まず、事前にRabbitMQ側でvHostsなどの作成をしておこう。
ユーザは新規に「logger」ユーザを作成する。
■ vHostsの作成(「logs」)
rabbitmqadmin declare vhost name=/logs
rabbitmqctl set_permissions -p /logs guest ".*" ".*" ".*"
[root@BS-PUB-RABBITMQ01 ~]# rabbitmqadmin declare vhost...
Kafkaからデータを取得する方法はいろいろとあるようだが、今回はfluentdでKafkaからデータをPullさせてみる。
基本的にはPushのときと変わらず、fluent-plugin-kafkaを用いる。
一応、td-agentおよび必要となるプラグインのインストールコマンドは以下(CentOS 7)。
curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
yum install -y gcc
/opt/td-agent/embedded/bin/gem install fluent-...
fluentdからGraylogに、GELF形式のログを転送したい。s
こういった場合のために、ちゃんとプラグインがあるようだ。
fluentdの動作しているサーバで、以下のコマンドを実行してプラグインをインストールする。
/opt/td-agent/embedded/bin/gem install fluent-plugin-graylog
プラグインのインストール後、fluentdの設定ファイルを以下のように記述してやる。
KafkaでSyslogを受け取らせようとしてるのだが、CentOS 7からKafkaにログを送る際rsyslogのバージョンが7系なので、そのまま送るのはちょっと厳しい(rsyslog 8.x系だったらomkafkaモジュールが使える)。
さすがにそんな気軽にほいほいrsyslogのバージョン変更するのもアレなので、定番であるfluentdをあいだに入れてやることにする。
一応、fluentdではsyslogでログを受け付けることができるのだが、udpしか受け付けられないのでログの暗号化ができない。
このため、localhostのrsyslogからログを受け付けてやるようにする。...