当前位置:网站首页>Prometheus Operator 自定义监控添加redis explorer
Prometheus Operator 自定义监控添加redis explorer
2022-08-09 18:53:00 【叱咤少帅(少帅)】
前言
Proms Operator 添加自定义监控可以通过如下两种方式实现,本文是 serviceMonitor 方式。
- additional 方式
- serviceMonitor方式
Prometheus Operator默认的监控指标并不能完全满足实际的监控需求,这时候就需要我们自己根据业务添加自定义监控。添加一个自定义监控的步骤如下:
- 1、创建一个ServiceMonitor对象,用于Prometheus添加监控项
- 2、为ServiceMonitor对象关联metrics数据接口的Service对象
- 3、确保Services对象可以正确获取到metrics数据
官网
###
https://prometheus-operator.dev/docs/prologue/introduction/
架构图原理
其中Operator是核心部分,作为一个控制器而存在,Operator会其创建Prometheus、ServiceMonitor、AlertManager和PrometheusRule这4个CRD资源对象,然后一直监控并维持这4个CRD资源对象的状态。
- Prometheus资源对象是作为Prometheus Service存在的
- ServiceMonitor资源对象是专门的提供metrics数据接口的exporter的抽象,Prometheus就是通过ServiceMonitor提供的metrics数据接口去pull数据的
- AlertManager资源对应alertmanager组件
- PrometheusRule资源对象是被Prometheus实例使用的告警规则文件
简单来说CRD是对Kubernetes API的扩展,kubernetes中的每个资源都是一个API对象的集合,例如yaml文件中定义spec那样,都是对Kubernetes中资源对象的定义,所有的自定义资源可以跟Kubernetes中内建的资源一样使用kubectl。
Prometheus作为一个核心的控制器,它会创建Prometheus、ServiceMonitor、AlertManager以及我们的prometheus-rule这四个资源对象。
operator会一直监控并维持这四个资源对象的状态,其中创建Prometheus资源对象就是最为Prometheus Server进行监控,而ServiceMonitor就是我们用的exporter的各种抽象(exporter就是提供我们各种服务的metrics的工具)。
Prometheus就是通过ServiceMonitor提供的metrics数据接口把我们数据pull过来的。
现在我们监控prometheus不需要每个服务单独创建修改规则。通过直接管理Operator来进行集群的监控。一个ServiceMonitor可以通过我们的label标签去匹配集群内部的service,而我们的prometheus也可以通过label匹配多个ServiceMonitor
参考
##
https://blog.csdn.net/shigf_2015/article/details/110383821
##
https://blog.csdn.net/wc1695040842/article/details/109161855
添加Redis Explorer 实践
部署Redis
vim k8s-redis-and-exporter-deployment.yaml
---
apiVersion: v1
kind: Namespace
metadata:
name: redis
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: redis
name: redis
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
labels:
app: redis
spec:
containers:
- name: redis
image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
- name: redis-exporter
image: oliver006/redis_exporter:latest
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 9121
部署redis的同时,我们把redis_exporter以sidecar的形式和redis服务部署在用一个Pod
另外注意,我们添加了annotations:prometheus.io/scrape: "true" 和 prometheus.io/port: "9121"
创建 Redis Service
apiVersion: v1
kind: Service
metadata:
name: redis-svc
namespace: redis
labels:
app: redis
spec:
type: NodePort
ports:
- name: redis
port: 6379
targetPort: 6379
- name: redis-exporter
port: 9121
targetPort: 9121
selector:
app: redis
检查下部署好的服务并验证metrics能够获取到数据
##
kubectl get po,ep,svc -n redis
##
curl 10.108.158.74:9121/metrics
创建 ServiceMonitor
现在 Prometheus 访问redis,接下来创建 ServiceMonitor 对象即可,ServiceMonitor 通过label标签和对应的 endpoint 和 svc 进行关联。
vim proms-redis-serviceMonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-k8s
namespace: monitoring
labels:
app: redis
spec:
jobLabel: redis
endpoints:
- port: redis-exporter
interval: 30s
scheme: http
selector:
matchLabels:
app: redis
namespaceSelector:
matchNames:
- redis
执行创建并查看 serviceMonitor
##
kubectl get ServiceMonitor -n monitoring|grep redis
现在切换到PrometheusUI界面查看targets,会发现多了刚才创建的redis-k8s监控项,
边栏推荐
- 环境:Flink版本:1.15.1jar包:flink-sql-connector-oracle
- 基于CC2530 E18-MS1-PCB Zigbee DIY作品
- [Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis
- 重磅!上海985教授当选!全球仅4人!
- Paper sharing: "FED BN" uses the LOCAL BATCH NORMALIZATION method to solve the Non-iid problem
- 韩国严厉监管元宇宙相关企业
- [Free Column] Android Fragment Injection for Android Security
- [免费专栏] Android安全之APK动态方式逆向应用【三种Smali注入方法】
- pat链表专题训练+搜索专题
- Leetcode 739.每日温度 单调栈
猜你喜欢
随机推荐
明明加了唯一索引,为什么还是产生重复数据?
MYSQL记录、自用
【kali-密码攻击】(5.1.1)密码在线破解:Hydra(图形界面)
ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》
IS31FL3737B general 12 x 12 LED drive 40 QFN I2C 42 ma
超多AI开发者等你来玩转,一起燃动昇腾AI创享日南京站!
有文章说明或者证明MYSQL 嵌套子查询不足之处吗?
How to suppress alarm storms?
【kali-权限提升】(4.2.7)社会工程学工具包:权限维持创建后门、清除痕迹
Openharmony Lightweight System Experiment--GPIO Lighting
【Jmeter】分布式搭建
Openharmony轻量系统实验--GPIO点灯
移动端,PC端,微信等常用平台和浏览器判断
Intensive reading of the paper: VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
mysql死锁的排查和解决
hdu 2094 产生冠军(STL map || 拓扑 || STL set)
2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-RC-u5 树与二分图
中英文说明书丨Abbkine细胞迁移分析试剂盒
Environment: Flink version: 1.15.1 jar package: flink-sql-connector-oracle
2022.08.05_每日一题