首页 > 数据库 >Zabbix监控Redis性能状态

Zabbix监控Redis性能状态

时间:2022-12-30 16:07:28浏览次数:65  
标签:used cli Redis redis HOST Zabbix awk 监控 PORT

Zabbix监控Redis性能状态

监控原理示意图:

Zabbix监控Redis性能状态_sed

监控原理

Zabbix-server通过agent监控中配置文件调用shell脚本。Redis中提供redis-cli 命令使用info可以获得redis大部分信息。在使用shell命令获取到需要的信息。

监控操作步骤:

1、编辑脚本

2、上传脚本到指定位置

3、修改zabbix_agent配置文件

4、zabbix_server的web界面导入模版(编辑模板)

5、主机关联

1、配置zabbix_agent配置文件,添加以下内容

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

  1. UserParameter=Redis.Info[*],/data/scripts/auto_detection_redis_state.sh $1

#保存退出

2、重启Zabbix_agentd服务

[root@localhost ~]# service zabbix_agentd restart

3、下载脚本文件(获取监控值)

[root@localhost ~]# cd /data/scripts

[root@localhost scripts]# wget -c https://mirrors.yangxingzhen.com/shell/auto_detection_redis_state.sh

[root@localhost scripts]# cat auto_detection_redis_state.sh

#脚本内容如下

  1. #!/bin/bash
  2. #Date:2017-5-20 13:14:00
  3. #Author blog:
  4. # https://www.yangxingzhen.com
  5. #Author site:
  6. # https://www.yangxingzhen.com/sitemap.html
  7. #Author mirrors site:
  8. # https://mirrors.yangxingzhen.com
  9. #About the Author
  10. # BY:、、、小柒
  11. # QQ:675583110
  12. # Mail:[email protected]
  13. #Zabbix监控Redis状态和性能

  14. HOST='127.0.0.1'
  15. PORT='8877'

  16. if [[ $# == 1 ]];then
  17. case $1 in
  18. version)
  19. redis-cli -h $HOST -p $PORT info | grep redis_version | awk -F: '{print $2}'
  20. ;;
  21. uptime)
  22. redis-cli -h $HOST -p $PORT info | grep uptime_in_seconds | awk -F: '{print $2}'
  23. ;;
  24. connected_clients)
  25. redis-cli -h $HOST -p $PORT info | grep connected_clients | awk -F: '{print $2}'
  26. ;;
  27. blocked_clients)
  28. redis-cli -h $HOST -p $PORT info | grep blocked_clients | awk -F: '{print $2}'
  29. ;;
  30. used_memory)
  31. redis-cli -h $HOST -p $PORT info | grep used_memory | awk NR==1 | awk -F: '{print $2}'
  32. ;;
  33. used_memory_rss)
  34. redis-cli -h $HOST -p $PORT info | grep used_memory_rss | awk NR==1 | awk -F: '{print $2}'
  35. ;;
  36. used_memory_peak)
  37. redis-cli -h $HOST -p $PORT info | grep used_memory_peak | awk NR==1 | awk -F: '{print $2}'
  38. ;;
  39. used_memory_lua)
  40. redis-cli -h $HOST -p $PORT info | grep used_memory_lua | awk NR==1 |awk -F: '{print $2}'
  41. ;;
  42. used_cpu_sys)
  43. redis-cli -h $HOST -p $PORT info | grep used_cpu_sys | awk NR==1 | awk -F: '{print $2}'
  44. ;;
  45. used_cpu_user)
  46. redis-cli -h $HOST -p $PORT info | grep used_cpu_user | awk NR==1 | awk -F: '{print $2}'
  47. ;;
  48. used_cpu_sys_children)
  49. redis-cli -h $HOST -p $PORT info | grep used_cpu_sys_children | awk -F: '{print $2}'
  50. ;;
  51. used_cpu_user_children)
  52. redis-cli -h $HOST -p $PORT info | grep used_cpu_user_children | awk -F: '{print $2}'
  53. ;;
  54. rdb_last_bgsave_status)
  55. redis-cli -h $HOST -p $PORT info | grep rdb_last_bgsave_status | awk -F: '{print $2}' | wc -l
  56. ;;
  57. aof_last_bgrewrite_status)
  58. redis-cli -h $HOST -p $PORT info | grep aof_last_bgrewrite_status | awk -F: '{print $2}' | wc -l
  59. ;;
  60. aof_last_write_status)
  61. redis-cli -h $HOST -p $PORT info | grep aof_last_write_status | awk -F: '{print $2}' | wc -l
  62. ;;
  63. db0_keys)
  64. redis-cli -h $HOST -p $PORT info | grep -w keys | awk -F '=|,' '{print $2}'
  65. ;;
  66. db0_expires)
  67. redis-cli -h $HOST -p $PORT info | grep -w expires | awk -F '=|,' '{print $4}'
  68. ;;
  69. db0_avg_ttl)
  70. redis-cli -h $HOST -p $PORT info | grep avg_ttl | awk -F '=' '{print $4}'
  71. ;;
  72. *)
  73. echo -e "\033[32mUsage: $0 { uptime | connected_clients | blocked_clients | used_memory | used_memory_rss | used_memory_peak | used_memory_lua | used_cpu_sys | used_cpu_user | used_cpu_sys_children | used_cpu_user_children | rdb_last_bgsave_status | aof_last_bgrewrite_status | aof_last_write_status | db0_keys | db0_expires | db0_avg_ttl}\033[0m"
  74. ;;
  75. esac
  76. else
  77. echo -e "\033[32mUsage: $0 { uptime | connected_clients | blocked_clients | used_memory | used_memory_rss | used_memory_peak | used_memory_lua | used_cpu_sys | used_cpu_user | used_cpu_sys_children | used_cpu_user_children | rdb_last_bgsave_status | aof_last_bgrewrite_status | aof_last_write_status | db0_keys | db0_expires | db0_avg_ttl}\033[0m"
  78. fi

4、脚本授权

[root@localhost scripts]# chmod +x auto_detection_redis_state.sh

5、验证server端验证是否能获取agent端的key值

#使用zabbix_get命令获取key值

Zabbix监控Redis性能状态_redis_02

Zabbix监控平台配置

1、下载监控模板文件

模板附件下载:​https://mirrors.yangxingzhen.com/templates/zabbix_redis_templates.xml​

2、导入Redis监控模板

进入后台->配置->模板->导入(右上角)-> 选择下载的模板文件->最后点击导入 。

Zabbix监控Redis性能状态_sed_03

至此Redis监控模板已经导入到Zabbix中。Zabbix监控Redis性能状态_sed_04

3、关联模板

需要把Redis监控模板链接到你的监控主机上,进入后台->配置->点击你的主机->模板->选择刚才导入模板,点击添加,最后点击更新即可。

Zabbix监控Redis性能状态_Redis_05

4、效果图展示

Zabbix监控Redis性能状态_Redis_06

Zabbix监控Redis性能状态_sed_07

至此,Zabbix监控Redis性能配置完毕。

标签:used,cli,Redis,redis,HOST,Zabbix,awk,监控,PORT
From: https://blog.51cto.com/u_12018693/5980557

相关文章

  • Tomcat 8.x基于Redis Session会话保持
    什么是Redis?Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。一、与其他用户状态保存方案比较一般开......
  • Zabbix监控SSL证书有效期时间
    主机环境:[root@Localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.7.1908(Core)使用说明:脚本下载地址:Linuxkernel3.xx86_64:https://dl.cactifans.com/za......
  • LAMP环境搭建Zabbix监控平台自动化安装脚本
    此脚本是LAMP环境搭建Zabbix监控平台自动化安装脚本,有需要朋友可以参考,脚本内容如下:系统环境:CentOS7.4软件版本:Apache:2.4.29Mysql:5.7.29PHP:7.3.7Zabbix:4.4.3[root@localhos......
  • LNMP环境搭建Zabbix监控平台自动化安装脚本
    此脚本是LNMP环境搭建Zabbix监控平台自动化安装脚本,有需要朋友可以参考,脚本内容如下:系统环境:CentOS7.4软件版本:Nginx:1.16.1Mysql:5.7.29PHP:7.3.7Zabbix:4.4.3[root@localhost......
  • Zabbix监控MongoDB性能状态
    Zabbix监控MongoDB性能的原理:通过echo"db.serverStatus()"|mongoadmin来查看mongodb的状态。Zabbix监控MongoDB性能,主要监控以下项目:-内存使用情况-连接数-锁-刷新......
  • Zabbix终端管理工具zabbix_manager
    说明Zabbix_manager是Zabbix终端管理工具,可以在linux终端实现管理Zabbix同时可以通过Zabbix_manager实现对Zabbix的一键初始化,一键导出报表(报表为excel)等功能。Zabbix_ma......
  • Docker 安装 Redis
    Docker安装RedisRedis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库,并提供多种语言的API。Redis是一个开源(BSD许......
  • 使用redisTemplate时,Lists和Sets报错
    在使用RedisUtils工具类的时候,Lists和Sets报错,原因是由于缺少谷歌的依赖,只需要添加对应的依赖即可1<dependency>2<groupId>com.google.guava</groupId>3......
  • Redis源码剖析系列博文开篇&大纲
    今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说……这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还......
  • redis 批量删除key
    以14号库为例,8号库照猫画虎即可1.首先先尝试连接redis,-h指定地址-p指定端口-n指定第几个库切记不要先执行keys*,可以先执行dbsize查看一下key的数量再决定是否执行......