This project is an alert proxy for alertmanager's webhook alert.
We planed to support alert channels below:
- Feishu Robot
- Aliyun Msg
- Aliyun Voice
- Dingding Robot
- ...
- Deploy
kubectl apply -f https://raw.githubusercontent.com/kubegems/alertproxy/main/bundle.yaml
- Check
kubectl get pod -n kubegems-monitoring
NAME READY STATUS RESTARTS AGE
alertproxy-7d6cddbc96-brcr8 1/1 Running 0 1m
Use feishu as example:
- http api
POST ${alertproxy_addr}?type=feishu&url=&{feishu_robot_addr}&at=${user_id}&signSecret=${sign_secret}
body should be an alertmanager alert format, eg:
{
"receiver": "myreceiver",
"status": "firing",
"alerts": [
{
"status": "firing",
"labels": {
"cluster": "kubegems",
"gems_alertname": "kubegems-test-alert",
"gems_namespace": "kubegems-test-namespace",
"severity": "error"
},
"annotations": {
"message": "kubegems test alert message",
"value": "0"
},
"startsAt": "2022-10-25T18:44:16.375635254+08:00",
"endsAt": null,
"generatorURL": "",
"fingerprint": ""
}
],
"groupLabels": null,
"commonLabels": null,
"commonAnnotations": null,
"externalURL": "",
"version": "",
"groupKey": "",
"truncatedAlerts": 0
}
- config in alertmanager
receivers:
- name: feishu
webhookConfigs:
- sendResolved: false
url: ${alertproxy_addr}?type=feishu&url=&{feishu_robot_addr}&at=${user_id}&signSecret=${sign_secret}
Refer to DEVELOPMENT.md