Kibana)をDocker-Composeで試してみた2015-11-13webなかなか試せなかったログ収集・解析周りのツールを周回遅れで軽く試してみた。driverに追加されているので、これを使って簡単なサンプルを構築した。収集したログをtd-agentで、Fluentdのログ収集コンテナに24224ポートで転送する。あとはElasticsearch、Kibanaで解析・表示する。アプリケーションからのログ転送はDockerのlog-driverオプションを使うので、td-agentの導入を省けた。Fluentd、Elasticsearch、Kibanaはそれぞれオフィシャルのイメージがあるので、そちらを活用した。Elasticsearchは9200ポート、kibanaは5601ポートを使った。ログ収集・解析基盤のセットアップFluentdfluentdの設定はログをElasticsearch(9200ポート)に転送している。forwardで転送されてきたログでdockerというタグのついたものを9200ポートで送信している。logstash_formatの設定は出力形式、これがfalseの場合kibanaで解析する際に@timestampフィールドが作成されないようで時系列で集計できない。kibana5601ポートでアクセスすることで解析画面を表示できる。これはどちらかというと設定より使い方を習得する方が大変そうな。docker-composeのコンテナのヘルスチェックdocker-composeを使った際に、各コンテナとの疎通確認にncコマンドを使っている。そのため、ほとんどのentrypoint.shファイルの内容がほとんど同じになってしまった。コンテナ間の依存を解消する方法がいまいちわかってないのでこのような手法をとったのだが、もっといい方法がありそう。issue#686にあるようなので、今後解決されるかも。起動してみるkibanaにアクセスするとlogstash形式のものをフィルタリングということで、とりあえず最小限の環境は構築できた。