Windows-Service Data Fields to Monitor Services - Example


I am new to Icinga2 and currently trying to set up the Windows-Service to monitor SQL and other services. I have deployed the agent on all the servers and most of the checks are currently in use like Disk Check - RAM - CPU, etc.

I am having an issue understanding on how to deploy the Windows-Service and build the Data Fields ? I have gone through documentation but I can’t get much out of it or any examples so I was wondering if someone can share a quick screenshot of an example I can give it a go ?

Without fields created, the Plugin Output is : Error: Non-optional macro ‘service_win_service’ used in argument ‘-s’ is missing.

(0) Executing check for object 

This is the first time dealing with Data Fields. Any suggestions / Recommendations would be really appreciated.

I only have a single server hosting Icinga2 Monitoring running on CentOS 7. Agent deployed on servers is v2.13.1.

I managed to resolve my issue above by creating a Mandatory field on the actual command and then typing the Service name after creating the Service Tamplate.

The Issue I am facing now is that we only had One template to deploy Agent based services and most of the servers that are not running SQL service it comes up with UNKNOWN State.

Is there a way to actually filter this if a service does not exist on the Server to skip the checks ? Or is there a way to remove the UNKNOW Status as it looks bad on the Dashboard.

I use a custom field in the director and only if a server has a tag from the list, the service-set containing the services needed to monitor this application are applied.

This workflow was introduced to me by the Linuxfabrik and is build into there baskets from the monitoring-plugins.

For example on the host it looks like this:


and on the services tab of the host it results in:


because of this:

be careful to use contains as the criteria or it will fail with more then one.

get’s rid of the unknowns in the dashboard.

I kind of managed to sort out the above by creating a Host Group which I then added all my SQL VM’s to it and then I created a Service Rule and assigned the to it.