Prometheus Operator创建告警规则文件

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: Prometheus Operator创建告警规则文件

01 引言


最近在kubenetes上安装了kube-promethues(包含Prometheus Operator),程序正常跑起来了,主要是不知道如何配置规则文件和配置接收消息的对象。本文来讲讲。


02 规则文件配置


首先使用命令查看资源类型Prometheus的yml文件:

kubectl get Prometheus -n 指定的命名空间(即Prometheus Operator安装的命名空间)

45b5b54cb231414aa30e199f1a2e9cdd.png


可以看到Prometheus类型对象为k8s,查看里面的yml:

kubectl get Prometheus/k8s -n kubesphere-monitoring-system -o yaml


里面有个重要的内容,即matchLables,所有规则文件都需要有"prometheus:k8s"和"role:alert-rules",这样operator才会发现并自动创建。

13b7be7132764523b1ecb0097efbd05c.png


ok,可以创建告警规则文件了,使用vi命令:

vi bm-custom-rules.yaml


内容如下,注意下面的labels:

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
     prometheus: k8s
     ole: alert-rules
  name: bm-custom-rules 
  namespace: 输入命名空间
spec:
  groups:
  - name: disk
    rules:
    - alert: diskFree
      annotations:
        summary: "{{ $labels.job }}  项目实例 {{ $labels.instance }} 磁盘使用率大于 80%"
        description: "{{ $labels.instance }}  {{ $labels.mountpoint }}  磁盘使用率大于80%  (当前的值: {{ $value }}%),请及时处理"
      expr: |
        (1-(node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint!="/boot"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint!="/boot"}) )*100 > 80
      for: 1m
      labels:
        level: disaster
        severity: warning


保存,并使用命令创建:

kubectl create -f bm-custom-rules.yaml


创建成功后,使用命令查询是否创建成功:

kubectl get PrometheusRule -n 命名空间

ac59130669954dec86677ae56807fa5e.png


可以看到创建成功了,我们进入容器看看:

kubectl exec -it prometheus-k8s-0 /bin/sh -n 命名空间
cd /etc/prometheus/rules/prometheus-k8s-rulefiles-0/
ls


可看到在容器中,operator已经自动帮我们创建好规则文件了:

b32a38f41ee24d539f6b40812c076c12.png


看看Prometheus的web页面,可以看到规则部署成功:

6bca5043e421483481b445ad0e735ee1.png


03 配置告警接收者


直接在kubenetes的dashboard界面配置:

eecac1e658dd41158f83a10679f8a2ca.png


打开后点击编辑按钮:

8a15b52741e44b9391c4bc3ff115d9da.png


编辑完成后,点击update即可(这里配置了webhook):

48351646ae784fea972c6c5e9ebab5ec.png


一般来说会自动更新重启的,如果不放心,可以delete掉pod(删除之后会自动重启):

kubectl delete pod alertmanager-main-0  -n kubesphere-monitoring-system


03 文末


参阅文献:



相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
相关文章
|
5月前
|
Prometheus 监控 Kubernetes
如何用 Prometheus Operator 监控 K8s 集群外服务?
如何用 Prometheus Operator 监控 K8s 集群外服务?
|
12月前
|
Prometheus Kubernetes 监控
prometheus operator监控k8s集群之外的haproxy组件
prometheus operator监控k8s集群之外的haproxy组件
|
Prometheus 监控 Cloud Native
Grafana+prometheus变量支持include all设置方法
使用Prometheus进行采样收集,借助Grafana进行大盘展示,可以说是系统监控层面的基本操作了,在grafana的大盘配置时,借助变量的灵活性,来展示不同维度的数据表盘比较常见 现在有这样一个场景,一个应用有多台机器,我们设置一个变量 instance 来表示具体的实例ip,支持通过ip来选择不同机器的监控,怎么操作?
940 0
Grafana+prometheus变量支持include all设置方法
|
2月前
|
Prometheus 监控 前端开发
ARMS设置监控规则
【8月更文挑战第24天】
56 9
|
2月前
|
Prometheus Cloud Native
prometheus告警规则分发服务
prometheus告警规则分发服务
37 1
|
5月前
|
存储 Prometheus 监控
Alertmanager配置概述及告警规则
Alertmanager配置概述及告警规则
|
11月前
|
Prometheus Kubernetes Cloud Native
Prometheus Operator创建告警规则文件
Prometheus Operator创建告警规则文件
71 0
|
11月前
|
Prometheus 监控 Cloud Native
Prometheus Operator配置原理
Prometheus Operator配置原理
79 0
|
Prometheus 监控 Cloud Native
Prometheus 监控示例
Prometheus 监控示例
102 0
|
Prometheus 监控 Cloud Native
Prometheus-Operator模式下的Prometheus配置
Prometheus是常用的系统监控工具。本文介绍在Prometheus-Operator模式下如何使用自定义资源cr配置Prometheus。
Prometheus-Operator模式下的Prometheus配置