I have some Windows servers that I’m trying to monitor using Icinga for Windows and the check_command of “Invoke-IcingaCheckPerfCounter”. Initially I was just trying to get all of the counters working and once I did I noticed what others have notice which is that CPU usage gets very high. Once I came to the realization that their solution was to make sure they were using the IFW-API I tried to configure that. I’m not having much luck. I’m not using Director, but manually configuring my environment.
I think I’ve followed the instructions but have been looking at it too long and must be missing something. I’ve added import “ifw-api” to my PowerShell_Base.conf on my Icinga2 server. It still seems to be running the CPU high on the checked host. I am pretty sure I’ve configured everything on the host to be allowing the API but I’m not sure what I’m missing. Any help is appreciated.
- Icinga for Windows output (
Show-Icinga
)
Icinga for Windows environment:
Environment configuration:
PowerShell Root => C:\Program Files\WindowsPowerShell\Modules
Icinga for Windows Service Path => C:\Program Files\icinga-framework-service
Icinga for Windows Service User => NT AUTHORITY\SYSTEM
Icinga for Windows Service Pid => 10248
Icinga for Windows JEA Pid =>
Icinga Agent Path => C:\Program Files\ICINGA2
Icinga Agent User => NT AUTHORITY\SYSTEM
Defined Default User => QUATTRO-VM-W1\icinga
Icinga Managed User => False
PowerShell Version => 5.1.14393.8146
Operating System => Microsoft Windows Server 2016 Standard
Operating System Version => 10.0.14393
JEA Context => IcingaForWindows
JEA Session File => C:\Program Files\WindowsPowerShell\Modules\icinga-powershell-framework\RoleCapabilities\IcingaForWindows.psrc
Api Check Forwarder => True
Debug Mode => False
Icinga for Windows Certificate:
Issuer => CN=Icinga CA
Subject => CN=quattro-vm-w1.cowpokes.cowboystatetrucking.com
List of configured background daemons on this system:
Start-IcingaServiceCheckDaemon
No arguments defined
Start-IcingaWindowsRESTApi
No arguments defined
List of configured background service checks on this system:
=> Collect Metrics Over Time - Icinga for Windows
No background service checks configured
List of configured repositories on this system. The list order matches the apply order:
Icinga Stable Local
CloneSource => https://packages.icinga.com/IcingaForWindows/stable/ifw.repo.json
Enabled => True
LocalPath => C:\icinga\icinga_stable
Order => 1
RemotePath => C:\icinga\icinga_stable
UseSCP => False
Icinga Stable
CloneSource =>
Enabled => True
LocalPath =>
Order => 0
RemotePath => https://packages.icinga.com/IcingaForWindows/stable/ifw.repo.json
UseSCP => False
Installed components on this system:
Component Version Available
agent 2.14.6 2.14.6
framework 1.13.3 1.13.3
mssql 1.5.0 1.5.0
plugins 1.13.1 1.13.1
service 1.3.0 1.3.0
- Version used (
icinga2 --version
)
icinga2 - The Icinga 2 network monitoring daemon (version: r2.13.6-1)
Copyright (c) 2012-2025 Icinga GmbH (https://icinga.com/)
License GPLv2+: GNU GPL version 2 or later https://gnu.org/licenses/gpl2.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
System information:
Platform: Debian GNU/Linux
Platform version: 12 (bookworm)
Kernel: Linux
Kernel version: 6.1.0-27-amd64
Architecture: x86_64
Build information:
Compiler: GNU 12.2.0
Build host: x86-ubc-02
OpenSSL version: OpenSSL 3.0.16 11 Feb 2025
Application information:
General paths:
Config directory: /etc/icinga2
Data directory: /var/lib/icinga2
Log directory: /var/log/icinga2
Cache directory: /var/cache/icinga2
Spool directory: /var/spool/icinga2
Run directory: /run/icinga2
Old paths (deprecated):
Installation root: /usr
Sysconf directory: /etc
Run directory (base): /run
Local state directory: /var
Internal paths:
Package data directory: /usr/share/icinga2
State path: /var/lib/icinga2/icinga2.state
Modified attributes path: /var/lib/icinga2/modified-attributes.conf
Objects path: /var/cache/icinga2/icinga2.debug
Vars path: /var/cache/icinga2/icinga2.vars
PID path: /run/icinga2/icinga2.pid
-
Operating System and version
Debian 12 Bookworm -
Enabled features (
icinga2 feature list
)
Disabled features: command compatlog debuglog elasticsearch gelf icingadb influxdb influxdb2 livestatus opentsdb perfdata statusdata syslog
Enabled features: api checker graphite ido-mysql mainlog notification -
Icinga Web 2 version and modules (System - About)
|Icinga Web 2 Version |2.11.4|
|—|—|
|PHP Version |8.2.28|
Loaded Libraries
icinga/icinga-php-thirdparty | 0.11.0 |
---|---|
icinga/icinga-php-library | 0.10.1 |
Loaded Modules
-
Config validation (
icinga2 daemon -C
)
[2025-06-16 18:04:43 -0600] information/cli: Icinga application loader (version: r2.13.6-1)
[2025-06-16 18:04:43 -0600] information/cli: Loading configuration file(s).
[2025-06-16 18:04:43 -0600] information/ConfigItem: Committing config item(s).
[2025-06-16 18:04:43 -0600] information/ApiListener: My API identity: cst-XenIcinga2
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 GraphiteWriter.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 NotificationComponent.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 IdoMysqlConnection.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 CheckerComponent.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 7 UserGroups.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 5 TimePeriods.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 5 Users.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 364 Services.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 3 ServiceGroups.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 703 ScheduledDowntimes.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 17 Zones.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 3 NotificationCommands.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 451 Notifications.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 83 Hosts.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 IcingaApplication.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 17 HostGroups.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 415 Dependencies.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 EventCommand.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 636 Downtimes.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 15 Endpoints.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 FileLogger.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 ApiUser.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 279 CheckCommands.
[2025-06-16 18:04:44 -0600] information/ConfigItem: Instantiated 1 ApiListener.
[2025-06-16 18:04:45 -0600] information/ScriptGlobal: Dumping variables to file ‘/var/cache/icinga2/icinga2.vars’
[2025-06-16 18:04:45 -0600] information/cli: Finished validating the configuration file(s). -
If you run multiple Icinga 2 instances, the
zones.conf
file (oricinga2 object list --type Endpoint
andicinga2 object list --type Zone
) from all affected nodes