prometheus监控k8s中的redis
部署redis和redis-exporter
[root@k8s-master yaml]# kubectl apply -f redis-deployment.yaml
[root@k8s-master yaml]# kubectl apply -f redis-exporter-svc.yaml
[root@k8s-master yaml]# kubectl apply -f redis-redis-svc.yaml
[root@k8s-master yaml]# cat redis-exporter-svc.yaml
kind: Service #service 类型
apiVersion: v1
metadata:
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: "9121"
name: redis-exporter-service
namespace: studylinux-net
spec:
selector:
app: redis
ports:
- nodePort: 31082
name: prom
port: 9121
protocol: TCP
targetPort: 9121
type: NodePort
[root@k8s-master yaml]# cat redis-redis-svc.yaml
kind: Service #service 类型
apiVersion: v1
metadata:
annotations:
prometheus.io/scrape: 'true'
name: redis-redis-service
namespace: studylinux-net
spec:
selector:
app: redis
ports:
- nodePort: 31081
name: redis
port: 6379
protocol: TCP
targetPort: 6379
type: NodePort
[root@k8s-master yaml]#
[root@k8s-master yaml]#
[root@k8s-master yaml]# vim redis-deployment.yaml
kind: Deployment
metadata:
name: redis
namespace: studylinux-net
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:4.0.14
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
[root@k8s-master yaml]# ll
total 12
-rw-r--r-- 1 root root 632 Dec 17 2021 redis-deployment.yaml
-rw-r--r-- 1 root root 343 Dec 17 2021 redis-exporter-svc.yaml
-rw-r--r-- 1 root root 310 Jun 12 16:38 redis-redis-svc.yaml
[root@k8s-master yaml]# kubectl get svc -n studylinux-net
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
redis-exporter-service NodePort 10.105.6.197 <none> 9121:31082/TCP 6m18s
redis-redis-service NodePort 10.106.75.48 <none> 6379:31081/TCP 6m23s
[root@k8s-master yaml]#
[root@k8s-master yaml]#
[root@k8s-master yaml]# ll
total 12
-rw-r--r-- 1 root root 632 Dec 17 2021 redis-deployment.yaml
-rw-r--r-- 1 root root 343 Dec 17 2021 redis-exporter-svc.yaml
-rw-r--r-- 1 root root 310 Jun 12 16:38 redis-redis-svc.yaml
[root@k8s-master yaml]# cat redis-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
namespace: studylinux-net
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:4.0.14
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
[root@k8s-master yaml]# cat redis-redis-svc.yaml
kind: Service #service 类型
apiVersion: v1
metadata:
annotations:
prometheus.io/scrape: 'true'
name: redis-redis-service
namespace: studylinux-net
spec:
selector:
app: redis
ports:
- nodePort: 31081
name: redis
port: 6379
protocol: TCP
targetPort: 6379
type: NodePort
[root@k8s-master yaml]# cat redis-exporter-svc.yaml
kind: Service #service 类型
apiVersion: v1
metadata:
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: "9121"
name: redis-exporter-service
namespace: studylinux-net
spec:
selector:
app: redis
ports:
- nodePort: 31082
name: prom
port: 9121
protocol: TCP
targetPort: 9121
type: NodePort
浏览器访问redis-exporter-svc看下有没有数据
http://10.211.55.20:31082/metrics
prometheus添加配置
- job_name: "prometheus-redis-metrics"
static_configs:
- targets: ["10.211.55.20:31082"]
重启
systemctl restart prometheus
访问prometheus
导入模板14615
添加两个key看下监控指标
可以看到监控指标有变化