marathon 事件日志收集到ES中
marathon 有配置可以主动把 marathon 的事件日志发送到 http 接口上。这里的事件包括,发布容器的json内容,docker容器死掉、启动,运行、kill,健康检查等日志。也可以说 marathon 所有的动作日志这上都会有。所有我要把这个日志收集起来,并可以做监控,历史查询等等。
先说一下我的方案:
启动一个logstash实例,并配置http接口,把收集到的日志存到ES索引中。
marathon 配置 logstash 的 http 接口地址,把日志发送到这里即可。
后期可以在ES中查询你想要的事件日志,并报警,或用kibana出图等。
logstash 配置
#####logstash 配置文件
vim /etc/logstash.conf
1 | input { |
其中 add_field 添加一个字段 “marathon”:”base-marathon”
这样 ES的一个索引所可以放多个marathon的日志,但是需要启动多个logstash,每个配置不同,因为marathon的日志是一样的,区别不出来是哪个集群的日志。
启动
可以用supervisor或docker方式启动。就不在这里说了。
marathon 配置
我用的是 yum 安装的marathon,版本是 1.4.9 , 配置是:
1 | mkdir -p /etc/marathon/conf/ |
二进制配置的参数是一样的。
重启服务加载配置
1 | systemctl restart marathon |
ES 上查询日志
这样配置完成之后,等marathon有动作的话,ES上就会有数据了,
如:
这只是一个事件,还还有好多时间呢!
感觉文章还可以的话,帮忙点点下面的广告哦! 谢谢支持!