1. 程式人生 > 實用技巧 >kube-prometheus 監控 redis部署

kube-prometheus 監控 redis部署

1.使用ansible建立一個redis例項


2.部署redis_exporter
docker版部署

docker run -d --name redis_exporter -e REDIS_ADDR="redis://192.168.20.157:6379"  -e REDIS_PASSWORD='Senfffc.yl' -p 9121:9121  oliver006/redis_exporter


二進位制部署

wget https://github.com/oliver006/redis_exporter/releases/download/v1.12.1/redis_exporter-v1.12.1.linux-amd64.tar.gz
tar -zxvf redis_exporter-v1.12.1.linux-amd64.tar.gz

./redis_exporter -redis.addr=192.168.20.157:6379 -redis.password='Senfffc.yl' -web.listen-address=192.168.20.157:9121

注意密碼中有點等特殊字元,需要使用 '' .

三訪問:

5.在k8s上,新建endpoint service servicemonitor

cat redis-monitor.yaml

apiVersion: v1
kind: Endpoints
metadata:
  name: redis
-metrics namespace: monitoring labels: k8s-app: redis-metrics subsets: - addresses: - ip: 192.168.20.157 ports: - name: redis-exporter port: 9121 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: redis-metrics namespace: monitoring labels: k8s-app: redis-metrics spec: type: ClusterIP clusterIP: None ports:
- name: redis-exporter port: 9121 protocol: TCP --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: redis-metrics namespace: monitoring labels: app: redis-metrics k8s-app: redis-metrics prometheus: kube-prometheus release: kube-prometheus spec: endpoints: - port: redis-exporter interval: 15s selector: matchLabels: k8s-app: redis-metrics namespaceSelector: matchNames: - monitoring

6.k8s執行yaml檔案

kubectl create -f  redis-monitor.yaml

7. granfana配置

匯入模版:https://grafana.com/grafana/dashboards?search=kubernetes

顯示: