Closes #2112
/claim #2112
Summary
Adds an snmp provider that ingests forwarded SNMP trap data as JSON through Keep’s existing webhook event endpoint.
This implementation is intentionally scoped to forwarded JSON trap ingestion only. It does not add a native UDP listener or a Keep-side SNMP runtime dependency.
What changed
Added snmp webhook provider, trap OID to alert name/severity mapping, stable fingerprint generation using fingerprint or source_address|trap_oid|entity_id, batch JSON payload support, provider docs and generated snippet and unit tests for parsing, mapping, and fingerprint behavior.
Testing
pytest tests/providers/snmp_provider/test_snmp_provider.py --confcutdir=tests/providers/snmp_provider
ruff check keep/providers/snmp_provider tests/providers/snmp_provider
black --check keep/providers/snmp_provider tests/providers/snmp_provider
isort --check-only keep/providers/snmp_provider tests/providers/snmp_provider
python scripts/docs_render_provider_snippets.py --validate
bash scripts/docs_validate_navigation.sh
Manual verification
POST single linkDown SNMP payload to /alerts/event/snmp -> 202 Accepted
POST single linkUp SNMP payload to /alerts/event/snmp -> 202 Accepted
POST JSON array with 2 SNMP events to /alerts/event/snmp -> 202 Accepted
Romil Pachori
@maketes79
Keep (YC W23)
@keephq