zabbix自定义key监控redis
一、启动redis-server
cd /data/redis
redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据):
seq |while read line; do redis-cli set key_${line} value_${line}; done
二、redis-cli info查看redis的运行信息
used_memory_rss #占用系统的内存
used_memory #key所占用的内存
mem_fragmentation_ratio #内存碎片化率used_memory_rss/used_memory
connected_clients #已连接的客户端
total_commands_processed #从启动开始运行了多少命令
total_connections_received #从启动开始接收了多个连接
role #redis主从状态 redis-cli info|grep total_commands_processed
三、监控redis脚本(vim /usr/local/zabbix/check_redis.sh)
#!/bin/sh
while getopts "p:k:P:" opt
do
case $opt in
p ) redis_port=$OPTARG;;
k ) info_key=$OPTARG;;
P ) redis_passwd=$OPTARG;;
? )
echo 'parameter is wrong!'
exit ;;
esac
done
if [ ! "${redis_port}" ] || [ ! "${info_key}" ];then
echo "parameter is null"
exit
fi if [ "${redis_passwd}" ];then
result=`/usr/local/bin/redis-cli -a ${redis_passwd} -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
else
result=`/usr/local/bin/redis-cli -p ${redis_port} info|grep "${info_key}:"|cut -d: -f2`
fi
echo $result
四、测试脚本
无密码测试
sh /usr/local/zabbix/check_redis.sh -k mem_fragmentation_ratio -p
sh /usr/local/zabbix/check_redis.sh -k total_commands_processed -p
有密码测试
config set requirepass "test"
auth test
sh /usr/local/zabbix/check_redis.sh -k total_commands_processed -p -P test
去除密码
auth test
config set requirepass ""
五、zabbix agent的配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/redis.conf)
UserParameter=redis.status[*],sh /usr/local/zabbix/check_redis.sh -k $ -p $
4.1 如果有密码的话(test替换自己的密码)
UserParameter=redis.status[*],sh /usr/local/zabbix/check_redis.sh -k $ -p $ -P test
重启zabbix agentd。
六、测试zabbix_agent是否正常
/usr/local/zabbix/sbin/zabbix_agentd -t redis.status[mem_fragmentation_ratio,]
/usr/local/zabbix/sbin/zabbix_agentd -t redis.status[total_commands_processed,] zabbix_get -s 192.168.1.106 -k redis.status[mem_fragmentation_ratio,]
七、在zabbix server网页上配置监控
6.1 添加主机
6.2 添加监控项目
简单检查 net.tcp.service.perf[tcp,,] #浮点数 触发器为0时告警 图形
redis.status[used_memory_rss,] #整数
redis.status[used_memory,] #整数
redis.status[mem_fragmentation_ratio,] #浮点数 redis内存碎片化率
redis.status[connected_clients,] #整数
redis.status[total_commands_processed,] #每秒速率 整数 redis每秒钟执行的命令(qps)
redis.status[total_connections_received,] #每秒速率 整数
6.3 模板说明
自动发现redis端口(discover_redis.py)
#coding:utf-
import json
import commands (status, output) = commands.getstatusoutput("""sudo netstat -tlnp|grep 'redis'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v '^1'""")
outputs = output.split('\n')
ports = []
for port in outputs:
ports += [{'{#REDISPORT}': port}] print json.dumps({'data':ports},sort_keys=True,indent=) 自动发现zabbix配置:
UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py
zabbix自定义key监控redis的更多相关文章
- 菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...
- zabbix自定义key监控memcache状态及其他服务进程
一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加 UserParameter=memcached_stats[*],(echo ...
- zabbix自定义key监控mysql主从同步超简单!
原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值 1.在zabbix客户端配置文件中加入: 首先要对mysql ...
- zabbix自定义key监控nginx和fpm(网站并发数)
一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...
- zabbix自定义key
zabbix自定义key 1.修改客户端配置文件 #vi /opt/zabbix/etc/zabbix_agentd.conf Include=/opt/zabbix/etc/zabbix_agent ...
- zabbix 自定义 key (转)
转自:http://www.cnblogs.com/miclesvic/p/6164303.html 1.在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/ ...
- zabbix 自定义Key (六)
1.在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/usr/local/zabbix_agent/etc/zabbix_agentd.conf) ### ...
- zabbix主动模式,自定义Key监控 zabbix采集器
主动模式不是只能用模板提供的标准检测器方式 zabbix-agent两种运行方式即主动模式和被动模式.默认被动模式. 两种模式是相对 客户端 角度来说的. 被动模式:等待server来取数据,可以使用 ...
- Zabbix 自定义Key
系统:Linux Centos 7.4 x64.Windos 2008 x64 服务:Zabbix 3.0.16 说明1:自定义Key 主要通过自定义 脚本 或者 命令 来实现自定义监控类型,需要在a ...
随机推荐
- linux tcpdump命令抓包
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27 ...
- python从网络时间服务器获取并打印当前时间以及pip安装ntplib的一次体验
首先需要安装ntplib,科一通过pip安装. ubuntu下科一通过如下指令安装pip: $ sudo apt-get install python-pip 使用如下指令安装ntplib: $ su ...
- MVC涉及RouteTable自定义路径
Routing 到目前为止,我们已经解决了MVC的很多问题,但忽略了最基本的最重要的一个问题:当用户发送请求时,会发生什么? 最好的答案是“执行Action 方法”,但仍存在疑问:对于一个特定的URL ...
- appium+python自动化40-adb offline(5037端口被占)
前言 adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决. 如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端 ...
- Java 中的this关键字
1.this关键字代表当前对象 this.属性 操作当前对象的属性 this.方法 调用当前对象的方法 2.封装对象的属性的时候,经常会使用this关键字 public class Telphone ...
- 汇编_指令_DS*10H的含义
在8086存储器系统中,20位地址总线的地址是物理地址.但是由于8086内部寄存器都是16位的, 用16位寄存器直接访问20位存储器空间显然不可能,所以8086CPU使用了存储器分段的办法.这 样内存 ...
- 20181103_C#线程初探, BeginInvoke_EndInvoke
在C#中学习多线程之前, 必须要深刻的理解委托; 基本上所有的多线程都在靠委托来完成 一. 进程和线程: a) 进程和线程都是计算机的概念, 跟程序语言没有任何关系 b) 进程和线程都属于计算机操 ...
- 十四 关于interrupt, interrupted, isInterrupted
1 判断线程是否是停止状态? interrupt() : interrupt方法用于中断线程.调用该方法的线程的状态为将被置为"中断"状态. 注意:线程中断仅仅是置线程的中断状态位 ...
- linux 下java环境的配置
注意:这里选择下载jdk并自行安装,而不是通过源直接安装(apt-get install) 1.下载jkd( http://www.oracle.com/technetwork/java/javase ...
- java软件设计模式——单例设计模式中的【饿汉式】与 【懒汉式】示例
以下为单例设计模式中的两种经典模式的代码示意: 单例设计模式(spring框架IOC,默认创建的对象都是单例的): 饿汉式: public class SingleClass { private Si ...