更新时间:2020-07-01 19:06:05
SysLog概念请参考 SysLog。
采集点(lmsagent)支持在本地配置TCP端口,接收Syslog Agent转发的日志。采集点(lmsagent)开启TCP端口,接收rsyslog或者其他Syslog Agent通过TCP协议转发过来的Syslog数据,采集点(lmsagent)接收到的数据并转发到日志服务中。采集点(lmsagent)、Syslog、日志服务(lms)三者之间的关系如下图所示。
SysLog和利用文本文件相比,使用Syslog时日志数据直接收集到采集点(Agent),Syslog不落盘、保密性好,免去了文件落盘和解析的代价。
日志服务采集点(Agent)通过 TCP 端口接收到的数据是流式的,如果要从流式的数据中解析出一条条的日志,日志格式必须满足以下条件:
Syslog日志格式如下。
$version $syslogtag $timegenerated:::date-unixtimestamp $fromhost-ip [$user-defined-field-1 $user-defined-field-2 $user-defined-field-n] $msg:::drop-last-lf\n"
字段说明
日志字段 | 含义 |
---|---|
version | 该日志格式的版本号,日志服务使用该版本号解析user-defined-field 字段。 |
syslogtag | 数据标签,用于查找日志仓库,不可以包含空格和换行符。 |
timegenerated:::date-unixtimestamp | 该条日志的时间戳。 |
fromhost-ip | 该条日志的对应的机器IP,如果日志中的该字段是 127.0.0.1,最终发往服务端的日志数据中该字段会被替换成TCP socket的对端地址。 |
user-defined-field | 用户自定义字段,中括号表示是可选字段,可以有 0 个或多个,不可以包含空格和换行符。 |
msg:::drop-last-lf | 日志消息正文,不可以包含换行符,末尾的 \n 表示换行符。 |
以下示例日志即为满足格式要求的日志。
2.1 lms 1455776661 10.101.166.127 ERROR com.wangsucloud.syslog.App.main(App.java:17) connection refused, retry