作者:SRE运维博客



环境介绍

操作系统:centos 7.4

zabbix版本:zabbix server 3.4.7

客户端:zabbix-agent 3.4.7

监控进程:mysqld

监控端口:3306 tcp


进程监控

确认客户端已经安装且运行agent

zabbix监控windows tcp连接数 zabbix 监控端口_运维

查看进程

查看属于那个用户的 几个进程

mysql 的进程为root用户 两个进程

zabbix监控windows tcp连接数 zabbix 监控端口_mysql_02

添加监控项

zabbix监控windows tcp连接数 zabbix 监控端口_zabbix_03

名称随便写

类型zabbix客户端

键值选则进程数返回数

应用集选则prosesses 进程

zabbix监控windows tcp连接数 zabbix 监控端口_运维_04

proc.num[<name>,<user>,<state>,<cmdline>]

以下是对mysql进程的监控配置,key中的参数说明,

<name>第一个参数是进程名字,没必要填写,填了反而会使监控不太准确(仅个人测试)

<user>第二个参数是运行进程的用户名

<state>第三个为进程的状态 ,一般选则all 包括:all (default), run, sleep, zomb

<cmdline>第四个参数用来指定进程名中包含的字符,对进程进行过滤。

确认更新

zabbix监控windows tcp连接数 zabbix 监控端口_运维_05

创建触发器

zabbix监控windows tcp连接数 zabbix 监控端口_触发器_06

zabbix监控windows tcp连接数 zabbix 监控端口_mysql_07

选择刚才创建的监控项

zabbix监控windows tcp连接数 zabbix 监控端口_运维_08

插入

zabbix监控windows tcp连接数 zabbix 监控端口_mysql_09

zabbix监控windows tcp连接数 zabbix 监控端口_mysql_10

修改{hgh3a01:proc.num[,root,all,mysqld].last()}=0

{hgh3a01:proc.num[,root,all,mysqld].max(#2)}=2

hgh3a01:主机名称

proc.num[,root,all,mysqld]:监控项

max(#2)}=2:表示最后两次的接收到的值都是2个进程(ps -ef 看到 mysqld 的进程为两个所以=2 ),说明mysqld进程在运行,则出发报警。

因为我们要测试是否能出发告警,所以要选则 =2 正常的<1 就是没有运行。

稍等几分钟观察看看能不能触发触发器

zabbix监控windows tcp连接数 zabbix 监控端口_触发器_11

收到邮箱警告

zabbix监控windows tcp连接数 zabbix 监控端口_zabbix_12

吧测试的进程改为正常的(因为mysql 运行的进程为两个我这变设置的触发器为进程小于两个进程就发出告警)

zabbix监控windows tcp连接数 zabbix 监控端口_触发器_13

保存更新观察是否回复正常

zabbix监控windows tcp连接数 zabbix 监控端口_运维_14

zabbix监控windows tcp连接数 zabbix 监控端口_linux_15

监控端口

添加监控项

zabbix监控windows tcp连接数 zabbix 监控端口_触发器_16

修改端口 保存更新

zabbix监控windows tcp连接数 zabbix 监控端口_zabbix_17

同监控进程一样(先测试)

zabbix监控windows tcp连接数 zabbix 监控端口_运维_18

收到触发警告

zabbix监控windows tcp连接数 zabbix 监控端口_运维_19

吧之前的值调整为0

zabbix监控windows tcp连接数 zabbix 监控端口_linux_20

测试回复正常

zabbix监控windows tcp连接数 zabbix 监控端口_触发器_21


作者:SRE运维博客