Skip to content

Icinga Plugins

Below you will find a documentation for every single available plugin provided by this repository. Most of the plugins allow the usage of default Icinga threshold range handling, which is defined as follows:

Argument Throws error on Ok range
20 < 0 or > 20 0 .. 20
20: < 20 between 20 .. ∞
~:20 > 20 between -∞ .. 20
30:40 < 30 or > 40 between {30 .. 40}
`@30:40 ≥ 30 and ≤ 40 outside -∞ .. 29 and 41 .. ∞

Please ensure that you will escape the @ if you are configuring it on the Icinga side. To do so, you will simply have to write an ` before the @ symbol: `@

To test thresholds with different input values, you can use the Framework Cmdlet Get-IcingaHelpThresholds.

Each plugin ships with a constant Framework argument -ThresholdInterval. This can be used to modify the value your thresholds are compared against from the current, fetched value to one collected over time by the Icinga for Windows daemon. In case you Collect Metrics Over Time for specific time intervals, you can for example set the argument to 15m to get the average value of 15m as base for your monitoring values. Please note that in this example, you will require to have collected the 15m average for Invoke-IcingaCheckCPU.

icinga> icinga { Invoke-IcingaCheckCPU -Warning 20 -Critical 40 -Core _Total -ThresholdInterval 15m }

[WARNING] CPU Load: [WARNING] Core Total (29,14817700%)
\_ [WARNING] Core Total: 29,14817700% is greater than threshold 20% (15m avg.)
| 'core_total_1'=31.545677%;;;0;100 'core_total_15'=29.148177%;20;40;0;100 'core_total_5'=28.827410%;;;0;100 'core_total_20'=30.032942%;;;0;100 'core_total_3'=27.731669%;;;0;100 'core_total'=33.87817%;;;0;100
Plugin Name Description
Invoke-IcingaCheckBiosSerial Finds out the Bios Serial
Invoke-IcingaCheckCertificate Check whether a certificate is still trusted and when it runs out or starts.
Invoke-IcingaCheckCheckSum Checks hash against file hash of a file
Invoke-IcingaCheckCPU Checks cpu usage of cores.
Invoke-IcingaCheckDirectory Checks for amount of files within a directory depending on the set filters
Invoke-IcingaCheckDiskHealth Checks availability, state and utilization of the physical hard disk
Invoke-IcingaCheckEventlog Checks how many eventlog occurrences of a given type there are.
Invoke-IcingaCheckFirewall Checks whether a firewall module is enabled or not
Invoke-IcingaCheckHttpJsonResponse Retrieves a JSON-Object via Request and performs desired checks
Invoke-IcingaCheckHTTPStatus Checks the response time, the return code and content of HTTP requests.
Invoke-IcingaCheckICMP Checks via ICMP requests to a target destination for response time and availability
Invoke-IcingaCheckMemory Checks on memory usage
Invoke-IcingaCheckMPIO Monitors the number of paths for each MPIO driver on your system.
Invoke-IcingaCheckNetworkInterface Checks availability, state and Usage of Network interfaces and Interface Teams
Invoke-IcingaCheckNLA Checks whether the network location awareness(NLA) found the correct firewall profile for a given network adapter
Invoke-IcingaCheckPerfcounter Performs checks on various performance counter
Invoke-IcingaCheckProcess A plugin to check thread, cpu, memory and pagefile usage for each single process
Invoke-IcingaCheckProcessCount Checks how many processes of a process exist.
Invoke-IcingaCheckScheduledTask Checks the current state for a list of specified tasks based on their name and prints the result
Invoke-IcingaCheckService Checks if defined services have a specific status or checks for all automatic services and if they are running and have not been terminated with exit code 0
Invoke-IcingaCheckStoragePool Checks availability, utilization and state of a StoragePool.
Invoke-IcingaCheckTCP Checks the connection for an address and a range of ports and fetches the connection status including the time require to connect.
Invoke-IcingaCheckTimeSync Gets Network Time Protocol time(SMTP/NTP) from a specified server
Invoke-IcingaCheckUNCPath Checks a given path / unc path and determines the size of the volume including free space
Invoke-IcingaCheckUpdates Checks how many updates are to be applied
Invoke-IcingaCheckUptime Checks how long a Windows system has been up for.
Invoke-IcingaCheckUsedPartitionSpace Checks how much space on a partition is used.
Invoke-IcingaCheckUsers Checks how many users are logged on to the host