debian

Filebeat如何检测并处理异常日志

小樊
41
2025-11-16 05:27:59
栏目: 编程语言

Filebeat异常日志的检测与处理

一 核心思路

二 采集侧识别与处理异常日志

示例 Filebeat 配置片段(仅示意)

filebeat.inputs:
- type: log
  paths:
    - /var/log/myapp/*.log
  multiline.pattern: '^[[:space:]]'
  multiline.negate: false
  multiline.match: after

processors:
  - drop_event.when.not.contains:
      message: "ERROR"
  - add_fields:
      fields:
        event.severity: "error"
        tags: ["exception"]
      target: ""

output.elasticsearch:
  hosts: ["http://es:9200"]
  username: "es_user"
  password: "es_pass"

上述做法依赖 processors 完成异常识别与标记,配合 multiline 保证堆栈完整,输出到 Elasticsearch 供后续告警使用。

三 基于 Elasticsearch 或 Logstash 的异常检测与告警

Watcher 最小可用示例(每分钟检查 ERROR 是否出现)

PUT _watcher/watch/error_log_monitor
{
  "trigger": { "schedule": { "interval": "1m" } },
  "input": {
    "search": {
      "request": {
        "indices": ["filebeat-*"],
        "body": {
          "query": {
            "bool": {
              "must": [ { "match": { "log.level": "error" } } ]
            }
          }
        }
      }
    }
  },
  "condition": {
    "compare": { "ctx.payload.hits.total.value": { "gt": 0 } }
  },
  "actions": {
    "notify_email": {
      "email": {
        "to": "ops@example.com",
        "subject": "Filebeat ERROR detected",
        "body": "New error logs found in the last minute."
      }
    }
  }
}

该示例展示了用 Watcherfilebeat-* 索引进行定时查询并在命中时触发邮件告警的基本流程。

四 Filebeat 自身异常的检测与处理

0
看了该问题的人还看了