Some context on my issue: I am trying to run Metricbeat as a service on a Windows machine. Metricbeat was installed using Chocolatey and the Metricbeat service was also installed using the script from Chocolatey.
These are the modules enabled in Metricbeat
metricbeat.modules:
- module: system
metricsets:
- process
enabled: true
period: 10s
processes: ['.*']
cpu.metrics: ["percentages"]
core.metrics: ["percentages"]
- module: windows
metricsets: ["service"]
enabled: true
period: 10s
So when I run Metricbeat manually on Windows using metricbeat.exe -e -c metricbeat.yml
, everything works fine. However, when I run it as a service, the process metricset was not working. I get a bunch of "could not get Win32_Process" error. Here's one such line of log
2018-09-30T19:08:03.415-0700 ERROR process/process.go:454 Error getting process details. pid=1080: error getting process arguments for pid=1080: ProcArgs failed for pid=1080: could not get Win32_Process WHERE ProcessId = 1080: Class does not exist.
And the log file was bombarded with these log lines just 5 seconds after the service starts. So the question is, why does this happen only when I run Metricbeat as a service and how can I fix it?