ubuntu

ubuntu filebeat如何监控与告警

小樊
74
2025-08-14 03:43:44
栏目: 智能运维

在Ubuntu上使用Filebeat实现监控与告警,需结合Elastic Stack组件,核心步骤如下:

一、基础安装与配置

  1. 安装Filebeat
    sudo apt-get update && sudo apt-get install filebeat  
    
  2. 配置监控目标
    编辑 /etc/filebeat/filebeat.yml,指定日志路径(如系统日志、应用日志):
    filebeat.inputs:  
    - type: log  
      enabled: true  
      paths: ["/var/log/*.log", "/var/log/syslog"]  
    output.elasticsearch:  
      hosts: ["localhost:9200"]  # 确保Elasticsearch已运行  
    
    启用模块(如系统日志):
    filebeat.modules:  
    - module: system  
      syslog:  
        enabled: true  
    
  3. 启动服务
    sudo systemctl enable --now filebeat  
    

二、告警规则设置(基于Elasticsearch Watcher)

  1. 创建索引模板(可选)
    确保Filebeat数据被正确索引,在Kibana Dev Tools执行:
    PUT /_template/filebeat  
    {  
      "index_patterns": ["filebeat-*"],  
      "mappings": {  
        "_source": { "enabled": true }  
      }  
    }  
    
  2. 定义Watcher告警规则
    在Kibana Dev Tools中创建Watcher(以监控错误日志为例):
    PUT _watcher/watch/filebeat_error_alert  
    {  
      "trigger": { "schedule": { "interval": "1m" } },  // 每分钟触发一次  
      "input": {  
        "search": {  
          "request": {  
            "indices": ["filebeat-*"],  
            "body": {  
              "query": {  
                "bool": {  
                  "must": [  
                    { "range": { "@timestamp": { "gte": "now-1m", "lte": "now" } } },  
                    { "term": { "log.level": "ERROR" } }  // 筛选错误级别日志  
                  ]  
                }  
              }  
            }  
          }  
        }  
      },  
      "condition": {  
        "compare": { "ctx.payload.hits.total": { "gt": 0 } }  // 错误数>0时触发  
      },  
      "actions": {  
        "send_email": {  
          "email": {  
            "to": "admin@example.com",  
            "subject": "Filebeat Error Alert",  
            "body": "Detected {{ctx.payload.hits.total}} error logs in the last minute."  
          }  
        }  
      }  
    }  
    
    说明
    • trigger.interval:告警检测频率。
    • input.query:通过Elasticsearch DSL定义筛选条件(如错误日志、特定字段值)。
    • actions:支持邮件、Slack等通知方式(需提前配置SMTP或集成第三方服务)。

三、验证与维护

  1. 测试告警
    手动添加错误日志到监控路径,观察是否触发通知。
  2. 查看Watcher状态
    在Kibana的“Stack Management”→“Watcher”中查看规则运行情况。
  3. 调整阈值与规则
    根据实际需求修改query条件(如增加时间范围、关联字段)或actions中的通知方式。

注意事项

参考来源:

0
看了该问题的人还看了