首页主机资讯Debian系统Filebeat与Logstash联调步骤

Debian系统Filebeat与Logstash联调步骤

时间2025-10-24 18:27:03发布访客分类主机资讯浏览344
导读:Debian系统Filebeat与Logstash联调步骤 1. 环境准备 确保Debian系统已更新至最新版本,并安装wget、vim等基础工具(可选但推荐): sudo apt update && sudo apt up...

Debian系统Filebeat与Logstash联调步骤

1. 环境准备

确保Debian系统已更新至最新版本,并安装wgetvim等基础工具(可选但推荐):

sudo apt update &
    &
 sudo apt upgrade -y
sudo apt install wget vim -y

2. 安装Filebeat

通过Debian官方仓库安装Filebeat(推荐,便于后续更新):

sudo apt install filebeat -y

安装完成后,Filebeat默认配置文件位于/etc/filebeat/filebeat.yml,二进制文件位于/usr/share/filebeat

3. 安装Logstash

同样通过Debian官方仓库安装Logstash:

sudo apt install logstash -y

安装后,Logstash主配置目录为/etc/logstash,默认日志文件位于/var/log/logstash

4. 配置Filebeat输出至Logstash

编辑Filebeat配置文件/etc/filebeat/filebeat.yml,完成以下关键配置:

  • 启用日志输入:选择需要收集的日志类型(以系统日志为例),设置监控路径:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/syslog       # 系统日志
        - /var/log/auth.log     # 认证日志
    
  • 配置Logstash输出:指定Logstash服务器的地址和端口(默认监听5044):
    output.logstash:
      hosts: ["localhost:5044"]  # 若Logstash在远程服务器,替换为"remote_ip:5044"
    
  • 可选优化:开启多线程发送(提升性能)、负载均衡(多Logstash节点):
    output.logstash:
      hosts: ["localhost:5044", "remote_ip:5044"]
      workers: 2                # 发送线程数
      loadbalance: true         # 负载均衡
    

5. 配置Logstash接收Filebeat数据

在Logstash中创建自定义配置文件(如/etc/logstash/conf.d/filebeat.conf),定义输入→过滤→输出管道:

  • 输入配置:监听Filebeat的Beats协议(端口5044):
    input {
    
      beats {
        
        port =>
     5044
      }
    
    }
    
    
  • 过滤配置(可选):使用Grok插件解析日志(以系统日志为例):
    filter {
    
      if [fileset][module] == "system" {
    
        grok {
        
          match =>
     {
         "message" =>
     "%{
    SYSLOGTIMESTAMP:timestamp}
     %{
    SYSLOGHOST:hostname}
     %{
    DATA:program}
    (?:\[%{
    POSINT:pid}
    \])?: %{
    GREEDYDATA:message}
    " }
    
        }
    
        date {
        
          match =>
     [ "timestamp", "MMM dd HH:mm:ss", "ISO8601" ]
        }
    
      }
    
    }
    
    
  • 输出配置:将处理后的数据发送至Elasticsearch(需提前安装并运行):
    output {
    
      elasticsearch {
        
        hosts =>
         ["localhost:9200"]
        index =>
     "filebeat-%{
    +YYYY.MM.dd}
    "  # 按日期生成索引
      }
    
      stdout {
         codec =>
     rubydebug }
             # 控制台输出(调试用,生产环境可注释)
    }
        
    

6. 启动并启用服务

依次启动Filebeat和Logstash,并设置为开机自启:

# 启动Logstash(需先启动,否则Filebeat无法连接)
sudo systemctl start logstash
sudo systemctl enable logstash

# 启动Filebeat
sudo systemctl start filebeat
sudo systemctl enable filebeat

7. 验证联调结果

  • 检查服务状态:确认Filebeat和Logstash均正常运行:
    sudo systemctl status filebeat
    sudo systemctl status logstash
    
  • 查看Filebeat日志:确认日志是否成功发送至Logstash:
    sudo journalctl -u filebeat -f
    
  • 查看Logstash日志:确认是否接收到Filebeat数据:
    sudo tail -f /var/log/logstash/logstash-plain.log
    
  • 检查Elasticsearch索引:若配置了Elasticsearch输出,可通过以下命令查看生成的索引:
    curl -X GET "localhost:9200/_cat/indices?v"
    
    应能看到类似filebeat-2025.10.24的索引(日期随当前时间变化)。

8. 常见问题排查

  • 连接失败:检查Filebeat与Logstash的网络连通性(pingtelnet),确认端口5044是否开放(sudo ufw allow 5044)。
  • 配置语法错误:使用以下命令测试Filebeat配置:
    sudo filebeat test config -e
    
    测试Logstash配置:
    sudo logstash -f /etc/logstash/conf.d/filebeat.conf --config.test_and_exit
    
  • 日志无输出:检查Filebeat输入路径是否存在日志文件,确认Logstash过滤规则是否匹配日志格式。

通过以上步骤,即可完成Debian系统下Filebeat与Logstash的联调,实现日志的收集、处理与存储。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统Filebeat与Logstash联调步骤
本文地址: https://pptw.com/jishu/734802.html
如何用Filebeat实现Debian日志告警 Filebeat在Debian上的日志级别设置

游客 回复需填写必要信息