如果主機有多個redis例項可以使用lld(low level discovery)方式監控redis,只需要在正規表示式裡把需要監控的埠標上,就可以監控redis多例項。
1,agent端
在ageng端建立可以識別redis多例項的指令碼(通過埠判斷)
cd /server/scriptscat redis_low_discovery.sh
#!/bin/bash
#fucation:mysql low-level discovery
#script_name redis_low_discovery.sh
redis() '))
port=($(ps aux|grep redis-server|grep -v grep|awk -f ":" ''|awk ''))
printf '
doif [[ "$" -gt 1 && "$" -ne "$(($-1))" ]];then
socket=`ps aux|grep $]}|grep -v grep|awk -f '=' ''|cut -d ' ' -f 1`
printf '\t \":\"$]}\"},\n"
else [[ "$" -eq "(($-1))" ]]
socket=`ps aux|grep $]}|grep -v grep|awk -f '=' ''|cut -d ' ' -f 1`
printf '\t \":\"$]}\"}\n"
fidone
printf '\t ]\n'
printf '}\n'
}$1
修改屬主
chown -r zabbix.zabbix /server/scripts/給許可權
chmod 755 redis_low_discovery.sh新增userparameter
vim /usr/local/zabbix/etc/zabbix_agentd.conf如果不讓用telnet協議,還可以使用/usr/local/bin/redis-cli,本次我的配置中telnet沒有成功,因此把telnet注掉了。userparameter=zabbix_low_discovery[*],/bin/bash /server/scripts/redis_low_discovery.sh $1
#userparameter=redis_stats[*],(echo info; sleep 1) | telnet 10.96.170.30 $1 2>&1 |grep $2|cut -d : -f2
userparameter=redis_stats[*],/usr/local/bin/redis-cli -h 10.96.170.31 -p $1 info|grep $2|cut -d : -f2
關閉requiretty
sed -i 's/^defaults.*.requiretty/#defaults requiretty/' /etc/sudoers或者 vim /etc/sudoers #注掉第56行
重啟zabbix服務
/etc/init.d/zabbix_agentd start2,server端
使用zabbix_get獲取redis鍵值
/usr/local/zabbix/bin/zabbix_get -s 10.96.170.31 -k zabbix_low_discovery[redis]檢測是否取到redis資料的值:":"6379"},
":"6380"}
]}
/usr/local/zabbix/bin/zabbix_get -s 10.96.170.31 -k "redis_stats[6379,uptime_in_seconds]"3,模板配置33168128
模板匯入
把template redis auto discovery匯入到zabbix裡
設定正則
在 "管理" —> "一般" —> "正規表示式" ,選擇"新的正規表示式"
在 "administration" —> "general" —> "regular expressions" ,選擇"new regular expression"
設定如下:
name:redis regex在表示式(expression)這裡把redis例項的埠寫出來,你用到哪些,或是後面可能要用到哪些都在這裡寫出來expression type:result is true
expression:^(6380|17761|17762|18005|23581)$
主機關聯模板
給需要監控redis例項的主機新增模板即可監控,預設是3600秒後自動更新,可以自行修改更新間隔
zabbix監控redis連線情況
配置zabbix客戶端配置檔案 vim etc zabbix zabbix agentd.conf 新增 include etc zabbix zabbix agentd.d 新增指令碼對redis連線情況進行取值 root node01 scripts cat redis agent monito...
使用zabbix監控redis記憶體使用
本篇提到的監控環境是有條件的,即預設單機只執行乙個redis例項,且預設執行的埠是6379 也可以是其他埠,需要通過sed i s 6379 你修改的埠 g xml模板檔案 修改模板檔案裡的埠號 即然有這麼多侷限,豈不是適應用環境很差。確實,本篇算是乙個基礎部分,為後面提到的lld low leve...
zabbix4 4 5監控redis訊息佇列長度
實驗環境centos7.6 環境準備,安裝python的redis支援模組 yum y install epel release yum y install python pip pip install redis 1 在被監控的伺服器上建立乙個python指令碼 只需要修改host,port,db...