一、背景

用prometheus+grafana+redis_exporter监控redis,对redis 1主1从3哨兵 实例做一些业务分析。

prometheus、grafana安装机器: 192.168.1.101
redis_exporter 安装机器: 192.168.1.102

二、安装redis_exporter

在redis主从哨兵的maser节点(192.168.1.102):


wget https://github.com/oliver006/redis_exporter/releases/download/v0.21.2/redis_exporter-v0.21.2.linux-amd64.tar.gztar  -zxf  redis_exporter-v0.21.2.linux-amd64.tar.gzmkdir  /usr/local/redis_exportermv  redis_exporter    /usr/local/redis_exporter/vim  /usr/lib/systemd/system/redis_exporter.service
####################################################
[Unit]
Description=Redis Exporter
Wants=network-online.target
After=network-online.target[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/redis_exporter/redis_exporter \-web.listen-address ":9121" \-redis.addr "redis://192.168.1.102:6381" \-redis.password "Redis@123"[Install]
WantedBy=multi-user.target####################################################systemctl  daemon-reloadsystemctl  start  redis_exporter
systemctl  enable  redis_exporter
systemctl  status  redis_exporterss  -tan  | grep 9121
LISTEN     0      1024      [::]:9121                  [::]:*
ESTAB      0      0       [::ffff:192.168.1.102]:9121                [::ffff:192.168.1.102]:42594

【redis】用prometheus+grafana+redis_exporter监控redis_redis

image.png

三、安装prometheus、grafana

在一台空闲新机器上:

安装prometheus


wget https://github.com/prometheus/prometheus/releases/download/v2.33.3/prometheus-2.33.3.linux-amd64.tar.gz
mkdir  /var/lib/prometheus
tar -zxf  prometheus-2.33.3.linux-amd64.tar.gz
mv  prometheus-2.33.3.linux-amd64  /usr/local/prometheusvim   /usr/lib/systemd/system/prometheus.service
##################################################
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/local/prometheus
ExecStart=/usr/local/prometheus/prometheus \
--web.listen-address=0.0.0.0:9090 \
--storage.tsdb.path="/var/lib/prometheus" \
--config.file=prometheus.yml
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure[Install]
WantedBy=multi-user.target##################################################vim /usr/local/prometheus/prometheus.yml
############################################################################
# my global config
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:- job_name: "redis-server"static_configs:- targets: ["192.168.1.102:9121"]###############################################################################systemctl  start    prometheus
systemctl  enable   prometheus
systemctl  status  prometheus# ss -tan | grep  -w  9090
LISTEN     0      65535     [::]:9090                  [::]:*