ELK Stack环境的相关搭建可以参考我的上一篇文章
这里配置中涉及到的域名在对应机器上要配置host,kafka的host
假设这里有两个项目:insurance项目,app项目
insurance项目生产环境filebeat配置filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/ad/logs/*.log
# 向输出的每一条日志添加额外的信息,比如“level:debug”,方便后续对日志进行分组统计。
# 默认情况下,会在输出信息的fields子目录下以指定的新增fields建立子目录,例如fields.level
# 这个得意思就是会在es中多添加一个字段,格式为 "filelds":{"level":"debug"}
fields:
host: 192.168.0.94
# 每个filebeat对应的机器的ip,区分日志机器来源
multiline.pattern: ^\[
multiline.negate: true
multiline.match: after
# 上面配置的意思是:不以[开头的行都合并到上一行的末尾
#pattern:正则表达式
#negate:true 或 false;默认是false,匹配pattern的行合并到上一行;true,不匹配pattern的行合并到上一行
#match:after 或 before,合并到上一行的末尾或开头
#-------------------------- Kafka output ------------------------------
output.kafka:
hosts: ["kafka1:9092","kafka2:9092","kafka3:9092"]
topic: filebeat
required_acks: 1
# 其他output都注释掉
app生产环境filebeat配置filebeat-app.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/ad/logs/logs-*.log
# 向输出的每一条日志添加额外的信息,比如“level:debug”,方便后续对日志进行分组统计。
# 默认情况下,会在输出信息的fields子目录下以指定的新增fields建立子目录,例如fields.level
# 这个得意思就是会在es中多添加一个字段,格式为 "filelds":{"level":"debug"}
fields:
host: 10.10.99.108
# 对应一个服务来命名
app: app
# 每个filebeat对应的机器的ip,区分日志机器来源
multiline.pattern: ^20
multiline.negate: