Prometheus发送报警1--如何发送报警到Teams
    
  
      
      
     
    
      
        MS Teams中创建webhook
参考地址:
https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=newteams%2Cdotnet
配置AlertManager
分为两个版本,旧版本和新版本
老版本
老版本请参考这个工具
https://github.com/prometheus-msteams/prometheus-msteams
新版本
在新版本中,我们就可以直接使用teams配置来
https://prometheus.io/docs/alerting/latest/configuration/#msteams_config
配置receiver
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 |       - name: 'teams'msteams_configs:
 - webhook_url: '{{ webhook_url }}'
 title: '{{ template "teams_alert_title" . }}'
 text: '{{ template "teams_alert_message" . }}'
 templateFiles:
 teams_alert_title.tmpl: |-
 {{ define "teams_alert_title" }}[{{ .Status | toUpper }}] {{ .CommonLabels.alertname }}{{- end }}
 teams_alert_message.tmpl: |-
 {{ define "teams_alert_message" }}
 {{ range .Alerts }}
 *Environment:* megatron-dev-eks-cluster
 *Namespace:* {{ .Labels.namespace }}
 *Pod:* {{ .Labels.pod }}
 *Summary:* {{ .Annotations.summary }}
 *Description:* {{ .Annotations.description }}
 *Runbook_Url:* {{ .Annotations.runbook_url }}
 {{ end }}
 {{- end }}
 
 | 
webhook_url 为在Teams中创建的webhook
我们可以直接使用这个template,也可以加一些其他的内容
配置route
  routes:
  - receiver: 'xxx'
    continue: true
  - receiver: 'teams'
测试是否可行
经过上面的配置,在Teams中我们确实可以收到对应的alert,因此配置成功
      
     
    
      
  
  
    
      
      
        
        前Android/Vue开发,现Infra从业人员,主营监控/AWS