Summary
- Add SNMP webhook support for receiving SNMP traps/events into Keep as alerts (Issue #2112)
- Claiming bounty: /claim #2112
Changes
SNMP Provider Enhancements
- Added webhook support to receive SNMP traps from external systems (Zabbix, Nagios, etc.)
- Implemented webhook_description and webhook_template class attributes
- Added parse_event_raw_body() static method for parsing JSON payloads
- Added _format_alert() static method to convert traps to AlertDto
- Added WEBHOOK_INSTALLATION_REQUIRED = False to enable webhook tab
- Made pysnmp optional (only needed for sending traps)
Severity Mapping
- critical → CRITICAL
- error/high → HIGH
- warning/medium → WARNING
- low → LOW
- info → INFO
Demo
https://www.youtube.com/watch?v=_i0x0GqxG4Y
Testing
- Unit tests: tests/test_snmp_provider.py
- E2E tests: tests/e2e_tests/test_snmp_e2e.py
Closes #2112
Bounty Claim: /claim #2112