在集群外部运行redis-exporter
tar -xf redis_exporter-v0.34.1.linux-amd64.tar.gz
mv redis_exporter /usr/bin
nohup redis_exporter -redis-only-metrics -redis.addr 10.111.12.73:10700,10.111.12.73:10800,10.111.12.73:10900,10.111.12.74:10700,10.111.12.74:10800,10.111.12.74:10900 &
集群内部无法添加 -redis.addr参数,原因已找到
arg 参数需要使用“=”连接应用参数,不能使用空格
创建集群外部redis的endpoints和svc
vim prometheus-redis-exporter-svc.yaml
---
apiVersion: v1
kind: Service
metadata:
name: redis-exporter
namespace: kube-system
labels:
k8s-app: redis
spec:
type: ClusterIP
clusterIP: None
ports:
- protocol: TCP
port: 9121
name: metrics
---
apiVersion: v1
kind: Endpoints
metadata:
name: redis-exporter
namespace: kube-system
labels:
k8s-app: redis
subsets:
- addresses:
- ip: 10.111.12.73
nodeName: redis-exporter
ports:
- name: metrics
port: 9121
protocol: TCP
创建serviceMonitor
vim prometheus-redis-exporter-serviceMonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-exporter
namespace: monitoring
labels:
k8s-app: redis
spec:
jobLabel: k8s-app
endpoints:
- port: metrics
interval: 30s
scheme: http
selector:
matchLabels:
k8s-app: redis
namespaceSelector:
matchNames:
- kube-system
在集群内部运行redis-exporter
deployment文件
vim prometheus-redis-exporter-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: monitoring
name: redis-exporter
labels:
k8s-app: redis
spec:
replicas: 1
selector:
matchLabels:
k8s-app: redis
template:
metadata:
labels:
k8s-app: redis
spec:
terminationGracePeriodSeconds: 10
containers:
- name: redis-exporter
image: 10.111.9.72/prometheus/redis_exporter:v0.34.1
args:
- -redis-only-metrics
- -redis.addr=10.111.12.73:10700,10.111.12.73:10800,10.111.12.73:10900,10.111.12.74:10700,10.111.12.74:10800,10.111.12.74:10900
ports:
- containerPort: 9121
name: redis-exporter
volumeMounts:
- mountPath: /etc/localtime
name: localtime
volumes:
- hostPath:
path: /etc/localtime
type: File
name: localtime
nodeSelector:
decided: system
tolerations:
- key: decided
operator: Equal
value: system
effect: NoSchedule
redis-svc文件
vim prometheus-redis-exporter-svc.yaml
---
apiVersion: v1
kind: Service
metadata:
name: redis-exporter
namespace: monitoring
labels:
k8s-app: redis
spec:
selector:
k8s-app: redis
type: ClusterIP
clusterIP: None
ports:
- protocol: TCP
port: 9121
name: metrics
redis serviceMonitor文件
vim prometheus-redis-exporter-serviceMonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-exporter
namespace: monitoring
labels:
k8s-app: redis
spec:
jobLabel: k8s-app
endpoints:
- port: metrics
interval: 30s
scheme: http
selector:
matchLabels:
k8s-app: redis
namespaceSelector:
matchNames:
- monitoring
grafana json文件见附件
文档更新时间: 2020-07-28 15:46 作者:张尚