Prometheus 监控 Redis 集群,Mysql 并显示到 Granfana 仪表盘

一,监控Redis

1.1 在redis机器上安装redis_exporter

  • 下载,安装redis_exporter
https://prometheus.io/docs/instrumenting/exporters/#databases
tar -xf redis_exporter-v1.50.0.linux-amd64.tar.gz
  • 启动redis_exporter
#直接启动,无密码
./redis_exporter redis//172.16.0.9:6379 &
./redis_exporter -redis.addr 172.18.11.138:6379 -redis.password xxxxx &
#有密码
redis_exporter -redis.addr 172.16.0.9:6379 -redis.password 123456

#systemctl启动
vim /usr/lib/systemd/system/redis_exporter.service

[Unit]
Description=redis_exporter
Documentation=https://github.com/oliver006/redis_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/opt/monitor/redis_exporter/redis_exporter -redis.addr 172.18.2.35:6488
Restart=on-failure
[Install]
WantedBy=multi-user.target

systemctl start redis_exporter

#添加一个redis地址和端口即可所有所有节点数据

1.2 配置prometheus配置文件

vim prometheus.yaml

  - job_name: 'redis_exporter_targets'
    static_configs:
      - targets:
        - redis://192.18.3.34:7000
        - redis://192.18.3.34:7001
        - redis://192.18.3.35:7002
        - redis://192.18.3.35:7003
        - redis://192.18.3.36:7004
        - redis://192.18.3.36:7005
    params:
      check-keys: ["metrics:*"]
    metrics_path: /scrape
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 172.18.2.35:9121
  - job_name: 'redis_exporter'
#    scrape_interval: 10s
    static_configs:
      - targets:
        - 172.18.2.35:9121

systemctl start prometheus

#replacement:redis_exporter所在机器的ip

1.3 设置redis maxmemory

vim redis.conf

maxmemory 128M

./bin/redis-cli -h 172.18.2.36 -p 7005 -a 123
CONFIG set  maxmemory 128M

#默认maxmemory为0,意思为不限制内存使用。

maxmemory的默认值是0,也就是不限制内存的使用。
32bit系统如果使用默认配置或配置为maxmemory 0则最大使用3G内存(详见下方源码)。
maxmemory的值没有最小限制(但是如果低于1MB,会打一条WARNING日志)。
如果设置了maxmemory选项(值 >= 1),redis在接收命令时总是会判断当前是否已经超出最大内存限制,如果超过限制会根据驱逐策略去释放内存(如果是同步释放且释放内存很大,则会阻塞其他命令的执行)。
单位问题:
maxmemory 100 裸数字情况:单位是字节。
maxmemory 1K K:代表1000字节。
maxmemory 1KB KB:代表1024字节。
maxmemory 1M M:代表1000000字节。
maxmemory 1MB MB: 代表1048576字节。
maxmemory 1G G:代表1000000000字节。
maxmemory 1GB GB: 代表1073741824字节。

1.4 导入redis监控模板736

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看granfana监控面板
在这里插入图片描述

Uptime:Redis从启动到当前运行的时间
Clients: 当前连接到Redis服务器的客户端数,用于掌握连接情况,判断是否需要调整集群数量或者连接数。
Memory Usage:Redis节点的内存使用率,用于资源消耗评估。
Commands Executed/sec:每秒成功执行的命令数。
Hits/Misses Per Sec:每秒服务器中键命中/非命中的比率,这个值可以用来评估设计是否合理。
Network I/O:网络I/O流量情况,可以用于评估带宽压力。
Expiring vs Not-Expiring Keys:过期的Keys的数量和未过期的Keys数量

完成prometheus监控redis

二,监控Mysql

2.1 登录mysql授权

mysql -uroot -pPotevioYw123
GRANT REPLICATION CLIENT,PROCESS,SELECT ON *.* TO 'mysqld_exporter'@'%' identified by 'Potevio123';
flush privileges;

2.2 下载安装、配置、启动mysqld_exporter

下载安装:
https://github.com/prometheus/mysqld_exporter

mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar -xf  mysqld_exporter-0.14.0.linux-amd64.tar.gz

配置mysqld_exporter连接mysql的配置文件.my.cnf

vim .my.cnf
[client]
user=mysqld_exporter
password=Potevio123
#port=3306

启动

vim /usr/lib/systemd/system/mysqld_exporter.service

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/opt/monitor/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/monitor/mysqld_exporter/.my.cnf
ExecReload=/bin/kill -HUP \$MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

2.3 查看指标是否正常

curl http://172.18.2.35:9104/metrics|grep mysql_up

在这里插入图片描述

2.4 在prometheus端添加监控任务

  - job_name: 'mariadb'
    static_configs:
    - targets: ['172.18.2.35:9104']
#      labels:
#        group: middleware

2.5 登录验证http://172.18.2.34:9090/targets

2.6 导入仪表盘,仪表盘ID:7362

在这里插入图片描述

在这里插入图片描述
完成对mariadb的监控

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值