将Elasticsearch、Fluentd和Kiabana部署在Docker中,在Docker中部署的应用的日志会发送到Fluentd,并最终发送到Elasticsearch,然后通过Kiabana的Web界面查看。
- 拉取fluentd最新Image:
docker pull fluent/fluentd:v1.10.1-debian-1.0
- 到目录fluentd下执行Image构建命令:
docker build --tag ydx/fluentd-elasticsearch:latest .
docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2
docker-compose up
使用脚本start_fluentd_docker.sh
单独启动Fluentd。如果Elasticsearch不在相同的节点,需要修改文件fluentd/conf/fluentd.conf
中host对应的参数。
参考以下命令启动应用:
docker run --log-driver=fluentd --log-opt tag="docker.{.ID}}" ubuntu echo 'Hello Fluentd!' 其中参数log-driver=fluentd表示将日志发送到fluentd。
各应用应将日志配置为输出到系统的标准输出STDOUT,这样日志就能发送到fluentd,并最终发送的Elasticsearch。
访问Kiabana首页:http://localhost:5601/
, 在左侧Tab上选择Discover,创建fluentd-*的索引。此后来自Fluentd的日志都会显示在此索引下。