【prometheus-operator】k8s监控redis
1、准备exporter
https://github.com/oliver006/redis_exporter
oliver006-redis_exporter-amd64.tar
# 安装镜像
docker load -i oliver006-redis_exporter-amd64.tar
# 上传镜像
docker tag oliver006/redis_exporter ip/monitor/redis_exporter:latest
docker push ip/monitor/redis_exporter:latest
2、部署exporter
kind: Deployment
apiVersion: apps/v1
metadata:name: redis-exporternamespace: devopslabels:app: redis-exporterannotations:deployment.kubernetes.io/revision: '1'kubesphere.io/creator: adminkubesphere.io/description: 监控使用
spec:replicas: 1selector:matchLabels:app: redis-exportertemplate:metadata:labels:app: redis-exporterannotations:kubesphere.io/containerSecrets: '{"container-zsbagq":"harbor"}'spec:containers:- name: container-zsbagqimage: 'ip:8888/monitor/redis_exporter:latest'args:- '-redis.addr'- 'redis-hip-redis-cluster-headless.hip-mid:6379'- '-redis.password'- '111111'ports:- name: tcp-9121containerPort: 9121protocol: TCPimagePullPolicy: IfNotPresentrestartPolicy: AlwaysimagePullSecrets:- name: harbor
3、创建serviceMonitor
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:labels:app: redis-exportername: redis-exporternamespace: devops
spec:endpoints:- interval: 30sport: tcp-9121params:target:- redis-hip-redis-cluster-headless.hip-mid:6379relabelings:- sourceLabels: [__param_target]targetLabel: instanceselector:matchLabels:app: redis-exporternamespaceSelector:matchNames:- devops
创建成功,访问prometheus targets界面,显示如图
![]()
4、告警规则
获取规则:
kubectl get prometheusrules prometheus-k8s-rules -n {namespace} -o yaml > prometheus-rule.yaml
- name: redis_altersrules:- alert: redis_exporter_statusannotations:description: job-{{$labels.job}}, instance-{{ $labels.instance }} 监控exporter下线,请检查!summary: 监控exporter下线预警expr: up{namespace="monitor",instance=~".*:9122"} == 0for: 3mlabels:severity: emergency- alert: redis_statusannotations:description: job-{{$labels.job}}, instance-{{ $labels.instance }} 节点下线,请检查!summary: 节点下线预警expr: redis_up{namespace="monitor"} == 0for: 3mlabels:severity: emergency- alert: redis_memory_usageannotations:description: job-{{$labels.job}}, instance-{{ $labels.instance }} 内存超过90%,请检查!summary: 内存预警expr: redis_memory_used_bytes{namespace="monitor"} / redis_memory_max_bytes{namespace="monitor"}* 100 > 90for: 15slabels:severity: emergency- alert: redis_rejected_connectionannotations:description: job-{{$labels.job}}, instance-{{ $labels.instance }} 一些连接被拒绝,请检查!summary: 连接被拒绝expr: increase(redis_rejected_connections_total{namespace="monitor"}[1m]) >0for: 1mlabels:severity: emergency- alert: redis_max_clientannotations:description: job-{{$labels.job}}, instance-{{ $labels.instance }} 连接总数达到总量的90%,请检查!summary: 连接数过多expr: redis_connected_clients{namespace="monitor"} > redis_config_maxclients{namespace="monitor"}* 0.90for: 15slabels:severity: emergency
更新规则:
kubectl replace -f prometheus-rule.yaml
5、grafana模板
id:17507

关联文章:
【prometheus-operator】k8s监控集群外redis
以上内容对您有帮助,请点赞支持,谢谢!
相关文章:
【prometheus-operator】k8s监控redis
1、准备exporter https://github.com/oliver006/redis_exporter oliver006-redis_exporter-amd64.tar # 安装镜像 docker load -i oliver006-redis_exporter-amd64.tar # 上传镜像 docker tag oliver006/redis_exporter ip/monitor/redis_exporter:latest docker push ip/mo…...
外包干了4年,技术退步明显.......
先说一下自己的情况,大专生,19年通过校招进入杭州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…...
xbackup 备份MySQL数据库脚本
#!/bin/bash ## 方法一:将回车符(\r)替换为换行符(\n) 替换不可见字符 报错问题:shell脚本执行错误 $‘\r‘:command not found ## sed -i s/\r// xtrabackup.sh ## 备份计划任务 ## ## 每天凌晨1:30一次全量备份 ## 每天间隔1小时一次增量备份 ## 30 1 * * * backup…...
npm常用命令详解
npm(Node Package Manager)是Node.js的包管理器,它提供了大量的命令来安装、管理、发布Node.js模块和包。以下是npm常用命令的详解及示例: 1. 查看npm版本 命令:npm -v 示例:npm -v 将输出当前安装的npm版…...
IPV6协议之RIPNG
目录 前言: 一、RIPNG与RIP的区别 二、如何配置RIPNG 如何解决RIPNG环路问题呢? 控制RIPNG的选路 1、修改RIPNG默认优先级 2.配置接口附加开销值从而干涉RIPNG的选路 RIPNG拓展配置 1.RIPNG的认证 配置RIPNG进程下的IPsec认证: 配…...
JVM垃圾收集器你会选择吗?
目录 一、Serial收集器 二、ParNew收集器 三、Paralle Scavenge 四、Serial Old 五、Parallel Old 六、CMS收集器 6.1 CMS对处理器资源非常敏感 6.2 CMS容易出现浮动垃圾 6.3 产生内存碎片 七、G1 收集器 八、如何选择合适的垃圾收集器 JVM 垃圾收集器是Java虚…...
游戏防沉迷系统相关内容
网站地址:网络游戏防沉迷实名认证系统 PHP代码: 创建对应文件,在需要的位置get传参请求即可,具体参数参考 网络游戏防沉迷实名认证系统接口对接技术规范v2.0 1、上传信息 <?php $url "https://wlc.nppa.gov.cn/test…...
每日OJ题_牛客_JD1 年终奖(动态规划)
目录 牛客_JD1 年终奖 解析代码 牛客_JD1 年终奖 年终奖_牛客题霸_牛客网 解析代码 #include <vector> class Bonus { public: int getMost(vector<vector<int> > board) {int m board.size(), n board[0].size();vector<vector<int>> dp(m…...
深度学习 tablent表格识别实践记录
下载代码:https://github.com/asagar60/TableNet-pytorch 下载模型:https://drive.usercontent.google.com/download?id13eDDMHbxHaeBbkIsQ7RSgyaf6DSx9io1&exportdownload&confirmt&uuid1bf2e85f-5a4f-4ce8-976c-395d865a3c37 原理&#…...
深度学习 线性神经网络(线性回归 从零开始实现)
介绍: 在线性神经网络中,线性回归是一种常见的任务,用于预测一个连续的数值输出。其目标是根据输入特征来拟合一个线性函数,使得预测值与真实值之间的误差最小化。 线性回归的数学表达式为: y w1x1 w2x2 ... wnxn …...
HBase在表操作--显示中文
启动HBase后,Master和RegionServer两个服务器,分别对应进程为HMaster和HRegionServe。(可通过jps查看) 1.进入表操作 hbase shell 2.查看当前库中存在的表 list 3.查看表中数据(注:学习期间可用&#…...
基于BusyBox的imx6ull移植sqlite3到ARM板子上
1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端,然后输入以下内容,其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…...
连续子数组的最大和
问题描述: 输入一个整型数组,数组里有正数也有负数。求连续子数组中的最大和为多少。 举例: 数组:arry{1 , 2 ,-5 , 4 , 1 ,-2} 输出:5,数组中连续的位置相加最大值为5, 41 方法…...
Photoshop 工具使用详解(全集 · 2024版)
全面介绍 Photoshop 工具箱里的工具,点击下列表格中工具名称或图示,即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键:V 矩形选框工具 Rectangular Mar…...
C++函数返回机制,返回类型
return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方。 return语句有两种形式 return;return expression; 无返回值函数 没有返回值的return语句只能用在返回类型是void的函数中。 返回void的函数不要求必须有return语句,因为这类函数的最后一句…...
[linux] Key is stored in legacy trusted.gpg keyring
修复 Ubuntu 中的 “Key is stored in legacy trusted.gpg keyring” 问题_key is stored in legacy trusted.gpg keyring (/etc/-CSDN博客 复制到trusted.gpd.d 目录中(快速但不优雅的方法) 如果你觉得手动做上面的事情不舒服,那么,你可以忽略这个警告…...
阿里云部署OneApi
基于 Docker 进行部署 # 使用 SQLite 的部署命令: docker run --name one-api -d --restart always -p 3000:3000 -e TZAsia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api # 使用 MySQL 的部署命令,在上面的基础上添加 -e SQL_DSN&qu…...
MapReduce学习问题记录
1、如何跳过对某行数据的处理 第一行数据是字段名不需要处理,我们知道第一行偏移量是0(行记录的时候是从数组首地址开始,到了行标识符进行一次计数,这个计数就是行偏移量,从0开始),我们根据偏移…...
Elasticsearch优化
集群配置 1、调整副本数:考虑数据的可用性和读取性能,合理配置分片的副本数。 2、合理配置分片大小(分片的合理容量:10GB-50GB):避免分片过大,以确保更好的性能和均衡的负载。 3、监控集群状态:使用监控工…...
【Redis知识点总结】(六)——主从同步、哨兵模式、集群
Redis知识点总结(六)——主从同步、哨兵模式、集群 主从同步哨兵集群 主从同步 redis的主从同步,一般是一个主节点,加上多个从节点。只有主节点可以接收写命令,主节点接收到的写命令,会同步给从节点&#…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...

