zabbix监控otter异常挂起

470次阅读
没有评论

python 版使用不方便,请使用最新的 golang 版监控

https://www.aityp.com/zabbix%e7%9b%91%e6%8e%a7otter-%e8%87%aa%e5%8a%a8%e5%8f%91%e7%8e%b0/

因为业务中使用了 otter 做数据库同步,但是 otter 会因为一些异常导致同步挂起,所以就写了一个简单的脚本来监控 otter 异常挂起,通过 zabbix 来实现报警推送的功能。

zabbix_agentd.conf 中加入以下配置

UserParameter=otter.status[*],/usr/local/zabbix/scripts/otter-status.py $1

需要安装 pika 模块

pip install pika

otter-status.py 脚本内容

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import sys
from kazoo.client import KazooClient

def get_status(id):
       zk = KazooClient(hosts='你的 zk 地址:2181', read_only=True)
       zk.start()
       data = zk.get("/otter/channel/%s" % id)
       print(data[0].decode('utf-8').strip('"'))
       zk.stop()

if __name__ == '__main__':
       id = sys.argv[1]
       get_status(id)

配置之后记得重启 zabbix-agentd

在 zabbix 上面添加监控项

注意图中 40 代表你要监控的 channel 项的 id

zabbix 监控 otter 异常挂起

zabbix 监控 otter 异常挂起

添加触发器

zabbix 监控 otter 异常挂起

后面 Otter 挂起的时候就可以正常收到邮件钉钉等通知了

zabbix 监控 otter 异常挂起

正文完
 
ddn
版权声明:本站原创文章,由 ddn 2020-08-07发表,共计760字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。