cloudflare/alertmanager2es
cloudflare/alertmanager2es has 246 GitHub stars and 40 forks. GitHot measured 0 in 7 days. Last checked 2026-11-10 04:44 UTC. Last push 2026-04-24.
Receives HTTP webhook notifications from AlertManager and inserts them into an Elasticsearch index for searching and analysis
측정된 스타 증가
- in 24h
- 업데이트 지연
- in 7 days
- 0
- in 15 days
- 업데이트 지연
- in 1 month
- 업데이트 지연
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
Originalalertmanager2es
alertmanager2es receives HTTP webhook notifications from AlertManager and inserts them into an Elasticsearch index for searching and analysis. It runs as a daemon.
The alerts are stored in Elasticsearch as alert groups.
Rationale
It can be useful to see which alerts fired over a given time period, and perform historical analysis of when and where alerts fired. Having this data can help:
- tune alerting rules
- understand the impact of an incident
- understand which alerts fired during an incident
It might have been possible to configure Alertmanager to send the alert groups
to Elasticsearch directly, if not for the fact that Elasticsearch does not
support unsigned integers at the time of writing. Alertmanager uses an
unsigned integer for the groupKey field, which alertmanager2es converts to a
string.
Limitations
- alertmanager2es will not capture silenced or inhibited alerts; the alert notifications stored in Elasticsearch will closely resemble the notifications received by a human.
- Kibana does not display arrays of objects well (the alert groupings use an array), so you may find some irregularities when exploring the alert data in Kibana. We have not found this to be a significant limitation, and it is possible to query alert labels stored within the array.
Prerequisites
To use alertmanager2es, you'll need:
- an Elasticsearch cluster
- Alertmanager 0.6.0 or above
To build alertmanager2es, you'll need:
Building
go get -u github.com/cloudflare/alertmanager2es
cd $GOPATH/src/github.com/cloudflare/alertmanager2es
make
Configuration
alertmanager2es usage
alertmanager2es is configured using commandline flags. It is assumed that alertmanager2es has unrestricted access to your Elasticsearch cluster.
alertmanager2es does not perform any user authentication.
Run ./alertmanager2es -help to view the configurable commandline flags.
Example Alertmanager configuration
Receiver configuration
- name: alertmanager2es
webhook_configs:
- url: https://alertmanager2es.example.com/webhook
Route configuration
By omitting a matcher, this route will match all alerts:
- receiver: alertmanager2es
continue: true
Example Elasticsearch template
Apply this Elasticsearch template before you configure alertmanager2es to start sending data:
{
"index_patterns": [
"alertmanager-2*"
],
"template": {
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.refresh_interval": "10s",
"index.query.default_field": "groupLabels.alertname"
},
"mappings": {
"properties": {
"@timestamp": {
"type": "date",
"doc_values": true
}
},
"dynamic_templates": [
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"ignore_above": 2048
}
}
}
]
}
}
}
We rotate our index once a month, since there's not enough data to warrant daily rotation in our case. Therefore our index name looks like:
alertmanager-200601
We anchor the template name with -2 to avoid inadvertently matching other
indices, e.g. alertmanager-foo-200601. This of course assumes that you will
no longer care to index your alerts in the year 3000.
Failure modes
alertmanager2es will return a HTTP 500 (Internal Server Error) if it encounters a non-2xx response from Elasticsearch. Therefore if Elasticsearch is down, alertmanager2es will respond to Alertmanager with a HTTP 500. No retries are made as Alertmanager has its own retry logic.
Both the HTTP server exposed by alertmanager2es and the HTTP client that connects to Elasticsearch have read and write timeouts of 10 seconds.
Metrics
alertmanager2es exposes Prometheus metrics on /metrics.
Example Elasticsearch queries
alerts.labels.alertname:"Disk_Likely_To_Fill_Next_4_Days"
Contributions
Pull requests, comments and suggestions are welcome.
Please see CONTRIBUTING.md for more information.
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,830 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,395 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,473 스타