客户端希望在Kubernetes (AWS EKS)中设置和配置警报管理器,通过AWS SNS(简单通知服务)将Prometheus公司的警报发送到微软(MS)团队通道。. The Alert Manager supports and provides configuration for AWS SNS; however, we chose to use prometheus-msteams helm chart.
Prometheus使用 helm chart kube prometheus stack.
What is Helm chart?
Helm chart是Kubernetes的一个包管理器,它将应用程序打包成图表. 图表是文件的集合,可以描述为Kubernetes资源的集合.
What is Prometheus MS Teams?
Prometheus msteams 是一个服务器接收到一个警告消息作为一个POST消息从Prometheus警报管理器,并将其发送到微软团队频道使用传入的webhook URL.
在MS Teams通道中创建传入的webhook URL
点击更多的选项,然后在您需要获得警报消息的各自的MS Teams通道中,点击下面所示的连接器

Search and select Incoming Webhook and click on Add. Then click on Configure,输入名称,并上传一个图像为您的网钩,如果需要.

复制并保存窗口中显示的webhook URL.

Install kube-prometheus-stack Helm chart in the EKS cluster
(如果您已经安装了此舵角图或其他任何图,您可以跳过此步骤 prometheus and alert manager helm chart)
Helm repo添加prometheus-community http://prometheus-community.github.io/helm-charts helm repo update 安装[RELEASE_NAME] prometheus-community/kube-prometheus-stack
(注意:在我们的例子中,我们使用RELEASE_NAME作为 prometheus-stack)
如果要使用自定义值安装舵角图,则编辑 values.yaml 舵轮图文件,然后使用命令,
helm install –f values.yaml RELEASE_NAME prometheus-community / kube-prometheus-stack OR helm upgrade --install -f values.yaml RELEASE_NAME prometheus-community / kube-prometheus-stack
这个舵轮图包括普罗米修斯操作员, Prometheus, alert manager, Prometheus node-exporter, Kube-state-metrics, 用于Kubernetes Metrics api和Grafana的Prometheus适配器.
Install prometheus-ms-teams Helm chart in the EKS cluster
舵机回购添加普罗米修斯-msteams http://prometheus-msteams.github.io/prometheus-msteams/
Create a values.yaml 文件,并将以下值传递给该文件.

(Note: 提到警报的值作为你唯一的webhook URL,也正确 kube-prometheus-stack helm chart release name. In our case we use prometheus-stack)
Then install the helm chart using,
舵机升级-安装prometheus-msteams \ --namespace default -f values.yaml prometheus-msteams / prometheus-msteams
Create a values.yaml 文件,并将以下值传递给该文件.
创建一个警报管理器配置文件,并将该配置文件添加到Kubernetes secrets中

Where prometheus-msteams from webhook_configs url Kubernetes是Prometheus MS Teams的服务名称吗. Name the configuration file alertmanager.yaml.
创建一个包含此警报管理器配置的Kubernetes秘密,
Kubectl创建秘密通用的myalertmanager——from-file=alertmanager.yaml=alertmanager.yaml
你可以使用,
Kubectl得到秘密的我的alertmanager -o yaml

Copy the value of alertmanager.yaml 如图所示,并输入以下命令,检查是否向Kubernetes secret传递了正确的警报管理器配置,
echo "” | base64 -d
Mention this secret in the alertmanager section of the kube prometheus stack helm chart values.yaml

Upgrade the helm chart kube-prometheus-stack
helm upgrade -f values.yaml prometheus-stack kube-prometheus-stack
一旦更新,检查警报是否显示(如下图所示)
About the author
Shubham Lonkar
Shubham在菠菜大平台做了4年的DevOps工程师. 他精通Docker等工具和技术, Kubernetes, terraform, Jenkins, Gitlab CICD, Bitbucket CICD. Shubham拥有Savitribai Phule浦那大学的计算机工程学士学位.