课程名称:19.12 添加自定义监控项目
笔记内容:
个性化的自定义,模板中没有只有数据库的某个表的活跃度来体现,需要写脚本去zabbix中去体现
测试:
需求:监控某台web的80端口连接数,并出图
两步:1)获得数据,到zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
第一步,需要到客户端定义脚本
获取80端口并发连接数命令
[root@localhost ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED
命令解析:
网络连接状态
[root@localhost ~]# netstat -ant
80端口连接状态
[root@localhost ~]# netstat -ant |grep ':80 '
命令可以去查看80端口下ESTABLISHED状态的连接有多少个(正常不会超过100)
[root@localhost ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED
第二步 编写脚本:
[root@localhost ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
脚本执行权限(最终是zabbix用户去执行脚本)
[[email protected] ~]# chmod 755 /usr/local/sbin/estab.sh
第三步 编辑客户端配置文件
[[email protected] ~]# vi /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1 //表示使用自定义脚本(0则关闭,1开启)
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
my.estab.count是监控项中的键值(键值可以自定义)
最后重启zabbix-agent服务
[[email protected] ~]# systemctl restart zabbix-agent
验证:
自定义的脚本是否识别
服务端
[[email protected] ~]# zabbix_get -s 172.25.200.192 -p 10050 -k 'my.estab.count'
监控中心配置项目
创建触发器(什么时候报警)
课程名称:配置邮件告警(上)(下)
笔记内容:
首先邮箱设置
进入监控中心
全部自定义,脚本位置后续编辑
参数(关系到是否正常发邮件)详解:
分布在path脚本的参数中
{ALERT.SENDTO} 接收邮件的邮箱地址
{ALERT.SUBJECT} 主题
{ALERT.MESSAGE} 邮件内容
写报警脚本
脚本位置:
Zabbix配置文件中已经定义:
[[email protected] ~]# vi /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[[email protected] ~]# vi /usr/lib/zabbix/alertscripts/mail.192
脚本模板:https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
更改权限
[[email protected] ~]# chmod 755 /usr/lib/zabbix/alertscripts/mail.192
测试邮件命令
python 邮件脚本+发哪个邮箱+主题+内容
创建用户,用户接受邮件(创建用户前需要先创建用户组(可以现成有的))
监控中心
没有权限也是收不到邮件的,去用户组改(重要)
此时用户权限
动作配置(配置了触发器,那么触发规则,需要做发邮件、发短信、执行脚本等需要做的行为)
触发条件
A维护状态 非在 维护(维护状态不等于维护,监控主机处在维护状态重启服务或者配置服务的实际段内不需要报警)
B触发器示警度>=未分类(所有状态)
触发器示警度
默认信息定义当发生报警时,zabbix会向你的邮箱发送什么内容
HOST:{HOST.NAME} {HOST.IP} (定义主机名)
TIME:{EVENT.DATE} {EVENT.TIME} (定义事件发生时间)
LEVEL:{TRIGGER.SEVERITY} (定义示警度)
NAME:{TRIGGER.NAME} (定义哪一个触发器发出的报警)
messages:{ITEM.NAME}:{ITEM.VALUE} (发出告警会出现什么状态码)
ID:{EVENT.ID} (发生事件的id)
配置-->动作-->恢复操作
恢复操作定义问题解决后
默认信息和新增操作和 “操作” 的相同。
课程名称:19.15 测试告警
19.16 不发邮件的问题处理
笔记内容:
设置触发器让其报警
触发器无法设置需要到模板中更改
新创建一个新的触发器
未发邮件
排查一
排查二
问题和恢复的ID在邮件中是一样的,成对
主动与被动设置
默认是客户端(被动模式),主动式就是主动上报(主动模式)
转载于:https://my.oschina.net/u/3803396/blog/1843049