redis监控

1 安装 redis_exporter

1.1 k8s启动redis_exporter

因为redis为一主两从,所以启动三个deployment,分别监听每个redis pod,且创建redis_exporter service,yaml文件如下:
redis-exporter.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-exporter-0
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-exporter
  template:
    metadata:
      labels:
        app: redis-exporter
    spec:
      containers:
      - name: redis-exporter-0
        image: reg.hrlyit.com/common/redis_exporter:v1.3.2
        args:
          - "-redis.addr=redis-announce-0.default:6379"  # Redis 服务地址
          - "-redis.password=123456"           # 若 Redis 有密码
        ports:
        - containerPort: 9121
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-exporter-1
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-exporter
  template:
    metadata:
      labels:
        app: redis-exporter
    spec:
      containers:
      - name: redis-exporter-1
        image: reg.hrlyit.com/common/redis_exporter:v1.3.2
        args:
          - "-redis.addr=redis-announce-1.default:6379"  # Redis 服务地址
          - "-redis.password=123456"           # 若 Redis 有密码
        ports:
        - containerPort: 9121
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-exporter-2
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-exporter
  template:
    metadata:
      labels:
        app: redis-exporter
    spec:
      containers:
      - name: redis-exporter-2
        image: reg.hrlyit.com/common/redis_exporter:v1.3.2
        args:
          - "-redis.addr=redis-announce-2.default:6379"  # Redis 服务地址
          - "-redis.password=123456"           # 若 Redis 有密码
        ports:
        - containerPort: 9121
---
apiVersion: v1
kind: Service
metadata:
  name: redis-exporter-service
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  selector:
    app: redis-exporter
  ports:
    - name: redis-exporter-9121
      port: 9121

1.2 创建redis-ServiceMonitor

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: redis-exporter
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  endpoints:
  - port: redis-exporter-9121
    interval: 30s
  jobLabel: app
  namespaceSelector:
    matchNames:
      - monitoring
  selector:
    matchLabels:
      app: redis-exporter

2 二进制部署

## 下载
wget https://github.com/oliver006/redis_exporter/releases/download/v1.69.0/redis_exporter-v1.69.0.linux-amd64.tar.gz
tar xvf redis_exporter-v1.69.0.linux-amd64.tar.gz
mv redis_exporter-v1.69.0.linux-amd64 /opt/soft/redis_exporter

## 配置系统服务
cat /lib/systemd/system/redis_exporter.service

[Unit]
Description=Redis Exporter
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/soft/redis_exporter/redis_exporter \
  -redis.addr redis://localhost:6379 \  # Redis连接地址
  -redis.password "your_password" \      # 密码认证(无密码可删除此行)
  -web.listen-address :9121              # 监听端口:ml-citation{ref="4,7" data="citationList"}
Restart=always

[Install]
WantedBy=multi-user.target

## 启动
systemctl daemon-reload
systemctl enable --now redis_exporter
systemctl status redis_exporter

配置prometheus,并重启

  - job_name: "redis-exporter"
    static_configs:
      - targets: ["10.188.3.118:9121 ","10.188.1.139:9121 ","10.188.1.3:9121 "]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容