zabbix自动发现监控redis

1: 在zabbix_agentd端编写自动发现的脚本,主要是自动发现redis的监控端口,脚本如下:

vim /usr/local/zabbix/zabbix_discover_redis.sh

#!/bin/sh

#zhuangweihong 20160419 zabbix discover redis

res=`sudo ss -tulnp|grep redis|awk ‘{print $(NF-2)}‘|awk -F‘:‘ ‘{print $(NF)}‘|sort -u`

if [[ -z "$res" ]];then

echo "redis has not find"

exit 2

fi

count=`echo "$res"|wc -l`

if [ $count -eq 0 ];then

echo "redis has not find"

exit 2

fi

printf ‘{\n‘

printf ‘\t"data":[\n‘

mycount=1

echo "$res"|while read line;do

if [ $count -eq $mycount ];then

printf "\t\t\t{\"{#REDISPORT}\":\"$line\"}\n"

else

printf "\t\t\t{\"{#REDISPORT}\":\"$line\"},\n"

let "mycount++"

fi

done

printf ‘\t]\n‘

printf ‘}\n‘

exit 0

自动发现脚本需要注意的地方:

1: visudo zabbix用户需要ss的运行权限,配置如下,visudo:

zabbix ALL= NOPASSWD: /usr/sbin/ss

Defaults:zabbix   !requiretty

2: 在zabbix_agentd端配置如下:

UserParameter=zabbix.discovery.redis,/usr/local/zabbix/zabbix_discover_redis.sh

UserParameter=redis.status[*],redis-cli -p $1 info|grep "$2:"|cut -d: -f2

配置需要注意的地方:

1:zabbix_discover_redis.sh zabbix需要有执行权限

2:redis server没设置密码的情况,不然一般得再加个验证的。

3:配置完后重启zabbix_agentd

3: 在zabbix server的网页配置建一个模板,名称如:Template Redis Discovery Service

4: 创建一条发现规则:名称为:Redis Discovery,键值配置:zabbix.discovery.redis。

5: 创建项目原型,名称和对应的键值如下:

{#REDISPORT}:Redis Connected Clients  redis.status[{#REDISPORT},connected_clients]

{#REDISPORT}:Redis mem_fragmentation_ratio  redis.status[{#REDISPORT},mem_fragmentation_ratio]

{#REDISPORT}:Redis Port Check     net.tcp.service[tcp,,{#REDISPORT}]

{#REDISPORT}:Redis used_memory     .redis.status[{#REDISPORT},used_memory]

{#REDISPORT}:Redis used_memory_rss   .redis.status[{#REDISPORT},used_memory_rss]

分别监控redis的客户端连接数、内存碎片、redis端口存活检测。

6: 创建触发器:

1: 针对端口检查

2: 针对连接的client数量,依赖于端口检查

3: 针对碎片化,依赖于端口检查

7: 创建图形原型:

1: 连接的client数量

2: redis使用的内存和实际上实用的内存。

时间: 2024-10-12 21:58:41

zabbix自动发现监控redis的相关文章

zabbix自动发现监控多台mysql

1: 前言 由于前面写的博客,zabbix自动发现监控redis.zabbix自动发现监控mongo这两篇博客虽然都能自动发现并监控,但是由于每个zabbix_agentd都得配置,监控起来非常不方便,因此,再做了个模板,能够自动发现并监控多台mysql.这个方法在监控mongo.redis或者mysql主从等时候也都适用. 2: 在zabbix_agentd下编写自动发现并监控多台mysql的脚本,脚本如下: #!/bin/sh #zhuangweihong 20160512 zabbix d

zabbix自动发现监控mongo

1: zabbix自动发现mongo监控的端口,并返回zabbix_server需要的格式,脚本部署在zabbix_agent上,路径为/usr/local/zabbix/zabbix_discover_mongo.sh,脚本内容如下: #!/bin/sh #zhuangweihong 20160419 zabbix discover mysql res=`sudo ss -tulnp|grep mongo|grep -v 28107|awk '{print $(NF-2)}'|awk -F':

Zabbix自动发现监控Mysql数据库

结果图展现 先让大家看下结果图,Zabbix通过自动发现监控Mysql每秒的增.删.改.查,通过自动发现监控Mysql的流入流出流量,结果图如下: Mysql给Zabbix监控的权限 首先创建一个监控用户,usage on为比较小的权限,较安全.sql如下 grant usage on *.* to 'monitor'@'127.0.0.1' identified by 'shijiangepwd'; flush privileges; 测试监控用户是否生效,测试结果如下 mysql -umon

使用 zabbix 自动发现监控 MySQL

介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过使用 mymonitor.pl 替换了脚本 ss_get_mysql_stats.php, 而且配置有点不同. 具体代码及配置详见: zabbix_mysql 1. 结构说明: zabbix_mysql/ |-- README.md |-- bin | |-- get_mysql_stats_wra

zabbix自动发现监控tomcat健康页面

一.背景 公司系统平台有10几个tomcat服务,由于需要服务保持全年无间断服务,特在tomcat中嵌入专门的监控页面,在curl 专用页面返回值为200时,则认定服务正常运行,否则报警发送专门的监控运维的邮箱. 二.原理 正常的tomcat健康状态监控页面如下图 我们利用如下命令判断返回值是否为200 shell>/usr/bin/curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' http://10.0.0.107:9100/

zabbix 自动发现监控端口(六)

一.配置脚本,将脚本分发到各个minion端 1.1.脚本内容 vim discover_port.sh  #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`) length=${#portarray[@]} printf "{\n" printf  '\t'&q

zabbix自动发现监控url

1.在监控客户机上 web_site_code_status.sh: #!/bin/bash # function:monitor tcp connect status from zabbix source /etc/bashrc >/dev/null 2>&1 source /etc/profile >/dev/null 2>&1 #/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/ web_site_

zabbix 自动发现 监控 硬盘读写 disk io

直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discovery.diskname,/opt/app/zabbix-agent/scripts/check_harddisk.sh diskname_discovery#disk status# See https://www.kernel.org/doc/Documentation/ABI/testing/pr

zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态