Skip to main content

客户端希望在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浦那大学的计算机工程学士学位.

DevOps是造成延迟和错过市场截止日期的唯一原因. 和我们谈谈,看看我们如何帮助你使DevOps成为你箭袋中最锋利的箭.

Leave a Reply