General architecture design to monitor few windows hosts (children) through a linux parent.

Hello team, I created my first linux agent a few (2-3 years ago) and added 4 windows nodes and a ping monitor. All local, no cloud. A couple days back I tried upgrading to the latest netdata version located accidental 2 side by side installs. I wanted to go to ubuntu 24.04, so I decided to start from scratch on Friday 24th Jan 2025. Formatted the VM and installed ubuntu 24.04, 4vCpu, 6gb ram and 100 gb thin disk. The kickstart script did the trick and latest agent v2.2.0-23-nightly was online in no time. Then I installed the latest windows exporter on the 4 child nodes and verified that their localhost url exposes metrics at the 9182 port /metrics. I added the 4 nodes in the /etc/netdata/vnodes/vnodes.conf as per the relevant example in “Organize systems, metrics, and alerts | Learn Netdata” and generated new Guid for the 4 servers to monitor using the windows_exporter. Then I added the 4 nodes windows_exporter url as per the “Correct way to set up simple Windows metrics monitoring?” which I had also documented from my past attempts. Finally i noticed that I needed to add a line in “/usr/lib/netdata/conf.d/go.d.conf” to enable the windows plugin, the line was just “windows: yes” . This in the past had been wmi: yes but at some point evolved. The plugin debug command. Unfortunately this did not produce the desired outcome, no nodes shown besides the ubuntu agent. Debugging output of the plugin is not clear to me, pasting in case it helps.

root@netdata:/# sudo su -s /bin/bash netdata

netdata@netdata:/$ ./usr/libexec/netdata/plugins.d/go.d.plugin -d -m windows

DBG godplugin/main.go:62 plugin: name=go.d, version=v2.2.0-23-nightly component=agent

DBG godplugin/main.go:64 current user: name=netdata, uid=110 component=agent

INF godplugin/main.go:68 env HTTP_PROXY ‘’, HTTPS_PROXY ‘’ component=agent

INF agent/agent.go:156 instance is started component=agent

INF agent/setup.go:23 loading config file component=agent

DBG agent/setup.go:31 looking for ‘go.d.conf’ in [/etc/netdata /usr/lib/netdata/conf.d] component=agent

INF agent/setup.go:38 found '/usr/lib/netdata/conf.d/go.d.conf component=agent

INF agent/setup.go:45 config successfully loaded component=agent

INF agent/agent.go:160 using config: enabled ‘true’, default_run ‘true’, max_procs ‘0’ component=agent

INF agent/setup.go:50 loading modules component=agent

INF agent/setup.go:73 enabled/registered modules: 0/124 component=agent

INF agent/agent.go:173 no modules to run component=agent

Through the forum research I realized all the config files should be edited using the ./edit-config script as it interferes with the netdata user permissions which are crucial to correct operation, so I decided sticking with it.

Anyways, since within the agent dashboard no other nodes are shown as if I did nothing after basic setup of the OS and agent, I understand I am missing something important. The documentation has been replaced due to the much-anticipated windows agent, so it is not easy to find a relevant walkthrough anymore. Is this method supported? If yes, what step am I missing? If not, can I achieve the same result which is to monitor the linux agent and under it the 4 added nodes? Maybe I should ditch the windows_exporter (uninstall?) and go for the latest agent and follow a different path with parents and children nodes? Is there a document to guide me to achieve this offline? Thanks in advance!

Hello @alsko ,

Netdata now offers a Windows agent that can be installed directly on Microsoft Windows. You can download our latest MSI installer from this link: Netdata v2.2.1 Release.

During the installation, you’ll have the option to claim your node to Netdata Cloud and start visualizing your data seamlessly. Additionally, please note that Windows hosts are now supported on paid plans in Netdata Cloud.

If you have any questions or need further assistance, please don’t hesitate to reach out.

Best regards,
Thiago

Thanks for getting back, i was trying to figure out if this can be done offline, without internet access. Design used to be valid. Is it still? Or alernatively new agent works offline too? Through the cloud is it available with a free plan?

The Windows agent will only work on a paid plan.

Nice to know. Ok so does the old method with windows_exporter still work?

@alsko : The windows exporter can still be used using the Prometheus collector. But the Windows collector (based on the prometheus exporter) has been deprecated and this was the one that came with default visualisations and alerts for Windows. All of this functionality has been moved into the native Windows agent.
We have not made any changes to ingesting metrics using Prometheus collectors.

@sashwathn I downloaded the windows_exporter after reading the relevant at GitHub - prometheus-community/windows_exporter: Prometheus exporter for Windows machines and cannot see any deprecation message. Am I looking at the wrong place? localhost:9182 is showing the exposed data alright. Maybe take a look at my plugin debug output, it says INF agent/setup.go:73 enabled/registered modules: 0/124 component=agent but not sure how to fix. Maybe netdata cannot cope with the vast changes after windows _exporter v0.30? Mine is v0.30.1 downloaded from the releases page of the aforementioned url.

@alsko : It is not the Windows exporter that’s being deprecated. The Windows Collector within Netdata which was scraping from the Windows exporter is now being deprecated.
You can still use the Prometheus collector on Netdata to scrape these metrics but it will not come with out of the box alerts and will not have custom visualisations that were created as part of the Windows Collector.

The deprecation notice is available in Netdata v2.1.0 release notes and is implemented as part of this PR.

ok collectors and exporters is what got me mixed up, even though they are exact opposites. So I get that the answer to my problems is the configuration of the prmetheus collector (go.d/prometheus.conf) as per Prometheus endpoint | Learn Netdata. I added the jobs from windows.conf to premetheus.conf. From your description I understand that I need to create something within the conf file before any information is displayed under my linux agent, yes?