Introduction
Zabbix actions are automated responses that trigger when specific conditions are met, such as when a trigger fires or an event occurs. When actions fail to execute despite triggers firing, monitoring alerts go unnoticed, potentially leading to missed critical incidents. This issue commonly stems from misconfigured action conditions, incorrect operation settings, insufficient user permissions, or disabled action status. Understanding the action execution flow and proper configuration is essential for reliable alerting.
Symptoms
When Zabbix actions are not executing, you may observe the following symptoms:
- Triggers fire and show "PROBLEM" state in the dashboard, but no actions are recorded
- Event log shows trigger events with no associated action executions
- Users report not receiving notifications despite active alerts
- The "Actions" column in trigger status shows empty or "None"
- Audit log shows no action execution attempts for firing triggers
- Action log entries are missing for events that should have triggered responses
Zabbix server log may show:
Action [ActionName] does not match event conditions
No actions found for event [eventid]Or in the web interface under Monitoring > Problems, you see alerts with no executed actions.
Common Causes
- 1.Action is disabled - The action status is set to "Disabled" in configuration
- 2.Condition mismatch - Action conditions don't match the actual trigger or host properties
- 3.Operation user/group mismatch - Configured operations reference non-existent users or groups
- 4.Media type disabled - Email, SMS, or webhook media types are disabled or misconfigured
- 5.User media disabled - User's notification media is disabled or has incorrect settings
- 6.Permission issues - User or user group lacks read permissions on the host
- 7.Maintenance mode - Host is in maintenance with data collection disabled
- 8.Escalation timing - Steps are configured but default step duration causes delays
- 9.Recovery conditions - Recovery operations configured incorrectly causing no notifications
- 10.Action log full - Action log table corruption or database issues preventing logging
Step-by-Step Fix
Step 1: Verify Action Status and Conditions
Navigate to Configuration > Actions and verify:
# Check if action is enabled via API
zabbix-api action.get --filter '{"name":"Your Action Name"}' --output extend- 1.In the Zabbix web interface:
- 2.Go to Configuration > Actions > Trigger actions
- 3.Verify the action Status is "Enabled" (green checkmark)
- 4.Click on the action name to edit
- 5.Review the Conditions tab carefully
Common condition issues: - Trigger severity - Condition requires specific severity but trigger has different severity - Host group - Condition requires specific host group but host is in different group - Trigger value - Condition only matches PROBLEM or OK, not both - Maintenance status - Condition may exclude hosts in maintenance
Step 2: Check Operation Configuration
Review the Operations tab in the action configuration:
# List action operations via API
zabbix-api action.get --actionids 123 --selectOperations extend- 1.Verify each operation:
- 2.Operation type - Ensure "Send message" or custom operation is selected
- 3.Send to user groups - Verify user groups exist and have members
- 4.Send to users - Verify users exist and are active
- 5.Send only to - Verify media types are enabled
- 6.Default message - Check if custom message is needed
Example correct operation configuration:
``
Operation type: Send message
Send to user groups: Zabbix administrators
Send to users: (empty or specific users)
Send only to: Email, Webhook
Default message: Enabled
Step 3: Verify User Media Configuration
Check that users have properly configured media:
# Check user media via API
zabbix-api user.get --selectMedias extend --output extend- 1.In the web interface:
- 2.Go to Administration > Users
- 3.Click on the user receiving notifications
- 4.Go to Media tab
- 5.Verify media is configured:
- 6.- Type: Email (or other media type)
- 7.- Send to: Valid email address
- 8.- When active: Time period includes current time (default 1-7,00:00-24:00)
- 9.- Use if severity: Check marks for severity levels that should trigger
Step 4: Verify Media Type Configuration
Check the media type is enabled and properly configured:
# Check media types
zabbix-api mediatype.get --output extend- 1.In the web interface:
- 2.Go to Administration > Media types
- 3.Verify Email or other media type is Enabled
- 4.Click on the media type to check configuration:
- 5.- SMTP server: Valid server address
- 6.- SMTP server port: Correct port (25, 465, 587)
- 7.- Security: SSL/TLS settings match server requirements
- 8.- Authentication: Credentials if required
Test email sending: ```bash # Test via CLI echo "Test email body" | mail -s "Zabbix Test" recipient@example.com
# Check Zabbix server log for sending errors tail -f /var/log/zabbix/zabbix_server.log | grep -i "email|smtp|alert" ```
Step 5: Check Host and Trigger Permissions
Verify user groups have proper permissions on the host:
# Check user group permissions
zabbix-api usergroup.get --selectRights extend --output extend- 1.In the web interface:
- 2.Go to Administration > User groups
- 3.Select the user group
- 4.Review Permissions tab
- 5.Ensure the host group containing the trigger host has at least "Read" permission
Step 6: Check Maintenance Mode
Hosts in maintenance may not trigger actions:
# Check maintenance status
zabbix-api maintenance.get --output extend --selectHosts extend- 1.In the web interface:
- 2.Go to Configuration > Maintenance
- 3.Check if the host is in active maintenance
- 4.If "With data collection" is selected, actions should still trigger
- 5.If "No data collection" is selected, actions won't trigger
Step 7: Repair and Re-enable Components
If issues are found, apply fixes:
```bash # Enable action via API zabbix-api action.update --actionid 123 --status 0
# Enable media type zabbix-api mediatype.update --mediatypeid 1 --status 0
# Enable user media zabbix-api user.update --userid 2 --medias '[{"mediatypeid": "1", "sendto": "user@example.com", "active": "0"}]' ```
In the web interface, simply toggle the status switches to enable.
Verification
After making changes, verify actions execute correctly:
- 1.Trigger a test alert:
- 2.- Temporarily adjust a trigger threshold to fire immediately
- 3.- Or use a dedicated test trigger/item
- 4.Check action log:
- 5.```bash
- 6.# Query alerts table directly
- 7.mysql -u zabbix -p zabbix -e "SELECT * FROM alerts WHERE clock > UNIX_TIMESTAMP(NOW() - INTERVAL 10 MINUTE);"
- 8.
` - 9.Verify in web interface:
- 10.- Go to Reports > Action log
- 11.- Filter by recent time period
- 12.- Check for successful action executions
- 13.Confirm notification delivery:
- 14.- Check email inbox for test notification
- 15.- Verify webhook endpoint received request
- 16.- Check Slack/Teams for posted message
Expected successful output in action log:
``
Event ID: 12345
Action: Your Action Name
Operation: Send message to Zabbix administrators
Status: Sent
Sent to: user@example.com
Prevention
To prevent future action execution issues:
- 1.Regular testing - Set up a cron job to trigger test alerts weekly
- 2.```bash
- 3.# Weekly test alert script
- 4.zabbix_sender -z localhost -s "TestHost" -k test.trigger -o 1
- 5.
` - 6.Monitor media types - Add internal monitoring for email/webhook health
- 7.Document action dependencies - Maintain documentation of user groups, media types, and permission requirements
- 8.Use action conditions wisely - Start with broad conditions and refine based on testing
- 9.Set up action self-monitoring - Create internal Zabbix items to monitor action execution metrics:
- 10.```sql
- 11.-- Track alerts sent in last hour
- 12.SELECT COUNT(*) FROM alerts WHERE clock > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR);
- 13.
` - 14.Enable action logging - Ensure Zabbix server configuration includes:
- 15.
` - 16.LogSlowQueries=3000
- 17.DebugLevel=3
- 18.
` - 19.Audit permissions regularly - Review user group permissions quarterly to ensure proper access
Related Articles
- [WordPress troubleshooting: Fix IAM Timeout Error - Complete Trouble](fix-iam-timeout-error)
- [Technical troubleshooting: Fix Cloudwatch Alarm Not Triggering Issue in Monit](cloudwatch-alarm-not-triggering)
- [Fix Datadog Agent Not Sending Metrics Issue in Monitoring](datadog-agent-not-sending-metrics)
- [Fix Elasticsearch Cluster Red Yellow Status Issue in Monitoring](elasticsearch-cluster-red-yellow-status)
- [Fix Alertmanager Notification Failed](fix-alertmanager-notification-failed)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "TechArticle", "headline": "Zabbix Action Not Executing", "description": "Fix Zabbix actions not running when triggers fire. Diagnose condition matching, operation settings, and user permissions.", "url": "https://www.fixwikihub.com/fix-monitoring-zabbix-action-not-executing", "publisher": { "@type": "Organization", "name": "FixWikiHub", "url": "https://www.fixwikihub.com" }, "author": { "@type": "Person", "name": "FixWikiHub Editorial Team" }, "datePublished": "2025-12-13T03:07:48.116Z", "dateModified": "2025-12-13T03:07:48.116Z" } </script>