当前位置: 首页 > news >正文

【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

以上内容对您有帮助,请点赞支持,谢谢!

http://www.lryc.cn/news/324357.html

相关文章:

  • 外包干了4年,技术退步明显.......
  • xbackup 备份MySQL数据库脚本
  • npm常用命令详解
  • IPV6协议之RIPNG
  • JVM垃圾收集器你会选择吗?
  • 游戏防沉迷系统相关内容
  • 每日OJ题_牛客_JD1 年终奖(动态规划)
  • 深度学习 tablent表格识别实践记录
  • 深度学习 线性神经网络(线性回归 从零开始实现)
  • HBase在表操作--显示中文
  • 基于BusyBox的imx6ull移植sqlite3到ARM板子上
  • 连续子数组的最大和
  • Photoshop 工具使用详解(全集 · 2024版)
  • C++函数返回机制,返回类型
  • [linux] Key is stored in legacy trusted.gpg keyring
  • 阿里云部署OneApi
  • MapReduce学习问题记录
  • Elasticsearch优化
  • 【Redis知识点总结】(六)——主从同步、哨兵模式、集群
  • Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁
  • 【硬件设计】以立创EDA举例——持续更新
  • Chain of Note-CoN增强检索增强型语言模型的鲁棒性
  • Uniapp 的 uni.request传参后端
  • 数据可视化-ECharts Html项目实战(5)
  • C++学习之旅(二)运行四个小项目 (Ubuntu使用Vscode)
  • 数据分析与挖掘
  • Maxwell监听mysql的binlog日志变化写入kafka消费者
  • Kafka系列之:Kafka Connect REST API
  • DC-4靶机
  • ideaSSM 高校公寓交流员管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目