Appearance
Filebeat部署
1.filebeat部署
说明:需要采集日志的应用所在的主机都需要安装filebeat。
1.1.上传安装包至安装路径下
1.2.解压安装包
unzip filebeat-7.6.2-linux-x86_64.zip
1.3.修改配置文件filebeat.yml
该配置文件在filebeat的安装目录下,所需要修改的内容见下图:
其中document_type默认配置为galaxy-online,不建议修改。
升级版本后的改变
1.4.日志配置(可选)
filebeat可以对自身运行日志的输出进行相关配置,filebeat提供了如下日志相关的配置:
yaml
logging.level: info # 日志输出的最小级别
logging.selectors: [ ] # 过滤器,用户可在logp.NewLogger时指定
logging.to_stderr: false # 将日志输出到stderr
logging.to_syslog: false # 将日志输出到syslog (主要用于unix)
logging.to_eventlog: false # 将日志输出到windows的event log
logging.to_files: true # 将日志输出到文件中
logging.files:
path: ${filebeat_bin_path}/logs/ # 日志目录
name: filebeat # 文件名 filebeat filebeat.1 filebeat.2
rotateonstartup: true # 在filebeat启动时进行日志轮替
rotateeverybytes: 10485760 # = 10MB 日志轮替的默认值
keepfiles: 7 # 日志保留个数
permissions: 0600 # 日志权限
interval: 0 # 日志轮替
logging.metrics.enabled: true
logging.metrics.period: 30s
logging.json: false
filebeat会进行日志轮替,一般情况下,常见的日志轮替规则有按大小和按时间,filebeat两种规则均支持。
其中:
- rotateeverybytes决定了日志文件的最大值,如果日志文件超过了该值,将发生日志轮替,默认值为10MB。
- rotateonstartup是说明是否在每次启动时都进行一次日志轮替,这样的话,每次启动的日志都会从一个新文件开始。默认为true
按文件大小进行轮filebeat也支持按时间进行轮替,可以配置logging.files下的interval属性,支持按照秒、分钟、小时、周、月、年进行轮替,对应值为1s,1m, 1h, 24h, 724h, 3024h, 和365*24h。当然,最小值是1s。
按照时间进行轮替时,时间将会以连字符进行分割, 例如:按照1小时进行轮替的话,文件格式为:filebeat-2019-11-28-15。filebeat目前还不支持日期格式的自定义。
同时,我们也可以指定日志的保留策略,目前只能通过设置keepfiles来决定保留日志的个数。
在日志里面还有logging.metrics相关配置,filebeat会定时输出一些当前的运行指标,例如输出下当前ack成功的数目、当前的内存占用情况等:
logging.metrics.enabled决定是否开启指标搜集
logging.metrics.period决定指标输出的间隔替后,日志文件名将会变成filebeat、filebeat.1、filebeat.2这种格式,后缀越大文件越旧。
修改配置
进入filbeat安装目录下,打开filbeta.yml文件,添加如下配置:
yaml
logging.to_files: true
logging.files:
path: /app/dcits/software/filebeat-7.6.2-linux-x86_64/logs
name: fileabeat
keepfiles: 7
permissions: 0644
rotateeverybytes: 10485760 # = 10MB 日志轮替的默认值
注意:如果修改了filebeat日志输出到指定路径下,在启动时使用如下启动命令:
shell
nohup ./filebeat -c ./filebeat.yml > filebeat.log &
#启动过程中不要使用-e参数,-e是强制输出到syslog
1.5.授权
进入filebeat-5.5.0-linux-x86_64目录下,依次执行命令,授权:
shell
chmod 755 -R filebeat
shell
chmod 755 -R *.yml
1.6.启动应用,命令如下:
shell
./filebeat -e -c ./filebeat.yml >filebeat.log 2>&1 &
或者
shell
nohup ./filebeat -e -c ./filebeat.yml > filebeat.log &
高版本的filebeat在使用中发现,无论用上述哪一种方式启动,都会出现当当前linux连接会话终端关闭后,系统会发送SIGHUP信号给filebeat的控制进程,从而导致filebeat自动关闭的现象;只有将命令包装在linux的shell脚本中才不会出现此种诡异现象。因此启动方式变为执行filebeat目录下的start.sh脚本,并且也强烈建议用这种方式启动!
1.7.校验服务
执行命令如下:
ps -aux | grep filebeat