设计目标
- 本地磁盘日志
- syslog udp协议
- app>log agent>flume>kafka>ES>log ui
- app>disk log>log agent>flume>kafka>ES>log ui
格式规范
- time:日志产生时间,ISO8601格式
- level:日志等级,FATAL,ERROR,WARN,INFO,DEBUG
- app_id:应用id,用于标示日志来源
instance_id:实例id,用于区分同一应用不同实例,即hostname
设计与实现
生产&采集
- logstash
- 监听tcp/udp
- 适用于通过网络上报日志的方式
- filebeat
- 直接采集本地生成的日志文件
- 适用于日志无法定制化输出的应用
- logagent
- 物理机部署,监听unixsocket
- 日志系统提供各种语言SDK
- logstash
- 传输&切分
- 基于flume+kafka统一传输平台
- 基于logid做日志分流
- 一般级别
- 低级别
- 高级别(ERROR)
- 从kafka消费日志,解析日志,写入elasticsearch
- 存储&检索
