prometheus / prometheus/alertmanager
Feature Suggestion - Webhook integration should indicate timeout
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.6k
- Forks
- 2.5k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 61
Description
The webhook configuration timeout is dependent on configuration in alertmanager, which isn't visible to the endpoint receiving the request. It would be quite useful to have this information available in the receiving service, particularly where it acts as a proxy for integrating with something down-stream.
Scenario
I have an in-house routing service for alerts that is gathering events from multiple systems. In order to integrate with Alertmanager, I have a service that transforms Alertmanager-format webhooks and sends these on to my in-house alerting service. I would like to set my transforming service timeouts to be lower than Alertmanager is using, omit any retry logic and rely on Alertmanager to perform retries as it normally would. I can do this already, if I know what the alertmanager settings are, but if I have multiple teams that have their own configurations, this becomes more complex to deal with.
This approach would allow me to just use the alertmanager-indicated information to set my timeout.
Possible solution
Use a query parameter, e.g. ?timeout=30s in order to indicate this information from Alertmanager, in the same way certain Kubernetes requests behave.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Alertmanager's webhook configuration and request-generation path, then review how timeout settings are represented and propagated. The work is done when a receiving service can reliably obtain the configured timeout from each webhook request and the behavior is covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100