Filebeat如何在CentOS上监控文件
导读:在 CentOS 上部署 Filebeat 并监控日志文件 一 安装 Filebeat 使用 YUM 安装(推荐): 安装 EPEL(如未安装):sudo yum install -y epel-release 安装 Filebeat:...
在 CentOS 上部署 Filebeat 并监控日志文件
一 安装 Filebeat
- 使用 YUM 安装(推荐):
- 安装 EPEL(如未安装):sudo yum install -y epel-release
- 安装 Filebeat:sudo yum install -y filebeat
- 或使用 RPM 包 安装(示例版本 7.10.0):
- wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-x86_64.rpm
- sudo rpm -vi filebeat-7.10.0-x86_64.rpm
- 安装完成后,配置文件默认位于:/etc/filebeat/filebeat.yml。
二 配置输入与输出
- 编辑配置文件:sudo vim /etc/filebeat/filebeat.yml
- 示例一 直接写入 Elasticsearch(适合单机或测试)
- filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log ignore_older: 72h
- type: log
enabled: true
paths:
- output.elasticsearch:
- hosts: [“localhost:9200”]
- index: “filebeat-%{ +yyyy.MM.dd} ”
- filebeat.inputs:
- 示例二 输出到 Logstash(便于过滤与增强)
- filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- type: log
enabled: true
paths:
- output.logstash:
- hosts: [“192.0.2.10:5044”]
- filebeat.inputs:
- 说明:
- ignore_older: 72h 可跳过历史旧文件,减少启动时的回溯量。
- 多路径可用通配符(如:/var/log/.log、/opt/app/.log)。
三 启动与验证
- 启动并设为开机自启:
- sudo systemctl start filebeat
- sudo systemctl enable filebeat
- 查看运行状态与日志:
- sudo systemctl status filebeat
- sudo journalctl -u filebeat -f
- 若输出到 Elasticsearch,在 Kibana(默认 http://< kibana_host> :5601)创建索引模式匹配 filebeat-*,在 Discover 中查看实时日志。
四 常见场景与关键配置
- 多行日志(如 Java 堆栈):
- filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/app/*.log multiline.pattern: ‘^[’ multiline.negate: true multiline.match: after
- type: log
enabled: true
paths:
- filebeat.inputs:
- 按条件筛选行:
- include_lines: [“^ERR”, “^WARN”]
- exclude_lines: [“^DEBUG”]
- 只采集最近日志并快速感知新文件:
- ignore_older: 24h
- scan_frequency: 5s
- 从文件末尾开始读取(不回溯历史):
- tail_files: true
- 添加自定义标签与字段:
- tags: [“app”, “nginx”]
- fields:
- env: “prod”
- region: “cn-beijing”
- 输出到 Kafka(高吞吐场景):
- output.kafka:
- enabled: true
- hosts: [“192.0.2.11:9092”,“192.0.2.12:9092”]
- topic: “logs”
- required_acks: 1
- compression: gzip
- output.kafka:
- 性能与稳定性调优(示例):
- spool_size: 20480
- idle_timeout: 5s
- backoff: 1s
- max_backoff: 10s
五 运维与安全建议
- 日志轮转配合:
- Filebeat 不负责切割,建议使用 logrotate 管理日志文件,避免文件句柄占用与漏采。
- 首次启动回溯量控制:
- 大数据量环境可设置 ignore_older(如 72h)或 tail_files: true,缩短启动时间。
- 代理与网络:
- 需要代理时配置 http_proxy/https_proxy;确保 Elasticsearch/Logstash/Kafka 端口(如 9200/5044/9092)与防火墙策略正确。
- 权限与目录:
- 以 root 或具备目标日志读取权限的用户运行;确保 registry_file 与日志目录可写。
- 版本与兼容性:
- 自 Logstash 6.0 起 document_type 已弃用,如需分类建议使用 tags 或在下游处理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Filebeat如何在CentOS上监控文件
本文地址: https://pptw.com/jishu/785614.html
