Zabbix监控redis配置及宏的使用

本文主要介绍zabbix宏的简单使用,通过自定义脚本监控redis相关指标。

zabbix监控redis需要自定义脚本去监控,网络上的脚本对于在一台机器上有多个redis实例不是很实用。于是修改了下监控脚本,使其可以接受传入端口参数。

原理:通过redis客户端连接命令,过滤出info输出的信息

一、zabbix宏介绍及定义

1.宏介绍

(1)宏是一种抽象,他根据一系列预定义的规则替换一定的文本模式,而解释器或编译器在遇到宏时会自动进行这一模式替换,可以理解为变量。

(2)zabbix有许多内置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等

(3)为了更强的灵活性,zabbix支持全局、模版或主机级别自定义宏,用户自定义宏要使用"{$MACRO}"这种特殊的语法格式,宏的名称只能使用大写字母、数字及下划线

(4)宏可以应用在item keys和descriptions、trigger名称和表达 式、主机接口IP/DNS及端口、discovery机制的SNMP协议 的相关信息中等

(5)当在多个监控项中重复引用同样的值时,此时使用宏方便后续修改

2.宏的优先级

优先使用主机宏,其次模板宏,最后使用全局宏

3.主机宏的定义

这里定义redis实例端口

选择配置---->主机---->选择相应的主机

4.模板宏的定义

选择配置---->模板---->选择相应的模板

5.全局宏的定义

选择管理---->一般---->选择宏

二、创建监控采集脚本

1.脚本内容:

#catcheck_redis.sh

#!/bin/bash

REDISPATH="/usr/local/redis3379_6_test/bin/redis-cli"

HOST="127.0.0.1"

PORT="$1"

REDIS_PA="$REDISPATH
-h $HOST -p $PORT info"

REDIS_PI="$REDISPATH
-h $HOST -p $PORT ping"

if [[ $# == 2
]];then

case $2 in

# memory

used_memory)

result=`$REDIS_PA|/bin/grep
used_memory|awk -F":" ‘{print $NF}‘|awk ‘NR==1‘`

echo $result

;;

used_memory_human)

result=`$REDIS_PA|/bin/grep
used_memory_human | awk -F":" ‘{print $NF}‘|awk -F‘K‘ ‘{print $1}‘`

echo $result

;;

used_memory_peak_human)

result=`$REDIS_PA|/bin/grep
used_memory_peak_human | awk -F":" ‘{print $NF}‘|awk -F‘K‘ ‘{print
$1}‘`

echo $result

;;

used_memory_peak)

result=`$REDIS_PA|/bin/grep
used_memory_peak|awk -F":" ‘{print $NF}‘|awk ‘NR==1‘`

echo $result

;;

# status

instantaneous_ops_per_sec)

result=`$REDIS_PA|/bin/grep -w
"instantaneous_ops_per_sec" | awk -F‘:‘ ‘{print $2}‘`

echo $result

;;

connected_clients)

result=`$REDIS_PA|/bin/grep
connected_clients|awk -F":" ‘{print $NF}‘`

echo $result

;;

statu)

result=`$REDIS_PI|/bin/grep -c PONG`

echo $result

;;

# Replication

role)

result=`$REDIS_PA|/bin/grep role | awk
-F‘:‘ ‘{print $NF}‘`

echo $result

;;

connected_slaves)

result=`$REDIS_PA|/bin/grep -w
"connected_slaves" | awk -F‘:‘ ‘{print $2}‘`

echo $result

;;

master_link_status)

result=`$REDIS_PA|/bin/grep -w
"master_link_status"|awk -F‘:‘ ‘{print $2}‘|/bin/grep -c up`

echo $result

;;

esac

# db0:key

elif [[ $# == 3
]];then

case $3 in

keys)

result=`$REDIS_PA| /bin/grep -w
"db0"| /bin/grep -w "$2" | /bin/grep -w "keys" |
awk -F‘=|,‘ ‘{print $2}‘`

echo $result

;;

expires)

result=`$REDIS_PA| /bin/grep -w
"db0"| /bin/grep -w "$2" | /bin/grep -w "expires"
| awk -F‘=|,‘ ‘{print $4}‘`

echo $result

;;

avg_ttl)

result=`$REDIS_PA|/bin/grep -w
"db0"| /bin/grep -w "$2" | /bin/grep -w "avg_ttl"
| awk -F‘=|,‘ ‘{print $6}‘`

echo $result

;;

*)

echo "Usage:$0{db0 keys|db0
expires|db0 avg_ttl}"

;;

esac

fi

2.脚本使用

存放位置:/usr/local/zabbix/etc/scripts

功能:脚本能接受三个参数传入,监控redis实例是否在线、内存使用情况、客户端连接数、主从同步状态等

三、修改agent配置文件

1.修改zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

2.在zabbix_agentd.conf.d下定义监控redis的key

#cat redis_info.conf
UserParameter=redis_info[*],/usr/local/zabbix/etc/scripts/check_redis.sh $1 $2 $3

3.重启agent服务

四、在web界面创建监控项

1.创建redis状态items

2.创建redis内存使用情况items

3.创建db0平均命中率items

说明:

1.第一个参数为主机宏中定义的实例端口,第二个参数为监控的信息,这些参数将会传递到监控脚本中,监控脚本根据传入的参数获取相关监控信息。

2.第一个参数为主机宏中定义的实例端口,第二个参数为db名称,第三个参数为监控的信息,这些参数将会传递到监控脚本中,监控脚本根据传入的参数获取相关监控信息。

五、查看监控数据

选择监测中---->最新数据---->选择相应过滤条件

时间: 2024-11-13 19:02:21

Zabbix监控redis配置及宏的使用的相关文章

Redis 学习(Zabbix 监控Redis)

前面redis的配置文件盒常用命令.redis info信息都解释完了,接下来就是监控我们的redis了,我使用的是zabbix监控软件,所有在这里我在这里详细介绍下怎么设置zabbix来监控reids,主要分为配置zabbix插件.插件脚本.创建模板监控项.创建图形几个方面. Redis 学习(配置文件和常用命令注释): http://54snow.blog.51cto.com/2690157/1537449 Redis 学习(Redis Info详细注释): http://54snow.bl

zabbix监控redis、mysql性能、mysql状态、php-fpm性能状态

zabbix监控redis http://www.21yunwei.com/archives/4195 zabbix监控mysql性能 http://www.ttlsa.com/zabbix/zabbix-monitor-mysql/ zabbix监控mysql装态 http://www.linuxidc.com/Linux/2016-04/130436.htm zabbix监控php-fpm性能状态 http://www.ttlsa.com/zabbix/zabbix-monitor-php-

Zabbix监控mongodb配置

本文主要介绍zabbix监控mongodb的配置. zabbix监控mongodb需要自定义脚本去监控,脚本可以传入多个参数. 原理:通过mongodb客户端连接命令,过滤出db.serverStatus()输出的信息. 一.创建监控数据采集脚本 1.脚本内容: #cat check_mongodb.sh #!/bin/bash # # mongodb status # db.serverStatus().ok # memory status # Physical memory: db.serv

zabbix监控redis DB key的总数量

一个简单监控redis DB的key数量,脚本如下: #!/bin/bash PORT='7010' HOST='192.168.33.33' echo `redis-cli -h ${HOST} -p ${PORT} <<EOF select 1 llen data1 EOF` > /usr/local/redis/script/redix.txt echo `awk '{print $2}' /usr/local/redis/script/redix.txt` exit 0 脚本实现

Zabbix监控mysql配置及故障告警配置

本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配置自带模板监控mysql 1.提供配置文件模板 文件位置在源码包/usr/local/src/zabbix-3.0.4/conf/zabbix_agentd/userparameter_mysql.conf #cp/usr/local/src/zabbix-3.0.4/conf/zabbix_age

linux 下zabbix 监控简单配置

一.搭建环境介绍 hostname IP zabbix版本 系统版本 服务端 webserver 192.168.1.20 zabbix2.2 CentOS 6.6 客户端 hpf-linux 192.168.1.110 zabbix2.2 CentOS 6.6 二.zabbix的常用配置 1.更改浏览器下zabbix的显示语言 由于默认的浏览器下zabbix是英文,我们可以更改zabbix为中文:点击右上角的profile-->在language栏选择中文-->点击save保存: 查看zab

zabbix 监控 redis

通过redis自带的info命令来监控redis的健康状态,通过redis-cli PING命令来监控redis的存活状态. 附件中有监控模板,将监控脚本放在redis服务器的自定义的/scripts/zabbix_redis/下: #! /bin/bash #Name: redismontior.sh REDISCLI="/usr/bin/redis-cli" HOST="127.0.0.1" PORT=6379 if [[ $# == 1 ]];then    

zabbix监控的配置

ZABBIX监控的操作步骤有两个! 首先登录到zabbix 的主界面在configuration---host---create host在如上的host 创建界面中 主要是输入被监测的server的ip 还有就是服务器使用的操作系统. 图表的绘制 为了比较直观的分析,我们需要对监控的对象进行图表的绘制: 1. 首先在configrationg—Graphs—下面 右端 host 选项选择所需监控的服务器,然后在点击 create graphs. 2. 出现的对话框中输入graphs name

Zabbix监控介绍&amp;配置zabbix架构

[toc]# Linux监控平台介绍 常见的有 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图非常漂亮. cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,这几款监控软件均有web操作界面. nagios不用存储历史数据,注重服务或者监控项的状态. zabbix优势: zabbix会获取服务或者监控项目的数据,会把数据记录