温馨提示×

CentOS下Filebeat如何监控文件

小樊
36
2026-08-03 21:59:47
栏目: 智能运维

CentOS 下使用 Filebeat 监控文件,一般流程如下(以 Elastic Stack / ELK 场景为例):


一、安装 Filebeat(CentOS)

1. 使用 RPM 安装(推荐)

# 导入 Elastic GPG 密钥
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# 创建 yum 源
sudo tee /etc/yum.repos.d/elastic.repo <<EOF
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install filebeat -y

如果是 CentOS 7,可能需要先启用 epel-release


二、配置 Filebeat 监控文件

1. 主配置文件

/etc/filebeat/filebeat.yml

2. 监控日志文件示例

示例:监控 /var/log/nginx/

filebeat.inputs:
  - type: filestream        # 推荐(7.x+)
    enabled: true
    paths:
      - /var/log/nginx/*.log

    fields:
      log_type: nginx
    fields_under_root: true

旧版本写法(log 类型)(仍可用):

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/nginx/*.log

三、输出配置(常见)

1. 输出到 Elasticsearch

output.elasticsearch:
  hosts: ["localhost:9200"]

2. 输出到 Logstash

output.logstash:
  hosts: ["localhost:5044"]

四、启动并设置开机自启

sudo systemctl enable filebeat
sudo systemctl start filebeat

查看状态:

systemctl status filebeat

五、验证 Filebeat 是否正常工作

1. 查看 Filebeat 日志

journalctl -u filebeat -f

或:

tail -f /var/log/filebeat/filebeat

2. 测试配置是否正确

filebeat test config
filebeat test output

六、常见监控场景示例

1. 监控多个目录

paths:
  - /var/log/nginx/*.log
  - /var/log/app/*.log

2. 排除某些文件

exclude_files: ['.gz$', 'error.log']

3. 自定义 index(Elasticsearch)

setup.template.name: "nginx"
setup.template.pattern: "nginx-*"

output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "nginx-%{+yyyy.MM.dd}"

七、常见问题排查

1. 文件没有被采集?

检查:

  • enabled: true
  • 路径是否正确
  • 文件是否正在写入
  • 权限是否足够
ls -l /var/log/nginx/access.log

2. Filebeat 是否支持软链接?

支持(默认跟随)


八、补充:filestream vs log

项目 filestream log
版本 7.x+ 老版本
性能 ✅ 更好 一般
推荐

如果你愿意,我可以帮你:

  • ✅ 写一个 适合你业务的 filebeat.yml
  • ✅ 对接 Elasticsearch / Logstash / Kafka
  • ✅ 做 多行日志(Java / Python 堆栈)解析
  • ✅ 在 Docker / Kubernetes 中部署 Filebeat

直接贴你的 日志路径 + 使用场景 即可。

0