【zabbix】利用LLD自動發現功能監控多Redis例項
阿新 • • 發佈:2019-02-20
使用方法:
1)使用netstat來捕獲redis-server啟用的埠,但zabbix-agent執行在zabbix賬號下,故須給zabbix賬號授權執行netstat -nltp的許可權,在root使用者下執行如下命令:
echo "zabbix ALL=(root) NOPASSWD:/bin/netstat" > /etc/sudoers.d/zabbix
echo 'Defaults:zabbix !requiretty' >> /etc/sudoers.d/zabbix
chmod 600 /etc/sudoers.d/zabbix
2)將qiueer目錄、redis.py複製到 /usr/local/zabbix/lib/redis目錄,供參考:
mkdir -p /usr/local/zabbix/lib/redis
cp qiueer redis.py /usr/local/zabbix/lib/redis -R
3)zabbix_agent.conf配置檔案中需包含如下配置,注意指令碼的位置:
## qiueer redis-stat for discovery
UserParameter=custom.redis.discovery, python /usr/local/zabbix/lib/redis/redis.py --list
UserParameter=custom.redis.item[*],python /usr/local/zabbix/lib/redis/redis.py -p $1 -k $2
4)配置完成後,重啟zabbix agent,例如:
service zabbix-agent restart
5)在zabbix前端匯入模板:
Qiueer-Template Business-Redis-Discovery.xml
6)如果連線Redis需要賬號密碼,則需要配置埠、密碼的對應關係,配置檔案路徑如下:
/usr/local/public-ops/conf/.redis.passwd (注意需給zabbix使用者賦予只讀許可權)
內容類似如下,格式是: 埠 密碼
6379 42s#qdd
PS:
2)、3)步驟中的路徑/usr/local/zabbix/lib/redis/根據實際情況修改
使用示例:
1)獲取redis埠列表:
$ python redis.py -l
{
"data":[
{
"{#REDIS_PORT}":6379
}
]
}
2)採集資料
$ python redis.py -p 6379 -k used_memory_rss
9035776
其他:
## 使用如下命令解析其輸出來獲取memcached的埠
sudo netstat -nlpt | grep 'redis-server' | awk '{print $4}'|awk -F: '{print $2}'
效果圖:
(latest data)
(graphic)