Zabbix 對 redis監控
-
centos6.5 下安裝redis3.0.5
1、環境準備:
2、安裝gcc
3、編輯 /etc/sysctl.conf , 添加一項 vm.overcommit_memory = 1,重啓生效。
$ sysctl -p
5、默認的redis.conf文件參數是前臺啓動的,修改daemonize no爲daemonize yes則爲後臺啓動
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
(http://download.redis.io/releases/redis-stable.tar.gz)
$ tar xzf redis-3.0.5.tar.gz
$ cd redis-3.0.5
$ make && make install
6、關閉 Defaults requiretty獲取數據
sed -i 's/^Defaults.*.requiretty/#Defaults requiretty/' /etc/sudoers
7、准許用戶無密碼運行netstat
echo "zabbix ALL=(root) NOPASSWD:/bin/netstat">>/etc/sudoers
8、腳本存放目錄:
/usr/local/bin 存放啓動服務腳本。
9、(可選)安裝多實例:
直接複製src文件到另一個目錄:配置redis.conf即可
主要配置:daemonize yes
Pidfile
Logfile
10、(可選)配置主從:修改層庫的slaveof 爲
127.0.0.1 6379
-
redis模板配置(監控方案一、不推薦)
-
配置客戶端
添加cron作業,每分鐘獲取redis stat的一次數據
Crontab –e 編輯文件添加如下行
*/1****/usr/local/bin/redis-cli info >/tem/redis.stat 2>$1
*/1****/usr/local/bin/redis-cli –p 6388 info >/tem/redis.stat 2>$1
Service cron stues 查看運行狀態
2、vi/etc/zabbix/zabbix-agent.conf
UnsafeUserParameters=1 設置爲1 准許非root運行
UserParameter=redis.stats[*],cat/tmp/redis.stat | grep $1:|cut -d : -f2
-
如果存在單臺機器對應多個實例的情況,可根據端口的值進行配置自定義key值
例如增加一個redis_6388端口的redis實例
可在客戶端配置UserParameter=redis.port [*],cat /tmp/redis_6388.stat| grep $1:|cut -d : -f2進行性能數據的獲取。
-
-
界面配置模板和監控項目
監控項目對應key值即可。
-
第二種做自動發現模板lld(推薦此步驟,自動發現端口監控)
1、配置腳本redis_port.py 和 redis_stats.sh (腳本見附件)腳本存在在/opt/zabbix/linux
2、配置客戶端agent zabbix_agentd.conf 增加如下行
-
重啓agent服務 service zabbix-agent restart
-
在服務端通過 zabbix_get 獲取數據信息:
zabbix_get -s 192.168.13.171(ip) -k redis.discovery
zabbix_get -s 192.168.13.171 -k redis[used_cpu_sys,6379]
-
注:此處獲取的數值都沒有小數點
-
如果無法實例化json請設置下面參數哦
Vi /etc/sysctl.conf 增加 net.core.somaxconn =2048
-
chmod +s/bin/netstat (此步可以不執行)
如果獲取不到數據請檢查下 命令nc有沒有安裝
-
附件地址:
http://download.csdn.net/detail/kfj695/9438090