玩转rancher 2.6之 monitor监控

news2024/12/20 14:49:53

目录

前言

1. 安装monitor

2. 安装prometheus-webhook-dingtalk

2.1 配置钉钉告警配置文件

 2.2 创建钉钉告警模板

2.3 创建dingtalk configmap配置文件

2.4 安装dingtalk

2.5 dingtalk调用方法

3. 配置告警

3.1 配置告警接收者

3.2 配置路由默认告警接收者

4. 测试


前言

参考RancherLabs 文章: ( Rancher2.6全新Monitoring快速入门_RancherLabs的博客-CSDN博客

对rancher monitor使用过程中的配置讲解补充,补充了alertmanger发送钉钉告警的实现过程,通过安装dingtalk插件完成钉钉机器人告警推送,详细如下

1. 安装monitor

集群-集群工具Monitoring

根据实际需求修改部署要求:如持久化,数据保存时长等

 

安装完毕后可在: 集群-监控,查看仪表盘

分别可查看alertmanger、grafana和prometheus web界面

 

2. 安装prometheus-webhook-dingtalk

2.1 配置钉钉告警配置文件

注意:先创建钉钉机器人,安全验证配置secret,用于下面的配置文件中

创建dingtalk config.yml

# url和secret改为自己的机器人webhook地址和secret
templates:
  - /etc/prometheus-webhook-dingtalk/dingding.tmpl
targets:
  k8s:
    url: https://oapi.dingtalk.com/robot/send?access_token="你的钉钉webhook"
    secret: "你的钉钉webhook secret"
    message:
      title: '{{ template "ops.title" . }}'
      text: '{{ template "ops.content" . }}'

 2.2 创建钉钉告警模板

dingding.tmpl

{{ define "__subject" }}
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]
{{ end }}
{{ define "__alert_list" }}{{ range . }}
---
    [告警程序]: gz-test-k8s 
    [告警级别]: {{ index .Labels.severity }} 
    [告警类型]: {{ index .Labels.alertname }} 
    [故障实例]: {{ index .Labels.instance }} 
    [告警主题]: {{ index .Annotations.summary }}
    [告警详情]: {{ index .Annotations.description }}
    [触发时间]: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}  
{{ end }}{{ end }}
{{ define "__resolved_list" }}{{ range . }}
---
    [告警程序]: gz-test-k8s
    [告警级别]: {{ index .Labels.severity }} 
    [告警类型]: {{ index .Labels.alertname }} 
    [故障实例]: {{ index .Labels.instance }} 
    [告警详情]: {{ index .Annotations.description }}
    [状态]: 恢复正常
    [触发时间]: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}  
    [恢复时间]: {{ (.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
{{ end }}{{ end }}
{{ define "ops.title" }}
{{ template "__subject" . }}
{{ end }}
{{ define "ops.content" }}
{{ if gt (len .Alerts.Firing) 0 }}
**侦测到{{ .Alerts.Firing | len  }}个故障**
{{ template "__alert_list" .Alerts.Firing }}
---
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
**恢复{{ .Alerts.Resolved | len  }}个故障**
{{ template "__resolved_list" .Alerts.Resolved }}
{{ end }}
{{ end }}
{{ define "ops.link.title" }}{{ template "ops.title" . }}{{ end }}
{{ define "ops.link.content" }}{{ template "ops.content" . }}{{ end }}
{{ template "ops.title" . }}
{{ template "ops.content" . }}

2.3 创建dingtalk configmap配置文件

将以上的配置文件保存为文件,通过kubectl创建configmap

$  kubectl create configmap dingtalk-cm --from-file=config.yml=config.yml --from-file=dingding.tmpl=dingding.tmpl -n cattle-monitoring-system
$  kubectl get cm dingtalk-cm  -n cattle-monitoring-system
NAME          DATA   AGE
dingtalk-cm   2      87m 

2.4 安装dingtalk

部署文件 dingtalk.yaml

apiVersion: v1
kind: Service
metadata:
  name: dingtalk
  namespace: cattle-monitoring-system
spec:
  selector:
    app: dingtalk
  ports:
    - name: http
      protocol: TCP
      port: 8060
      targetPort: 8060
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dingtalk
  namespace: cattle-monitoring-system
  labels:
    app: dingtalk
spec:
  replicas: 1
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  selector:
    matchLabels:
      app: dingtalk
  template:
    metadata:
      labels:
        app: dingtalk
    spec:
      restartPolicy: "Always"
      containers:
      - name: dingtalk
        image: timonwong/prometheus-webhook-dingtalk
        imagePullPolicy: "IfNotPresent"
        volumeMounts:
          - name: dingtalk-conf
            mountPath: /etc/prometheus-webhook-dingtalk/
        resources:
          limits:
            cpu: "400m"
            memory: "500Mi"
          requests:
            cpu: "100m"
            memory: "100Mi"
        ports:
        - containerPort: 8060
          name: http
          protocol: TCP 
        readinessProbe:
          failureThreshold: 3
          periodSeconds: 5
          initialDelaySeconds: 30
          successThreshold: 1
          tcpSocket:
            port: 8060
        livenessProbe:
          tcpSocket:
            port: 8060
          initialDelaySeconds: 30
          periodSeconds: 10
      volumes:
        - name: dingtalk-conf
          configMap:
            name: dingtalk-cm

部署到命名空间下:cattle-monitoring-system

> kubectl get deployments.apps dingtalk -n cattle-monitoring-system 
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
dingtalk   1/1     1            1           68m
> kubectl get svc dingtalk -n cattle-monitoring-system 
NAME       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
dingtalk   ClusterIP   10.43.245.38   <none>        8060/TCP   69m

2.5 dingtalk调用方法

# 和alertmanager部署在同个命名空间则可以使用以下的方式调用
# http://dingtalk:8060/dingtalk/"你的钉钉webhook名字"/send
# 如配置了k8s的接收者,地址如下
http://dingtalk:8060/dingtalk/k8s/send

3. 配置告警

3.1 配置告警接收者

集群-监控-Alerting-Routes and Receivers-接收者-创建

 

创建一个默认接收者,同时接收邮件和钉钉告警

 

3.2 配置路由默认告警接收者

集群-监控-Alerting-Routes and Receivers-路由

root匹配全部告警规则,不可删除

 

 

4. 测试

rancher monitor安装后,默认配置了针对组件、节点、pod的告警策略,可在 集群-监控-Advanced-PrometheusRule 查看,修改或新增,具体按实际需要

在本配置了接收者和路由后,可以看到当触发告警时,收到对应的邮件通知

 

钉钉告警

 

觉得有用点个关注吧~欢迎一起讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初识C++ (三)

初识C 三引用一. 引用的概念代码演示二. 引用特性1. 引用在定义时必须要初始化2. 一个引用可以有多个实体3. 引用一旦引用一个实体&#xff0c;再不能引用其他实体三. 使用场景1. 做参数2. 做返回值内存销毁后空间还在吗&#xff1f;内存销毁后我们还能访问嘛&#xff1f;结论优…

论文写作——ICASSP论文写作及投稿

记录 ICASSP2023 写作投稿过程。小白如何写好并投稿自己的第一篇英文论文&#xff1f;投稿会议时&#xff08;以 ICASSP2023 为例&#xff09;有哪些需要关注的信息以及注意事项&#xff1f;论文写作必备软件有哪些&#xff1f;论文书写关注点有哪些&#xff1f;论文格式与排版…

【Node.JS 】http的概念及作用

往期文章 【Node.JS 练习】时钟案例 【Node.JS 】path路径模块 【Node.JS 练习】考试成绩整理 【Node.JS】buffer类缓冲区 【Node.JS】事件的绑定与触发 【Node.JS】写入文件内容 【Node.JS】读取文件内容 什么是http模块 在网络节点中&#xff0c;负责消费资源的电脑&…

【C语言】C语言文件操作详解(一)

前言 本章主要讨论的是数据文件&#xff0c;如何使用C语言对数据文件进行输入输出数据的操作&#xff0c;以及文件顺序读写涉及的库函数详解 目录前言1.为什么使用文件2.什么是文件2.1程序文件2.2数据文件2.3文件名3.文件的打开和关闭3.1文件指针3.2文件的打开3.3文件的关闭3.…

初识JAVA

文章目录初识 java 的 main 方法main 方法示例运行Java程序注释基本规则注释规范标识符关键字初识 java 的 main 方法 main 方法示例 public class test {public static void main(String[] args) {System.out.println("hello world!");} }如果我们学的C语言&#…

DASCTF X GFCTF 2022十月挑战赛 Writeup

文章目录WEBEasyPOPMISC滴滴图ez_xxdpoi&#xff1f;qoi&#xff01;easy_dotsdockermiscWEB EasyPOP Fast Destruct优先一步__wakeup()执行析构函数 从一道题看fast_destruct fine::__invoke() <- sorry::__get() <- secret_code::show() <- secret_code::__call…

使用 MySQL 日志 - Part 1

在软件应用程序中&#xff0c;日志文件会记录系统中执行的操作以及执行操作的人员。如果出现意外情况&#xff0c;无论是安全漏洞、系统崩溃还是性能迟缓&#xff0c;日志文件都可以成为管理员的得力助手。MySQL 就有几个不同的日志文件&#xff0c;可以帮助你找出 MySQL 服务器…

Excel多条件计数——COUNTIFS【获奖情况统计】

问题描述 当前&#xff0c;我们需要对表格中的获奖情况进行统计 奖励级别&#xff1a;院级、校级、国家级、国际级奖励内容&#xff1a;特等奖、一等奖、二等奖、三等奖、优胜奖 功能要求 对所有奖励级别进行统计根据级别&#xff0c;计算内容数量 当有人的选项内容如下时 …

MySQL之SQL的执行流程

MySQL之SQL的执行流程MySQL架构连接层服务层存储引擎连接查看连接连接与线程连接超时最大连接会话与全局查询缓存语法解析和预处理词法解析语法解析预处理查询优化器优化器查询执行计划存储引擎存储引擎概述常用存储引擎MyISAMInnoDBMEMORY存储引擎的选择执行引擎MySQL架构 从…

DBMS 中的 2 层架构与 3 层架构

有多种方法可以获取存储在数据库管理系统中的数据。根据其结构对 DBMS 的体系结构进行了分类。 DBMS 架构概述 理解 2-tier 和 3-tier 架构是一个相当重要的话题&#xff0c;不仅对于学术或寻找好工作&#xff0c;而且对于与技术相关的一般意识也是如此。 2-tier simple表示两…

【每日渗透笔记】覆盖漏洞+修改隐藏数据实战尝试

目录 一、特点&#xff1a; 1.1、特征&#xff1a; 1.2、知识&#xff1a; 1.3、注册的功能点&#xff1a; 目前&#xff1a; 问题&#xff1a; 二、分析数据包 2.1、修改数据处 三、换思路 一、特点&#xff1a; 1.1、特征&#xff1a; 存在注册的功能点 1.2、知识&a…

资本狂欢过后 Aptos如何顶住旧日光环?

10月27日&#xff0c;Aptos Autumn主网上线一周后&#xff0c;其浏览器数据显示&#xff0c;该Layer1网络的交易总量为1432万笔&#xff0c;TPS为10.65&#xff0c;原生Token APT总供应量约为10.02亿&#xff0c;质押数量约为8.23亿枚&#xff0c;活跃节点数量102个。 低TPS、高…

AIR780E使用AT连接TCP收发数据

最近各种技术群都被合宙9.9的开发板刷屏了&#xff0c;笔者成功的第一时间拼团成功&#xff0c;已经作为前两百人收到开发板了&#xff0c;因为官方的二次开发固件还没出&#xff0c;就先玩一下传统的AT开发。 文中各种文档和资料均可以在air780e.cn网站找到。 本文将介绍如何…

99208-90-9_炔基-棕榈酸_Alkynyl Palmitic Acid 可进行定制

一、产品简介----Product introduction&#xff1a; 货号&#xff1a;Y-CL-0063 CAS&#xff1a;99208-90-9 中文名&#xff1a; 15-十六碳炔酸&#xff0c;炔基-棕榈酸 英文名&#xff1a;Alkynyl Palmitic Acid/hexadec-15-ynoic acid 结构式&#xff08;Structural&#xff…

深度学习:GoogLeNet核心思想详细讲解(原创)

深度学习&#xff1a;GoogLeNet核心思想详细讲解想法来源时代局限性稀疏运算特性稀疏矩阵稀疏运算并行计算结合稀疏与并行Inception blockGoogLeNetAverage pooling辅助分类器训练方法(Training Method)超参数设置模型集成训练阶段预测阶段基于GoogLeNet的服装分类&#xff08;…

WordPress 6.1新功能 (特性和截图)

WordPress 6.1 Beta 于几天前发布&#xff0c;预计将于 2022 年 11 月 1 日发布。这将是 2022 年的最后一个主要版本&#xff0c;将带来许多新功能和改进。 我们一直在密切监视开发并在我们的测试站点上尝试新功能。 在本文中&#xff0c;我们将通过功能和屏幕截图让您先睹为快…

基于javaweb的医院管理系统(java+springboot+mybatis+vue+mysql)

基于javaweb的医院管理系统(javaspringbootmybatisvuemysql) 运行环境 Java≥8、MySQL≥5.7、Node.js≥10 开发工具 后端&#xff1a;eclipse/idea/myeclipse/sts等均可配置运行 前端&#xff1a;WebStorm/VSCode/HBuilderX等均可 适用 课程设计&#xff0c;大作业&…

对于一个即将上线的网站,如何测试

web应用&#xff1a;也叫做网站&#xff0c;相对于客户端应用来说&#xff0c;web应用无需单独安装&#xff0c;在浏览器上即可使用其功能。 web应用的主要开发流程如下&#xff1a; 在网站开发的整个流程中&#xff0c;测试验收是上线发布前的最后一个环节&#xff0c;测试是…

Linux环境下安装Jenkins

首先安装Jenkins之前&#xff0c;linux中必须安装好了JDK和Maven&#xff0c;如果还没有安装过&#xff0c;下面准备好安装教程 Linux环境安装JDK: https://www.cnblogs.com/xuliangxing/p/7066913.html Linux环境安装Maven: https://blog.csdn.net/qq_35868412/article/detail…

【数据库04】中级开发需要掌握哪些SQL进阶玩法

前 言 &#x1f349; 作者简介&#xff1a;半旧518&#xff0c;长跑型选手&#xff0c;立志坚持写10年博客&#xff0c;专注于java后端 ☕专栏简介&#xff1a;相当硬核&#xff0c;黑皮书《数据库系统概念》读书笔记&#xff0c;讲解&#xff1a; 1.数据库系统的基本概念(数据…