redis lpop key 当key不存在时,返回nil , 监测redis执行语句是否正常执行
Lpop key
返回值:
列表的头元素。
当key 不存在时, 返回 nil .
需求: 开发在执行 lpop key 时, 出现问题 , 执行语句卡住, 不能执行下去 , 需对此做一个监测
由于返回值 nil (这里redis的nil 类似于 null ), 不能用 grep 正则去过滤 , 则想到类似 ping 局域网中ip ,若 执行成功 $?返回 0 , 不成功则返回其他的思路 , 做一个脚本 。
探测局域网中ip是否存在的脚本 写一个脚本,判断172.17.111.0/24的网络里,哪些IP能ping通 #!/bin/bash for i in `seq 1 255`;do ping -c 1 172.17.111.$i &>/dev/null if [ $? -eq 0 ]; then echo "172.17.111.$i OK" else echo "172.17.111.$i error" fi done
根据上面的脚本思路 写一个 lpop test 是否成功执行的脚本 #!/bin/bash /usr/local/bin/redis-cli -h r-b******.com -p 6379 -a z********3 lpop 'test' &> /dev/null if [ $? -eq 0 ]; then redis_lpop_test=1 else redis_lpop_test=0 fi echo $redis_lpop_test
再在 zabbix界面添加 item , trigger , graphs 等设置。