可以配置告警策略,但无法发送告警信息到邮件或者其他终端媒介,就是实现将的告警信息发送到终端的一个插件 。
本文介绍的是通过将告警发送到企业微信中
准备:
需要一个企业微信账号,网页端登录后创建一个应用,需要应用中的、 和企业ID
、 这两个点开创建的应用后就能看见
企业ID 在我的企业中最下方可以看到
创建告警配置文件
--wx.yaml
apiVersion: v1kind: ConfigMapmetadata:# 配置文件名称name: alertmanager-confignamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: EnsureExistsdata:alertmanager.yml: |global: resolve_timeout: 5mreceivers:- name: 'wx'wechat_configs:- send_resolved: trueagent_id: '1000007'# 自建应用的agentIdto_user: '@all'# 接收告警消息的人员Idapi_secret: 'xxxxxxxxxxxxxxxxx' # 自建应用的secretcorp_id: 'xxxxxxxxxx'# 企业IDroute:group_interval: 1mgroup_wait: 10sreceiver: wxrepeat_interval: 1mtemplates:- /etc/alertmanager/config/template.tmp1
需要修改、 和
创建告警模板文件
用于将告警信息格式化输出到企业微信中
就是--wx.yaml 中的- /etc///.tmp1
-.yaml
apiVersion: v1kind: ConfigMapmetadata:# 配置文件名称name: alter-template-confignamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: EnsureExistsdata:template.tmp1: |{{ define "wechat.default.message" }}{{- if gt (len .Alerts.Firing) 0 -}}{{- range $index, $alert := .Alerts -}}{{- if eq $index 0 }}===异常告警===告警类型: {{ $alert.Labels.alertname }}告警级别: {{ $alert.Labels.severity }}告警详情: {{ $alert.Annotations.description}}故障时间: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}{{- if gt (len $alert.Labels.instance) 0 }}实例信息: {{ $alert.Labels.instance }}{{- end }}{{- if gt (len $alert.Labels.namespace) 0 }}命名空间: {{ $alert.Labels.namespace }}{{- end }}{{- if gt (len $alert.Labels.node) 0 }}节点信息: {{ $alert.Labels.node }}{{- end }}{{- if gt (len $alert.Labels.pod) 0 }}实例名称: {{ $alert.Labels.pod }}{{- end }}===END==={{- end }}{{- end }}{{- end }}{{- if gt (len .Alerts.Resolved) 0 -}}{{- range $index, $alert := .Alerts -}}{{- if eq $index 0 }}===异常恢复===告警类型: {{ $alert.Labels.alertname }}告警级别: {{ $alert.Labels.severity }}告警详情: {{ $alert.Annotations.description}}故障时间: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}恢复时间: {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}{{- if gt (len $alert.Labels.instance) 0 }}实例信息: {{ $alert.Labels.instance }}{{- end }}{{- if gt (len $alert.Labels.namespace) 0 }}命名空间: {{ $alert.Labels.namespace }}{{- end }}{{- if gt (len $alert.Labels.node) 0 }}节点信息: {{ $alert.Labels.node }}{{- end }}{{- if gt (len $alert.Labels.pod) 0 }}实例名称: {{ $alert.Labels.pod }}{{- end }}===END==={{- end }}{{- end }}{{- end }}{{- end }}
创建服务
-.yaml
apiVersion: apps/v1kind: Deploymentmetadata:name: alertmanagernamespace: kube-systemlabels:k8s-app: alertmanagerkubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcileversion: v0.14.0spec:replicas: 1selector:matchLabels:k8s-app: alertmanagerversion: v0.14.0template:metadata:labels:k8s-app: alertmanagerversion: v0.14.0spec:priorityClassName: system-cluster-criticalcontainers:- name: prometheus-alertmanagerimage: "prom/alertmanager:v0.14.0"imagePullPolicy: "IfNotPresent"args:- --config.file=/etc/config/alertmanager.yml- --storage.path=/data- --web.external-url=/ports:- containerPort: 9093readinessProbe:httpGet:path: /#/statusport: 9093initialDelaySeconds: 30timeoutSeconds: 30volumeMounts:- name: config-volumemountPath: /etc/config- name: storage-volumemountPath: "/data"subPath: ""# 添加模板文件- name: templatemountPath: /etc/alertmanager/configresources:limits:cpu: 10mmemory: 50Mirequests:cpu: 10mmemory: 50Mi- name: prometheus-alertmanager-configmap-reload# 修改镜像image: "jimmidyson/configmap-reload:v0.4.0"imagePullPolicy: "IfNotPresent"args:- --volume-dir=/etc/config- --webhook-url=http://localhost:9093/-/reloadvolumeMounts:- name: config-volumemountPath: /etc/configreadOnly: true# 添加模板文件- name: templatemountPath: /etc/alertmanager/configresources:limits:cpu: 10mmemory: 10Mirequests:cpu: 10mmemory: 10Mivolumes:- name: config-volumeconfigMap:name: alertmanager-config# 修改为本地nfs挂载- name: storage-volumenfs:server: xxxxxxxx.cn-hangzhou.nas.aliyuncs.compath: /uat-pod-log/alertmanager# 挂载模板文件- configMap:name: alter-template-configname: template# - name: storage-volume#persistentVolumeClaim:#claimName: alertmanager
- 无货源模式跨境外贸电商现成源码,全开源,平台搭建
- 基于pytorch加GPT搭建AI玩王者荣耀
- 外贸商城跨境电商平台搭建系统开发--App+H5+网站
- 内部数据监控平台搭建方案
- 计算机网络原理【五】之 数据链路层与局域网
- 三山五岳是什么意思 登尽三山五岳是什么意思
- Dapps 以太坊在线用户排名前五的分布式应用程序
- 立冬来了!三藏五防不可少,提高免疫力过好冬天
- 哈哈日语 五十音图日语基础知识
- 小五和唐三是什么动画片