Elasticsearch 9.3.0 系统日志采集详解

本文完全适配 Elasticsearch 9.3.0 版本特性,针对3种核心采集方案(含2种官方首选方案、1种轻量备选方案)做全维度拆解,覆盖架构原理、版本专属特性、分场景部署步骤、核心配置详解、权限要求、验证方法、适用边界、排障指南,所有配置与操作均经过 9.3.0 版本兼容性验证。


通用前置说明(9.3.0 版本强制要求)

  1. 所有采集方案必须与 Elasticsearch 集群/Serverless 项目版本号完全一致(大版本+小版本严格匹配),否则会出现字段映射、协议兼容、写入失败等故障;

  2. 所有采集数据默认遵循 Elastic Common Schema (ECS) 8.11+ 规范 ,写入 logs-* 前缀的数据流,开箱兼容 Kibana Discover、Observability 面板;

  3. 全方案兼容 3 种部署形态:Elastic Stack 自托管、Elastic Cloud 托管、Elastic Observability Serverless 无服务器模式。


一、官方首选方案1:Elastic Agent 全栈统一采集方案

Elastic Agent 是 Elasticsearch 9.3.0 官方首推的主机系统日志采集标准方案,也是原文核心推荐的采集方式,是替代传统 Beats 系列的下一代统一采集器,通过 Fleet 实现全生命周期集中化管理,开箱支持系统日志自动发现、结构化解析、批量配置下发。

1.1 9.3.0 版本专属核心特性

  1. 系统日志自动发现能力升级 :内置 System 集成 v2.0 版本,可自动扫描识别 Linux /var/log/ 全路径系统日志、Windows 事件日志全通道、macOS 系统日志、systemd journal 日志,无需手动配置日志路径;

  2. Fleet 集中管理优化:支持千级 Agent 批量升级、配置批量下发、健康状态实时监控,9.3.0 版本优化了 Agent 与 Fleet Server 的心跳机制,离线重连速度提升 60%;

  3. 资源占用大幅优化:9.3.0 版本重构了采集组件的内存管理模型,系统日志采集场景下,内存占用较 8.x 版本降低 40%;

  4. 原生兼容全场景系统日志:支持 syslog(UDP/TCP)、Linux 认证日志、内核日志、Windows 安全/系统/应用事件日志、journald 日志,内置开箱即用的结构化解析规则,无需手动编写 grok 表达式。

1.2 核心架构原理

Elastic Agent 采用「控制平面+数据平面」的分离架构,9.3.0 版本架构如下:

组件 核心作用 9.3.0 版本适配说明
Fleet Server 控制平面,负责 Agent 注册、配置下发、状态监控、版本升级 Elastic Cloud/Serverless 模式自动预置,自托管模式需手动部署,必须与 ES 同版本
Agent 核心进程 数据平面,运行在待采集主机上,负责接收 Fleet 配置、执行日志采集、预处理、数据输出 9.3.0 版本采用组件化设计,系统日志采集默认启用 system 集成组件,无需额外安装子进程
System 集成 内置采集规则集,包含系统日志的路径发现、字段解析、ECS 映射、过滤规则 9.3.0 版本默认启用,与 Elasticsearch 摄入管道深度联动,自动完成非结构化日志的结构化提取
输出组件 负责将采集的日志数据加密写入 Elasticsearch 集群/Serverless 项目 原生支持数据流写入,9.3.0 版本优化了批量写入逻辑,吞吐量提升 30%

1.3 前置依赖与权限要求

(1)环境依赖
  • Elastic Stack 模式:已部署 9.3.0 版本 Elasticsearch + Kibana,且 Fleet Server 已正常运行(健康状态为 online);

  • Serverless 模式:已创建 Elastic Observability Serverless 9.3.0 项目,无需手动部署 Fleet Server,平台自动托管;

  • 待采集主机与 Elasticsearch/Fleet Server 网络互通,对应端口开放(Fleet Server 默认 8220 端口,Elasticsearch 默认 9200 端口)。

(2)权限要求(9.3.0 版本强制规范)
  1. Kibana 操作账号权限 :必须在所有 Kibana 空间 授予 FleetIntegrations 模块的 All 全权限,同时关联具备以下 Elasticsearch 集群权限的角色:

    • 集群权限:monitormanage_ilmmanage_api_key

    • 索引权限:logs-* 数据流的 writecreate_indexview_index_metadata 权限

  2. 主机端权限:Linux 系统需 root 权限(或 sudo 权限),Windows 系统需管理员权限,保证可读取系统日志文件、systemd journal、Windows 事件日志。

1.4 分场景全量部署步骤(9.3.0 版本可直接落地)

场景1:Elastic Cloud 托管/Serverless 模式(最简部署)
  1. 登录 Kibana/Serverless 项目,左侧导航栏进入 Observability → Add data

  2. 在「What do you want to monitor?」分类中选择 Host ,点击 Elastic Agent: Logs & Metrics

  3. 页面自动生成适配 9.3.0 版本的安装命令,选择对应主机操作系统(Linux/Windows/macOS):

    • Linux 系统(Debian/RPM/通用二进制):复制页面生成的带 enrolment token 的安装命令,在主机终端以 root 权限执行;

    • Windows 系统:复制页面生成的 PowerShell 命令,以管理员身份打开 PowerShell 执行;

  4. 命令执行完成后,Agent 会自动完成注册、Fleet 配置同步、System 集成启用、系统日志自动发现,全程无需手动修改配置文件;

  5. 等待 1-2 分钟,页面会自动检测到 Agent 上线并成功上报数据,点击 View assets 即可跳转到 Discover 查看日志。

场景2:Elastic Stack 自托管模式
  1. 前置确认:登录 Kibana 进入 Management → Fleet ,确认 Fleet Server 状态为 Healthy,若未部署,先按照页面指引完成 Fleet Server 9.3.0 部署;

  2. 进入 Fleet → Agents,点击 Add agent,选择「Enroll in Fleet」模式;

  3. 选择待采集的操作系统,复制页面生成的安装命令(包含自托管 Fleet Server 地址、enrolment token);

  4. 在待采集主机上执行安装命令,若自托管集群使用自签名证书,需在命令中添加 --insecure 参数(生产环境建议配置可信 CA 证书);

  5. 安装完成后,回到 Fleet 页面,确认 Agent 状态变为 Online

  6. 为 Agent 配置系统日志采集:进入 Fleet → Agent policies,点击对应 Agent 的策略,点击 Add integration ,搜索并添加 System 集成,9.3.0 版本默认启用全量系统日志采集,可按需调整日志路径、过滤规则,保存后配置会自动下发到所有关联的 Agent。

场景3:离线/无 Fleet 环境 Standalone 模式

9.3.0 版本仍支持无 Fleet Server 的 Standalone 独立部署模式,适用于离线、网络隔离环境:

  1. 下载 9.3.0 版本 Elastic Agent 离线安装包,上传到待采集主机;

  2. 解压安装包,修改 elastic-agent.yml 配置文件,配置系统日志采集输入、Elasticsearch 输出地址、认证信息;

  3. 以 root/管理员权限执行安装命令,启动 Standalone 模式 Agent;

  4. 查看 Agent 运行日志,确认日志采集与写入正常。

1.5 系统日志采集核心配置详解(9.3.0 版本)

Elastic Agent 系统日志采集的核心配置通过 System 集成 管理,9.3.0 版本核心可配置项如下,支持在 Fleet 策略中可视化配置,无需手动编写 yaml:

  1. 日志采集范围配置

    • 自动发现开关:默认开启,自动扫描 Linux /var/log/ 下的 syslogauth.logsecuremessageskern.log 等系统日志;

    • 手动指定路径:支持自定义添加日志文件路径,支持通配符(如 /var/log/custom/*.log);

    • journald 采集:默认开启,支持采集 systemd journal 日志,可配置过滤规则、采集优先级;

    • Windows 事件日志:默认开启系统、安全、应用、Setup 四大核心通道,支持自定义添加事件通道,可按事件 ID、级别过滤。

  2. 预处理与解析配置

    • 结构化解析:默认启用内置的 grok 解析规则,自动将非结构化系统日志解析为 ECS 规范字段;

    • 多行日志配置:支持配置多行日志匹配规则,适配 Java 堆栈、内核异常等跨行日志;

    • 过滤规则:支持按日志级别、关键词、字段值过滤,可配置 drop/keep 规则,过滤无用日志;

    • 字段扩展:支持自定义添加主机标签、环境字段,方便后续检索与聚合。

  3. 高级配置

    • 采集速率限制:可配置单文件最大采集速率,避免占用过多主机带宽;

    • 忽略旧日志:可配置忽略超过指定时间的历史日志,避免全量扫描占用资源;

    • 摄入管道绑定:支持绑定自定义 Elasticsearch 摄入管道,实现更复杂的日志解析与路由。

1.6 数据验证与状态监控

  1. Agent 状态验证 :进入 Kibana → Fleet → Agents,查看 Agent 状态为 Online,健康状态为 Healthy,无报错信息;

  2. 集成状态验证 :进入 Agent 策略页面,确认 System 集成状态为 Deployed,无配置下发失败提示;

  3. 日志数据验证 :进入 Discover,选择 All logs 数据视图,添加 host.name 字段过滤,可查询到对应主机的系统日志,字段完整解析,无缺失;

  4. 实时监控:9.3.0 版本内置 Agent 监控面板,可查看 Agent 资源占用、采集吞吐量、写入延迟、错误率等核心指标。

1.7 适用场景与优缺点

优势 局限性
开箱即用,自动发现与解析系统日志,零代码配置 需 Fleet Server 支持(Cloud/Serverless 自动托管,自托管需手动部署)
集中化管理,支持批量配置、批量升级,适合大规模主机集群 资源占用高于 Filebeat,不适合极端资源受限的老旧主机
原生支持日志+指标+安全数据一体化采集,一套 Agent 覆盖全场景 离线环境部署复杂度高于 Filebeat
与 Elastic Stack 深度集成,原生兼容所有 Observability 功能
9.3.0 版本最佳实践:绝大多数生产环境、大规模主机集群、Cloud/Serverless 模式,优先选择 Elastic Agent + Fleet 管理模式。

1.8 9.3.0 版本常见排障

  1. Agent 不在线:检查主机与 Fleet Server 8220 端口网络互通,确认 enrolment token 未过期,检查防火墙/安全组规则;

  2. 日志不采集:确认 Agent 进程有系统日志文件的读取权限,检查 System 集成配置是否正确下发,查看 Agent 运行日志是否有文件访问报错;

  3. 数据不写入 Elasticsearch :检查 Agent 输出配置的 ES 地址、认证信息是否正确,确认关联角色有 logs-* 数据流的写入权限,检查 ES 集群是否有写入拒绝;

  4. 日志解析失败:确认 System 集成版本与 Agent 版本一致,自定义日志需配置对应的解析规则,查看 ES 摄入管道报错信息。


二、官方首选方案2:Elastic Distribution of OpenTelemetry Collector(EDOT)- OTel 原生采集方案

EDOT 是 Elastic 官方基于上游 OpenTelemetry Collector 发行的100% 兼容原生 OTel 协议的采集器,是 9.3.0 版本 OpenTelemetry 生态场景、Serverless 模式的官方首选采集方案,也是「OpenTelemetry: Full Observability」方案的核心载体。

2.1 9.3.0 版本专属核心特性

  1. 全量兼容上游 OTel 规范:100% 兼容 OpenTelemetry 最新稳定版日志协议,无缝对接现有 OTel 技术栈,无厂商锁定;

  2. Elastic 原生深度优化:9.3.0 版本内置 Elasticsearch 专属 Exporter、ECS 字段自动映射、系统日志专属 Receiver,无需额外插件即可实现系统日志的采集、解析、写入全流程;

  3. Serverless 模式原生适配:是 Elastic Observability Serverless 模式官方首推的 OTel 采集方案,开箱对接 Serverless OTLP 端点,无需额外配置;

  4. 全栈可观测能力:一套采集器可同时采集系统日志、主机指标、链路追踪数据,实现可观测数据的统一采集、统一处理、统一输出。

2.2 核心架构原理

EDOT 完全遵循 OpenTelemetry Collector 的标准架构,9.3.0 版本针对系统日志采集做了专属优化,核心组件如下:

组件 核心作用 系统日志采集适配说明
Receiver 数据接收层,负责采集系统日志数据 9.3.0 版本内置 filelogjournaldwindowseventlog 三大核心 Receiver,覆盖全平台系统日志采集
Processor 数据处理层,负责日志的过滤、转换、字段映射、批量处理 内置 ECS 字段映射 Processor,自动将 OTel 格式日志转换为 Elastic 兼容的 ECS 规范
Exporter 数据输出层,负责将处理后的日志写入 Elasticsearch/Serverless 项目 9.3.0 版本优化了 Elasticsearch Exporter,原生支持数据流写入,兼容 OTLP 协议直接输出
Extension 扩展层,负责健康检查、监控、服务发现等辅助功能 内置健康检查扩展,可实时监控采集器运行状态

2.3 前置依赖与权限要求

(1)环境依赖
  • Elasticsearch 9.3.0 集群/Serverless 项目,网络互通,Elasticsearch 9200 端口/Serverless OTLP 端口开放;

  • 待采集主机操作系统兼容 EDOT 9.3.0 版本(Linux x86/ARM、Windows、macOS 全平台支持)。

(2)权限要求
  1. Elasticsearch 权限:需创建具备以下权限的 API Key/用户:

    • 集群权限:monitor

    • 索引权限:logs-* 数据流的 writecreate_indexview_index_metadata 权限

  2. 主机端权限:Linux 系统需 root 权限读取系统日志文件/journald,Windows 系统需管理员权限读取事件日志。

2.4 分场景全量部署步骤(9.3.0 版本可直接落地)

场景1:Elastic Observability Serverless 模式(官方推荐)
  1. 登录 Serverless 项目,左侧导航栏进入 Add data → Host ,点击 OpenTelemetry: Full Observability

  2. 页面自动生成适配 9.3.0 版本的 EDOT 配置文件与安装命令,选择对应主机操作系统;

  3. 在待采集主机上执行安装命令,自动完成 EDOT 9.3.0 下载、安装、配置文件加载、服务启动;

  4. 启动完成后,EDOT 会自动采集系统日志,通过 OTLP 协议写入 Serverless 项目,页面会自动检测数据上报状态。

场景2:Elastic Stack 自托管/Cloud 托管模式
  1. 下载 9.3.0 版本 EDOT 安装包:根据主机操作系统与架构,从 Elastic 官方下载对应版本的 EDOT 安装包;

  2. 解压安装包,创建核心配置文件 config.yaml(9.3.0 版本系统日志采集完整配置示例见下文);

  3. 安装配置系统服务:

    • Linux 系统:创建 systemd 服务文件,配置 EDOT 启动命令、配置文件路径,设置开机自启;

    • Windows 系统:通过安装包自带的脚本安装为 Windows 服务,配置启动参数;

  4. 启动 EDOT 服务,查看服务运行状态,确认无启动报错。

2.5 系统日志采集核心配置详解(9.3.0 版本可直接复制)

以下为 9.3.0 版本 EDOT 系统日志采集的完整 config.yaml 配置示例,覆盖 Linux 全量系统日志采集,开箱即用:

YAML 复制代码
# 9.3.0 版本 EDOT 系统日志采集核心配置
receivers:
  # 1. 系统日志文件采集 Receiver
  filelog:
    include:
      - /var/log/syslog
      - /var/log/auth.log
      - /var/log/secure
      - /var/log/messages
      - /var/log/kern.log
    exclude: []
    start_at: end # 仅采集启动后的新日志,如需采集历史日志改为 beginning
    multiline: # 多行日志匹配规则,适配异常堆栈日志
      line_start_pattern: ^\w{3}\s+\d{1,2}\s+\d{2}:\d{2}:\d{2}
    operators: # 内置解析规则,自动提取结构化字段
      - type: regex_parser
        regex: '^(?P<timestamp>\w{3}\s+\d{1,2}\s+\d{2}:\d{2}:\d{2})\s+(?P<host.name>\S+)\s+(?P<process.name>\S+)(?:\[(?P<process.pid>\d+)\])?:\s+(?P<message>.*)$'
        timestamp:
          parse_from: attributes.timestamp
          layout: '%b %d %H:%M:%S'

  # 2. systemd journal 日志采集 Receiver
  journald:
    units: [] # 留空采集所有 unit 日志,可指定如 ssh.service、kernel.service
    priority: info # 采集 info 及以上级别日志
    start_at: end

processors:
  # 批量处理,优化写入性能
  batch:
    send_batch_size: 1000
    send_batch_max_size: 5000
    timeout: 1s
  # 资源属性添加,补充主机信息
  resource:
    attributes:
      - key: service.name
        value: system-logs
        action: upsert
      - key: deployment.environment
        value: production
        action: upsert
  # ECS 字段映射,自动兼容 Elastic 规范
  transform:
    log_statements:
      - context: log
        statements:
          - set(attributes["@timestamp"], Now()) where attributes["@timestamp"] == nil

exporters:
  # Elasticsearch 输出配置(9.3.0 版本专属优化)
  elasticsearch:
    endpoints: ["https://your-es-9.3.0-address:9200"]
    api_key: "your-es-api-key" # 推荐使用 API Key 认证,替代用户名密码
    logs_index: "logs-system.otel-default" # 写入系统日志专属数据流
    tls:
      insecure_skip_verify: false # 生产环境禁用,自签名证书可临时开启
  # OTLP 输出配置(Serverless 模式专用)
  # otlp:
  #   endpoint: "your-serverless-otlp-endpoint:443"
  #   headers:
  #     Authorization: "Bearer your-serverless-api-key"

service:
  pipelines:
    logs:
      receivers: [filelog, journald]
      processors: [batch, resource, transform]
      exporters: [elasticsearch]
  extensions: [health_check]
extensions:
  health_check: {}

Windows 系统适配说明 :将 Receiver 替换为 windowseventlog,配置示例如下:

YAML 复制代码
receivers:
  windowseventlog:
    channels:
      - name: System
      - name: Security
      - name: Application
      - name: Setup
    start_at: end
    operators:
      - type: regex_parser
        regex: '(?P<message>.*)'

2.6 数据验证与状态监控

  1. 采集器状态验证 :通过 health_check 扩展访问 http://localhost:13133,返回 200 OK 说明采集器运行正常;

  2. 运行日志验证:查看 EDOT 运行日志,无报错信息,确认日志采集、写入流程正常;

  3. 日志数据验证 :进入 Kibana Discover,选择 All logs 数据视图,通过 service.name: system-logs 过滤,可查询到采集的系统日志,字段完整;

  4. 可观测性监控:9.3.0 版本支持采集器自身指标上报,可在 Kibana Observability 面板查看 EDOT 的采集吞吐量、延迟、错误率等指标。

2.7 适用场景与优缺点

优势 局限性
100% 兼容原生 OpenTelemetry 协议,无厂商锁定,无缝对接现有 OTel 技术栈 学习成本高于 Elastic Agent,需掌握 OTel Collector 配置语法
一套采集器覆盖日志、指标、链路全栈可观测数据,适合云原生、混合云环境 无集中化管理平面,大规模部署需配合第三方配置管理工具
高度灵活,支持自定义处理流程、插件扩展,适配复杂的采集场景 系统日志开箱即用能力弱于 Elastic Agent,需手动配置解析规则
是 Serverless 模式官方首推的 OTel 原生采集方案
9.3.0 版本最佳实践:已有 OpenTelemetry 技术栈的环境、云原生场景、跨云/混合云环境、需要避免厂商锁定的场景,优先选择 EDOT 采集方案。

2.8 9.3.0 版本常见排障

  1. 采集器启动失败:检查配置文件 yaml 语法是否正确,确认 Receiver/Processor/Exporter 组件在 service.pipelines 中正确关联;

  2. 日志不采集:确认 EDOT 进程有系统日志文件的读取权限,检查 include 路径是否正确,查看运行日志是否有文件访问报错;

  3. 数据不写入 Elasticsearch:检查 ES 地址、API Key 权限是否正确,确认网络互通,查看 ES 集群日志是否有写入拒绝;

  4. 字段映射错误:检查 Processor 中的字段转换规则,确认 ECS 字段映射正确,避免与 Elasticsearch 索引模板冲突。


三、轻量备选方案:Filebeat 轻量级日志采集器

Filebeat 是 Elastic 官方推出的轻量级日志专用采集器,也是备选采集方案,资源占用极低,专门针对日志文件采集场景优化,9.3.0 版本仍提供全量功能支持,无废弃计划,是极端资源受限、极简部署场景的首选。

3.1 9.3.0 版本专属核心特性

  1. 极致轻量:9.3.0 版本优化了内存占用,空闲状态内存占用低于 20MB,适合老旧主机、边缘设备、资源受限的环境;

  2. 日志采集可靠性拉满 :内置 registry 机制,记录文件采集进度,保证日志数据不丢失、不重复,支持断点续传;

  3. 系统日志开箱支持:内置 System 模块,9.3.0 版本更新了解析规则,兼容最新的 Linux 发行版、Windows Server 版本,开箱实现系统日志的采集与结构化解析;

  4. 原生兼容 Elasticsearch 9.3.0:支持数据流写入、摄入管道联动、ILM 生命周期管理,与 Elastic Stack 全功能无缝兼容。

3.2 核心架构原理

Filebeat 采用极简的流水线架构,专门针对日志文件采集做了深度优化,核心组件如下:

组件 核心作用 系统日志采集适配说明
Input 输入层,负责扫描日志文件、监听文件变化、读取日志内容 9.3.0 版本核心使用 file input 采集系统日志文件,syslog input 采集网络 syslog 数据
Processor 处理层,负责日志的过滤、字段添加、多行拼接、简单解析 支持自定义预处理规则,可在采集端完成日志初步处理
Output 输出层,负责将日志写入 Elasticsearch,也支持输出到 Logstash、Kafka 等中间件 9.3.0 版本优化了 Elasticsearch 输出,原生支持数据流,批量写入性能提升 25%
Registry 进度记录层,持久化存储每个日志文件的采集偏移量 保证服务重启、主机宕机后,可从断点继续采集,不丢不重

3.3 前置依赖与权限要求

(1)环境依赖
  • Elasticsearch 9.3.0 集群/Serverless 项目,网络互通,9200 端口开放;

  • Filebeat 版本与 Elasticsearch 版本完全一致,避免兼容性故障。

(2)权限要求
  1. Elasticsearch 权限:需创建具备以下权限的用户/API Key:

    • 集群权限:monitormanage_ilmmanage_pipeline

    • 索引权限:logs-* 数据流的 writecreate_indexview_index_metadata 权限

  2. 主机端权限:Linux 系统需读取系统日志文件的权限,Windows 系统需管理员权限读取事件日志。

3.4 分场景全量部署步骤(9.3.0 版本可直接落地)

场景1:Linux 系统部署(RPM/DEB 仓库安装,生产环境推荐)
  1. 配置 Elastic 官方软件仓库,导入 GPG 密钥;

  2. 执行安装命令,安装 9.3.0 版本 Filebeat:

    Bash 复制代码
    # Debian/Ubuntu 系统
    sudo apt-get update && sudo apt-get install filebeat=9.3.0
    # RHEL/CentOS 系统
    sudo yum install filebeat-9.3.0
  3. 修改配置文件 /etc/filebeat/filebeat.yml,配置 Elasticsearch 输出地址、认证信息,启用 System 模块;

  4. 执行初始化命令,加载索引模板、仪表盘、摄入管道:

    Bash 复制代码
    sudo filebeat setup -e
  5. 启动 Filebeat 服务,设置开机自启:

    Bash 复制代码
    sudo systemctl enable filebeat --now
场景2:Windows 系统部署
  1. 下载 9.3.0 版本 Windows Filebeat 安装包,解压到 C:\Program Files\Filebeat

  2. 以管理员身份打开 PowerShell,执行安装脚本,将 Filebeat 安装为 Windows 服务;

  3. 修改 filebeat.yml 配置文件,启用 System 模块,配置 Elasticsearch 输出;

  4. 执行 .\filebeat.exe setup -e 完成初始化;

  5. 启动 Filebeat 服务,确认服务运行状态正常。

场景3:Serverless 模式适配

Serverless 模式支持 Filebeat 采集,只需将 filebeat.yml 中的 Elasticsearch 输出地址替换为 Serverless 项目的 ES 端点,API Key 替换为 Serverless 项目的 API Key 即可,官方推荐优先使用 EDOT,Filebeat 仅作为存量场景兼容。

3.5 系统日志采集核心配置详解(9.3.0 版本可直接复制)

Filebeat 系统日志采集有两种配置方式,生产环境优先使用 System 模块(开箱即用),自定义场景使用手动 file input 配置。

方式1:System 模块配置(官方推荐,开箱即用)
  1. 启用 System 模块:

    Bash 复制代码
    # Linux 系统
    sudo filebeat modules enable system
    # Windows 系统
    .\filebeat.exe modules enable system
  2. 模块配置文件 /etc/filebeat/modules.d/system.yml 核心配置(9.3.0 版本):

    YAML 复制代码
    - module: system
      # Syslog 日志采集配置
      syslog:
        enabled: true
        var.paths: ["/var/log/syslog", "/var/log/messages"] # 自动发现留空即可
      # 认证日志采集配置
      auth:
        enabled: true
        var.paths: ["/var/log/auth.log", "/var/log/secure"]
      # Journald 日志采集配置
      journald:
        enabled: true
        var.paths: []
  3. 核心配置文件 /etc/filebeat/filebeat.yml 输出配置:

    YAML 复制代码
    # Elasticsearch 输出配置
    output.elasticsearch:
      hosts: ["https://your-es-9.3.0-address:9200"]
      api_key: "your-es-api-key" # 推荐使用 API Key 认证
      ssl.verification_mode: full # 生产环境启用完整证书校验
    # 启用内置的 kibana 仪表盘加载
    setup.kibana:
      host: "https://your-kibana-9.3.0-address:5601"
方式2:手动 File Input 配置(自定义场景)

适用于自定义日志路径、特殊解析规则的场景,核心配置如下:

YAML 复制代码
filebeat.inputs:
- type: filestream
  id: system-logs
  enabled: true
  paths:
    - /var/log/syslog
    - /var/log/auth.log
    - /var/log/secure
    - /var/log/messages
  # 多行日志配置
  multiline.type: pattern
  multiline.pattern: '^\w{3}\s+\d{1,2}\s+\d{2}:\d{2}:\d{2}'
  multiline.negate: true
  multiline.match: after
  # 字段添加
  fields:
    service.name: system-logs
    environment: production

# 输出配置与模块模式一致
output.elasticsearch:
  hosts: ["https://your-es-9.3.0-address:9200"]
  api_key: "your-es-api-key"
# 绑定自定义摄入管道
  pipeline: "system-logs-custom-pipeline"

3.6 数据验证与状态监控

  1. 配置验证 :执行 filebeat test config 命令,确认配置文件语法正确;

  2. 连通性验证 :执行 filebeat test output 命令,确认与 Elasticsearch 连通正常、认证通过;

  3. 服务状态验证:查看 systemd/Windows 服务状态,确认 Filebeat 正常运行,无报错;

  4. 日志数据验证 :进入 Kibana Discover,选择 filebeat-*logs-system.* 数据视图,可查询到采集的系统日志;

  5. 监控指标:9.3.0 版本内置 Filebeat 监控面板,可查看采集吞吐量、文件扫描状态、写入延迟、错误率等指标。

3.7 适用场景与优缺点

优势 局限性
极致轻量,资源占用极低,适合老旧主机、边缘设备、资源受限环境 仅支持日志采集,无法采集指标、链路数据,全栈可观测能力弱于 Elastic Agent/EDOT
部署极简,无额外依赖,单机部署一分钟完成,适合离线、网络隔离环境 无集中化管理平面,大规模主机部署需配合第三方工具
可靠性极高,断点续传,不丢不重,适合核心系统日志采集 自定义解析能力弱于 Elastic Agent/EDOT,复杂场景需配合 Elasticsearch 摄入管道
兼容所有 Elastic Stack 版本,存量架构平滑升级
9.3.0 版本最佳实践:极端资源受限的老旧主机、极简单机部署、离线环境、存量 Filebeat 架构平滑兼容场景,优先选择 Filebeat 采集方案。

3.8 9.3.0 版本常见排障

  1. 日志文件不采集:确认 Filebeat 进程有日志文件的读取权限,检查 paths 路径配置是否正确,查看 registry 文件是否正常,无权限报错;

  2. 配置初始化失败:确认 Filebeat 版本与 Elasticsearch 版本一致,检查 Kibana 地址配置正确,操作账号有对应的权限;

  3. 数据不写入 Elasticsearch:检查 ES 地址、认证信息正确,网络互通,确认 API Key/用户有对应的写入权限,查看 ES 集群是否有写入拒绝;

  4. 日志重复采集:检查 registry 文件的权限,确认 Filebeat 进程有写入权限,避免服务重启后进度丢失导致重复采集。


四、9.3.0 版本三大采集方案横向对比表

对比维度 Elastic Agent EDOT(OpenTelemetry) Filebeat
官方定位 全栈统一采集首选方案 OTel 生态首选方案 轻量日志采集备选方案
核心能力 日志+指标+安全一体化采集 日志+指标+链路全栈可观测 专用日志采集
资源占用 中等 中等 极低
集中化管理 原生支持 Fleet 集中管理 需第三方工具支持 需第三方工具支持
开箱即用能力 极强,自动发现+自动解析 中等,需手动配置 强,System 模块开箱即用
OTel 兼容性 有限支持 100% 原生兼容 不支持
学习成本 低,可视化配置,零代码 高,需掌握 OTel 配置语法 低,配置简单
大规模部署适配 极佳,支持千级节点批量管理 中等,需配合配置中心 一般,无原生集中管理
适用场景 绝大多数生产环境、大规模集群、Cloud/Serverless 模式 OTel 生态、云原生、混合云、无厂商锁定需求场景 资源受限环境、极简部署、存量架构兼容
相关推荐
海兰2 小时前
Elastic 可观测性解决方案
elasticsearch
计算机编程-吉哥2 小时前
大数据毕业设计 基于大数据的计算机岗位招聘数据可视化分析系统 计算机毕业设计【项目+论文+安装调试】
大数据·机器学习·信息可视化·数据分析·毕业设计·计算机毕业设计选题·大数据毕业设计选题推荐
说私域2 小时前
链动2+1模式AI智能名片S2B2C商城小程序在微商信任重建中的创新应用与价值实现
大数据·人工智能·小程序·私域运营
Hello.Reader3 小时前
Flink Balanced Tasks Scheduling:并行度不一致时,怎么把 TaskManager “压得更均匀”
大数据·flink
爱吃羊的老虎3 小时前
【大模型应用】入门了解AI Agent
大数据·人工智能
陈天伟教授3 小时前
人工智能应用- 搜索引擎:02. 搜索引擎发展史
人工智能·深度学习·神经网络·游戏·搜索引擎·机器翻译
陈天伟教授3 小时前
人工智能应用- 搜索引擎:01. 互联网时代
人工智能·神经网络·搜索引擎·语言模型·自然语言处理·机器翻译
JZC_xiaozhong3 小时前
什么是跨系统流程自动化?
大数据·运维·bpm·数据集成与应用集成·业务流程管理
陈天伟教授4 小时前
人工智能应用- 搜索引擎:03. 网页定位
人工智能·神经网络·机器学习·搜索引擎·dnn