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(BASH)命令搜索机制
原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...
- 下ue节点
#!/bin/bash action=$1 port=$2 file="/home/operation/workspace/renderingengine/engine/services.t ...
- java多线程(2) 线程同步
我们对线程访问同一份资源的多个线程之间,来进行协调的这个东西,就是线程同步. 例子1:模拟了多个线程操作同一份资源,可能带来的问题: package com.cy.thread; public c ...
- 【AR实验室】mulberryAR :添加连续图像作为输入
本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 之前mulberryAR只能利用手机相机实时捕捉图像作为系统的输入,这也比较符合用户的习惯.但是在开发的过程中,有时 ...
- 建立SIP通话
建立SIP: 点击下的出现的页面: 选择submit,只用填写用户名和密码就OK了,secret是密码,填写完以后记得应用 创建完毕以后,使用xlite去连接:xlite的配置:域名是asterisk ...
- 学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》
我们分享的上一篇文章是一位学长在大三的时候面试阿里实习生成功的经历的分享,其实就像学长在上一篇文章最后说的那样“面试并没有想的那么难,运气也会占一部分.”,其实我个人觉得,对于我们而言,自己越努力就会 ...
- Linux常用命令英文缩写
命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 (ubuntu 使用管理员权限 是 sudo) rpm ...
- java软件设计模式——单例设计模式中的【饿汉式】与 【懒汉式】示例
以下为单例设计模式中的两种经典模式的代码示意: 单例设计模式(spring框架IOC,默认创建的对象都是单例的): 饿汉式: public class SingleClass { private Si ...
- Java中static关键字介绍
static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static ...
- python _/__/__**__区别
"_"单下划线:"单下划线 " 开始的成员变量叫做保护变量,意思是只有类对象(即类实例)和子类对象自己能访问到这些变量,需通过类提供的接口进行访问:不能用'fr ...