zabbix監控redis多例項

2021-09-27 04:47:20 字數 2413 閱讀 3751

如果主機有多個redis例項可以使用lld(low level discovery)方式監控redis,只需要在正規表示式裡把需要監控的埠標上,就可以監控redis多例項。

1,agent端

在ageng端建立可以識別redis多例項的指令碼(通過埠判斷)

cd /server/scripts

cat 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

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

如果不讓用telnet協議,還可以使用/usr/local/bin/redis-cli,本次我的配置中telnet沒有成功,因此把telnet注掉了。

關閉requiretty

sed -i 's/^defaults.*.requiretty/#defaults    requiretty/' /etc/sudoers
或者 vim /etc/sudoers  #注掉第56行

重啟zabbix服務

/etc/init.d/zabbix_agentd start
2,server端

使用zabbix_get獲取redis鍵值

/usr/local/zabbix/bin/zabbix_get -s 10.96.170.31 -k zabbix_low_discovery[redis]

":"6379"},

":"6380"}

]}

檢測是否取到redis資料的值:

/usr/local/zabbix/bin/zabbix_get -s 10.96.170.31 -k "redis_stats[6379,uptime_in_seconds]"

33168128

3,模板配置

模板匯入

把template redis auto discovery匯入到zabbix裡

設定正則

在 "管理" —> "一般" —> "正規表示式" ,選擇"新的正規表示式"

在 "administration" —> "general" —> "regular expressions" ,選擇"new regular expression"

設定如下:

name:redis regex

expression type:result is true

expression:^(6380|17761|17762|18005|23581)$

在表示式(expression)這裡把redis例項的埠寫出來,你用到哪些,或是後面可能要用到哪些都在這裡寫出來

主機關聯模板

給需要監控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...