标签:区分 ant sea facility unix 流行 节点 分布 ges
最近rancher平台上docker日志收集捣腾挺久的,尤其在配置上,特写下记录
Unix/Linux系统中的大部分日志都是通过一种叫做syslog的机制产生和维护的。syslog是一种标准的协议,分为客户端和服务器端,客户端是产生日志消息的一方,而服务器端负责接收客户端发送来的日志消息,并做出保存到特定的日志文件中或者其他方式的处理。
ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。
ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成:
本文是在rancher管理的docker平台上配置启用,具体的流程图为
优先配置elasticsearch原因是其作为中间枢纽作用,不需要依赖其他服务
其添加服务页面
启用简单,拉取elasticsearch镜像即可
Kibana需要依赖elasticsearch的restAPI接口
其添加服务页面如下
注意图中红圈地方,其添加的环境变量名称可以参考拉取的docker镜像kibana的说明。具体功能是添加elasticsearch的依赖。
可以浏览http://ip:5601查看是否链接成功,成功显示图下
logstash 采用的的是rancher商店的版本
其中配置主要是红圈中,具体为
具体的详细大家可以百度
拉取panoptix/rsyslog
通过执行命令行,添加配置文件
在 etc/rsyslog.d/ 目录下添加文件 01-json-template.conf 和 60-logstash.conf
01-json-template.conf 内容:
template(name="json_lines" type="list" option.json="on") { constant(value="{") constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc3339") constant(value="\", \"@version\":\"1") constant(value="\",\"tag\":\"") property(name="syslogtag") constant(value="\",\"message\":\"") property(name="msg") constant(value="\",\"severity\":\"") property(name="syslogseverity-text") constant(value="\",\"facility\":\"") property(name="syslogfacility-text") constant(value="\",\"hostname\":\"") property(name="hostname") constant(value="\", \"procid\":\"") property(name="procid") constant(value="\", \"programname\":\"") property(name="programname") constant(value="\"}\n") }
60-logstash.conf 内容 # :programname, contains, "docker" *.* @@(Logstash服务IP):5000;json_lines
template 为转发的格式设定,logstash文件为转发的地址,如上,为所有转发到 (Logstash服务IP):5000,以json_lines的模板
然后重启服务
具体配置如图
syslog-address: 为刚才的rsyslog地址。
tag:为区分不同的服务的日志,定义一个标记{{.Name}}.{{.ID}}
syslog+rsyslog+logstash+elasticsearch+kibana搭建日志收集
标签:区分 ant sea facility unix 流行 节点 分布 ges
原文地址:http://www.cnblogs.com/yanyouqiang/p/6847683.html