Zabbix监控进程

版权声明:欢迎转载,转载请注明出处 https://blog.csdn.net/miss1181248983/article/details/84664377

1. 配置主动模式

通常情况下,我们不需要监控服务的具体运行状态,只需要知道服务在运行、端口在监听即可。我们可以通过脚本自定义键值来实现目的,但相比于Zabbix自带的键值来说显得稍微麻烦些。


1.1 设置主动模式

这里采用主动模式,有两个好处:

1. 不受客户端防火墙限制;

2. 可以减轻zabbix服务端的压力。
  • 编辑zabbix-agent配置文件:
vim /etc/zabbix/zabbix_agent.conf

Server=192.168.1.254   #被动模式的serverip地址,如果设置纯被动模式,可以注释掉这行

ServerActive=192.168.1.254   #主动模式的serverip地址

StartAgents=3        #打开主动模式,0表示纯主动模式,纯主动模式下不会监听任何tcp端口

纯主动模式下,zabbix-agent 不会监听10050端口。而且,在web界面配置监控项时,如果设置为Zabbix客户端,监控项也是不会起作用的,必须设置为Zabbix客户端(主动式)

上面,指定了主、被动模式下server端ip地址,而且进行被动检查的agent分支进程设置为3,所以是主、被动模式共存。


1.2 设置监控端口

倘若一个服务监听的端口没了,那这个服务必然宕掉了,我们可以通过监控端口是否存在来判断服务是否在运行。

  • 先创建模板。配置模板创建模板

在这里插入图片描述

填好后,切换到页面,添加

在这里插入图片描述

  • 再创建监控项。配置模板Port and Proc monitor监控项创建监控项

在这里插入图片描述

  • 再创建触发器。还在Port and Proc monitor模板下面,触发器新建触发器

在这里插入图片描述

  • 再创建图形。图形创建图形

在这里插入图片描述

  • 测试监控效果:

nginx服务正在运行,正在监听80端口

在这里插入图片描述

systemctl stop nginx         #关闭nginx服务
[root@server3 home]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1170/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10312/zabbix_agentd 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      950/sshd            
tcp6       0      0 127.0.0.1:7001          :::*                    LISTEN      14274/java          
tcp6       0      0 :::12345                :::*                    LISTEN      14274/java          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1170/master         
tcp6       0      0 :::40607                :::*                    LISTEN      14274/java          
tcp6       0      0 :::10050                :::*                    LISTEN      10312/zabbix_agentd 
tcp6       0      0 :::8081                 :::*                    LISTEN      14274/java          
tcp6       0      0 :::45105                :::*                    LISTEN      14274/java          
tcp6       0      0 :::22                   :::*                    LISTEN      950/sshd    

在这里插入图片描述

可以看到已经显示为0,收到邮件告警

在这里插入图片描述

systemctl start nginx      

在这里插入图片描述

收到恢复告警

在这里插入图片描述

这样就实现了对端口的监控,而具体的端口我们是可以在那里定义的。


1.3 设置监控进程

监控了端口还不够,我们还要根据进程名来监控具体的进程,由此来判断业务服务是否在运行。具体步骤与上面类似,键值有改变。

  • Port and Proc monitor模板页面,添加

在这里插入图片描述

  • 创建监控项。监控项创建监控项

在这里插入图片描述

  • 创建触发器。触发器创建触发器

在这里插入图片描述

  • 创建图形。图形创建图形

在这里插入图片描述

  • 测试监控结果:

在这里插入图片描述

manager stop        #自定义的java服务,关闭它

在这里插入图片描述

可以看到已经显示为0,收到邮件告警

在这里插入图片描述

manager start 

在这里插入图片描述

收到恢复告警

在这里插入图片描述

这样就实现对具体进程的监控。

以上都是对服务的简单监控,如果监控需求不用涉及到服务具体的运行状态,那这样就可以满足需求。

猜你喜欢

转载自blog.csdn.net/miss1181248983/article/details/84664377
今日推荐