(1) 首先下载软件包(采用二进制包,非编译安装):
Filebeat:https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-x86_64.rpm
(2) 使用以下命令安装,下载的安装包路径以/data/filebeat-7.10.0-x86_64.rpm为例
rpm -ivh /data/filebeat-7.10.0-x86_64.rpm
(3) 默认配置文件位置为/etc/filebeat/filebeat.yml,修改或添加以下配置,除基本配置外,关于日志接入相关配置流程参考这里:
#本地filebeat安装路径
path.home: /usr/share/filebeat
#配置文件目录
path.config: /etc/filebeat
#filebeat自身数据目录
path.data: /data/filebeat/data
#filebeat自身日志目录
path.logs: /data/filebeat/logs
#filebeat自身输出日志的配置
#日志级别为info
logging.level: info
#日志记录的方式为文件
logging.to_files: true
logging.files:
#日志所在目录
path: /data/filebeat/logs
#日志命名
name: filebeat
#最大保留文件数
keepfiles: 7
#linux下日志文件权限
permissions: 0644
#触发日志滚动的日志大小值,单位为字节byte
rotateeverbytes: 10485760 #(10MB)
#registry文件目录,默认根目录为数据目录
filebeat.registry.path: registry #%{path.data}
#linux下registry目录内文件权限
filebeat.registry.file_permissions: 0600
#控制registry里的内容何时写入到文件中
filebeat.registry.flush: 60s
#filebeat所抓取日志的配置,此处使用了多行匹配插件multiline,具体配置项作用可自行查阅资料
filebeat.inputs:
- type: log
enabled: true
paths:
- /data/logs/idr-dfs/idr-dfs*log
multiline.type: pattern
multiline.pattern: '^[\s\S]*\d{4}-\d{1,2}-\d{1,2}[\s\S]*\[[\s\S]*\]'
multiline.negate: true
multiline.match: after
multiline.max_lines: 500
multiline.timeout: 10s
exclude_lines: ['\^\^DEBUG']
tags: ["idr-dfs"]
fields_under_root: true
fields:
host_ip: 192.168.99.36
- type: log
enabled: true
paths:
- /data/logs/idr-eureka/idr-eureka*log
multiline.type: pattern
multiline.pattern: '^[\s\S]*\d{4}-\d{1,2}-\d{1,2}[\s\S]*\[[\s\S]*\]'
multiline.negate: true
multiline.match: after
multiline.max_lines: 500
multiline.timeout: 10s
exclude_lines: ['\^\^DEBUG']
tags: ["idr-eureka"]
#操作系统语言编码为其他中文编码时候,和被抓取的日志的中文编码一致,所以需修改filebeat抓取传输数据到下游时候的编码,否则会出现中文显示为乱码的情况
encoding: GB18030
fields_under_root: true
fields:
host_ip: 192.168.99.36
output.kafka:
enabled: true
hosts: ["192.168.145.109:9092","192.168.145.110:9092","192.168.145.111:9092"]
topics:
- topic: "idr-dfs"
when.contains:
tags: "idr-dfs"
- topic: "idr-eureka"
when.contains:
tags: "idr-eureka"
required_acks: 1
compression: gzip
max_message_bytes: 104857600 # 100M
(4) 设置开机启动,修改systemd服务配置文件vim /usr/lib/systemd/system/filebeat.service,内容如下,注意确认好相关目录是否存在:
[Unit]
Description=Filebeat sends log files to Logstash or directly to Elasticsearch.
Documentation=https://www.elastic.co/products/beats/filebeat
Wants=network-online.target
After=network-online.target
[Service]
Environment="BEAT_LOG_OPTS="
Environment="BEAT_CONFIG_OPTS=-c /etc/filebeat/filebeat.yml"
Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /data/filebeat/data --path.logs /data/filebeat/logs"
ExecStart=/usr/share/filebeat/bin/filebeat --environment systemd $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
保存后使用命令
systemctl enable filebeat
systemctl daemon-reload
激活logstash服务并启用开机启动,之后使用命令
systemctl start filebeat
启动服务,观察服务启动日志是否异常。