You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Elastic Heartbeat的add_process_metadata监控Windows服务运行状态

为什么现有配置无法获取进程数据

add_process_metadata处理器的核心逻辑是从已生成的监控事件中读取PID字段,再匹配系统进程信息补充到事件内。你当前搭配的是ICMP类型的monitor,该类monitor仅执行网络层ping探测,生成的事件本身不包含任何进程ID、端口关联进程信息,因此无论如何配置match_pids参数都无法匹配到进程数据。

Heartbeat实现Windows服务/进程监控的方案

Heartbeat本身没有内置专门的Windows服务扫描monitor,但可以通过exec类型的monitor调用PowerShell脚本实现按固定服务名/二进制名的监控需求,无需引入其他Beats组件。

1. 按Windows服务名监控配置示例

heartbeat.monitors:
- type: exec
  id: custom-windows-service-monitor
  name: 目标业务服务监控
  schedule: '*/10 * * * * *' # 每10秒执行一次探测,可自行调整频率
  command: 'powershell.exe'
  args:
    - '-ExecutionPolicy'
    - 'Bypass'
    - '-Command'
    # 替换下方<实际服务名>为你要监控的Windows服务的正式名称(可在服务属性页查询,非显示名称)
    - '$svc = Get-Service -Name "<实际服务名>" -ErrorAction SilentlyContinue; if ($svc -and $svc.Status -eq "Running") { exit 0 } else { exit 1 }'
  timeout: 5s
  • 脚本退出码为0时Heartbeat判定服务正常,非0时判定服务异常,符合标准监控上报逻辑。
  • 若需要补充进程PID、二进制路径等元数据到事件中,可以调整PowerShell脚本输出JSON格式的字段,Heartbeat会自动将输出内容合并到监控事件里:
$svcName = "<实际服务名>"
$svc = Get-Service -Name $svcName -ErrorAction SilentlyContinue
if ($svc -and $svc.Status -eq "Running") {
    $svcInfo = Get-CimInstance -ClassName Win32_Service -Filter "Name='$svcName'"
    Write-Output "{`"service.name`":`"$svcName`",`"service.status`":`"Running`",`"process.pid`":$($svcInfo.ProcessId),`"process.executable`":`"$($svcInfo.PathName.Replace('\','\\'))`"}"
    exit 0
} else {
    Write-Output "{`"service.name`":`"$svcName`",`"service.status`":`"Stopped`"}"
    exit 1
}

2. 按二进制文件名监控配置示例

如果需要按进程二进制名称监控,只需调整PowerShell命令即可:

args:
  - '-ExecutionPolicy'
  - 'Bypass'
  - '-Command'
  # 替换<二进制文件名(不含.exe后缀)>为实际的进程名,例:要监控notepad.exe就填notepad
  - '$proc = Get-Process -Name "<二进制文件名(不含.exe后缀)>" -ErrorAction SilentlyContinue; if ($proc) { exit 0 } else { exit 1 }'

可选:搭配add_process_metadata补充字段

如果你的脚本已经输出了process.pid字段,也可以配置add_process_metadata处理器自动补全进程的其余元数据:

processors:
- add_process_metadata:
    match_pids: ["process.pid"]
    target: process.metadata

内容的提问来源于stack exchange,提问作者Christian Langis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:27:00