First off, decide on the transport.
- Install an agent where the Icinga node talks to
- Query the services remotely
If your master/satellite instance cannot connect to the agent, you need to ensure that the agent can either connect to the parent node (Icinga 2 protocol) or send the check results with a different method (REST API on the parent node e.g.).
Install the Icinga agent on the Windows host and use it a command execution bridge (command_endpoint)
This way, communication uses TLS and connections can be established either from the agent to the master/satellite or vice versa.
The Icinga agent allows you to execute check scripts and plugins locally.
- vbs and Powershell scripts
- Icinga plugins provided with the agent installer package
- Local NSClient++ checks (check_nscp_api, nscp-local)
The Icinga Template Library provides many CheckCommand definitions out of the box already.
Older systems also support SNMP on Windows.