前面讲了怎样安装配置zabbix,并且用zabbix自带的模板监控节点CPU,内存等硬件情况。链接:
https://www.jianshu.com/p/2beea09af773
今天,以区块高度为例,教大家怎样创建自定义监控项,并且设置触发器,并且自动报警。
一、命令行取值
实时区块高度保存在 ~/.nearup/logs/betanet.log 日志中,我们需要命令行把它拉取出来:
awk '/stats:/{print $7}' /...你的路径.../.nearup/logs/betanet.log |awk -F '#' '{print $2}'|tail -n 1
二、配置zabbix-agent
cd /etc/zabbix
vim zabbix_agentd.conf
找到UserParameter这一行,修改为
UserParameter=block.height,awk '/stats:/{print $7}' /...你的路径.../.nearup/logs/betanet.log |awk -F '#' '{print $2}'|tail -n 1
其中,UserParameter代表自定义监控项参数,block.height代表键值,后面一串是刚才拉取值的命令行。
然后 service zabbix-agent restart 重启生效
然后 用 zabbix_get -s 127.0.0.1 -k block.height 测试能否正常取到值
三、登录zabbix-web页面,点configuration配置,点host主机,点items监控项,然后点右上角creat items创建监控项。
然后,name名字写一个自己容易记住的,key也就是键值,一定要写刚才UserParameter里面设置的那个键值
数据类型这里区块高度我写的正整数。 Update interval 设置每多长时间取一次值,根据自己的需求来。我设的5分钟。enabled勾上,然后点update.
四、创建监控项后,要设置触发器Triggers,一旦达到阈值,就报警。
点configuration配置,点host主机,点Triggers触发器, 点右上角Create trigger创建触发器
然后进行如下的配置
Name名字可以写一个自己方便识别的,Expression表达式我写的高度变化为0或者10分钟没有数据就触发报警
五、设置报警媒介。这里就设置为email邮件报警
点Administration管理, 点Media Types报警媒介,找到Email这一行,看是不是 Enabled,不是的话要点一下开启。点后点击Email,按照如下配置
SMTP emai 写你的网易邮箱账号, username写你的网易名(不带163.com后缀),然后打开网易邮箱,点设置,开启POP3/SMTP服务
把授权码填写zabbix web端,报警媒介email设置的password里面,然后点update。
六、点configuration配置,点Actions动作,开启,使之变为Enabled
七、定义收件人
点Usersettings用户个人资料设置,Media报警媒介,点add添加,
设置收件人,什么严重程度报警,然后点update即可
于是一旦区块高度不变了,我们就会收到邮件报警,自己就知道及时处理了。