当前位置:   article > 正文

linux安装filebeat并收集日志到elasticsearch_systemd管理filebeat

systemd管理filebeat

摘要:

通过filebeat收集服务器上各个应用的日志到elasticsearch,通过tags区分不同的应用创建不同的索引保存日志。

官网地址:

https://www.elastic.co/cn/downloads/past-releases#filebeat

安装步骤:

1:下载并解压(以7.9.3版本为例)

  1. cd /usr/local/src
  2. wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.3-linux-x86_64.tar.gz
  3. tar -zxvf filebeat-7.9.3-linux-x86_64.tar.gz

2:修改配置文件filebeat.yml

  1. cd filebeat-7.9.3-linux-x86_64
  2. vi filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /logs/app1*.log
  tags: ["app1"]
- type: log
  enabled: true
  paths:
    - /logs/app2*.log
  tags: ["app2"]

output.elasticsearch:
  hosts: ["172.19.12.3:9200"]
  protocol: "http"
  username: "elastic"
  password: "123456"
  indices:
    - index: "app1-%{+yyyy-MM-dd}"
      when.contains:
        tags: "app1"
    - index: "app2-%{+yyyy-MM-dd}"
      when.contains:
        tags: "app2"

3:启动filebeat

  1. ./filebeat -e -c filebeat.yml
  2. #后台运行
  3. nohup ./filebeat -c filebeat.yml -e >/dev/null 2>&1 &

问题与解决:

问题一:runtime/cgo: pthread_create failed: Operation not permitted

 解决:

在filebeat.yml配置文件添加如下配置,重启filebeat

  1. seccomp:
  2. default_action: allow
  3. syscalls:
  4. - action: allow
  5. names:
  6. - rseq

参考文档:

Filebeat and GLIBC Errors on Ubuntu 22.04 - Beats - Discuss the Elastic Stack

问题二:错误日志分行显示

 解决:添加正则表达式多行合并,以时间开头的放在一起

  1. multiline:
  2. pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  3. negate: true
  4. match: after

pattern:正则表达式
negate:true 或 false;默认是false,匹配pattern的行合并到上一行;true,不匹配pattern的行合并到上一行
match:after 或 before,合并到上一行的末尾或开头
max_lines:合并最大行,默认500
timeout:一次合并事件的超时时间,默认5s,防止合并消耗太多时间甚至卡死

参考文档:(八)Filebeat收集日志方法_filebeat按日期收集-CSDN博客 

问题三:Filebeat运行一段时间后自动关闭问题解决 

 问题解决:

3.1:在 /etc/systemd/system目录下创建一个filebeat.service文件,写入如下内容

  1. [Unit]
  2. Description=Filebeat is a lightweight shipper for metrics.
  3. Documentation=https://www.elastic.co/products/beats/filebeat
  4. Wants=network-online.target
  5. After=network-online.target
  6. [Service]
  7. Environment="LOG_OPTS=-e"
  8. Environment="CONFIG_OPTS=-c /usr/local/src/filebeat-7.9.3-linux-x86_64/filebeat.yml"
  9. Environment="PATH_OPTS=-path.home /usr/local/src/filebeat-7.9.3-linux-x86_64/filebeat -path.config /usr/local/src/filebeat-7.9.3-linux-x86_64 -path.data /usr/local/src/filebeat-7.9.3-linux-x86_64/data -path.logs /usr/local/src/filebeat-7.9.3-linux-x86_64/logs"
  10. ExecStart=/usr/local/src/filebeat-7.9.3-linux-x86_64/filebeat $LOG_OPTS $CONFIG_OPTS $PATH_OPTS
  11. Restart=always
  12. [Install]
  13. WantedBy=multi-user.target

3.2:给文件授权限

chmod +x /etc/systemd/system/filebeat.service

 3.3:启动并查看状态

启动:
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

查看状态

systemctl status filebeat

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/706289
推荐阅读
相关标签
  

闽ICP备14008679号