Integration Overview (Wazuh ➜ Icinga 2 API)
Integration Overview (Wazuh ➜ Icinga 2 API)
Assumptions:
-
Wazuh Manager is on
10.0.0.1 -
Icinga 2 Server is on
10.0.0.2 -
Icinga 2 has API enabled, with a user that can submit check results
-
Wazuh will trigger a script (
active-response) that calls the Icinga 2 REST API
Step-by-Step Setup
1. Enable Icinga 2 API on Icinga Server
Edit /etc/icinga2/features-enabled/api.conf:
Restart Icinga:
Test API from browser or curl:
2. Create Wazuh Active Response Script on Wazuh Manager
File: /var/ossec/active-response/bin/wazuh_to_icinga_api.sh
Make it executable:
3. Configure Wazuh to Use the Script
In /var/ossec/etc/ossec.conf:
4. Create Matching Custom Wazuh Rule
Edit /var/ossec/etc/rules/local_rules.xml:
Restart Wazuh:
5. Ensure the Icinga Host/Service Exist
Ensure that on the Icinga server, you already have a host and service definition like:
This way, the passive check will match an existing object.
Done!
Now, when Wazuh detects a matching event, it will:
-
Trigger an active response
-
Run the shell script
-
Send a passive check result to Icinga using its REST API
-
Show the alert in Icinga Web as a CRITICAL service status





