Zabbix 配置进程监控

Zabbix 进程监控介绍

Zabbix可以很方便地监控服务器上的各种进程。在使用Zabbix进行进程监控时,被监控的节点通常需要安装Zabbix Agent。Zabbix Agent 是一个轻量级的代理程序,安装在被监控的主机上,用于收集系统的各种性能数据和指标,如CPU、内存、磁盘使用情况以及特定进程的运行状态等。

在这里插入图片描述

安装了Zabbix Agent后,登录Zabbix Server的Web界面添加新主机,通过配置相应的监控项(Item)和触发器来监控特定进程的状态。例如,使用proc.num键来监控某个进程的数量,使用proc.mem键来监控某个进程的内存使用情况,等等。

以下是Zabbix进程标准检测器的列表:

# 进程 CPU 利用率百分比。返回浮点数
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]

# 操作系统进程及属性列表。返回 JSON 数组
proc.get[<name>,<user>,<cmdline>,<mode>]

# 进程内存,以字节为单位。返回整数	
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]

# 进程数。返回整数
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]

# 具体处理的各个信息。返回浮点数
proc_info[process,<attribute>,<type>]

有以下三种进程监控配置方法:

  • 直接在主机中新建监控项和触发器
  • 新建模板,在模板中新建监控项和触发器
  • 在zabbix客户端的配置文件添加过滤进程然后在服务器调取状态

Zabbix进程监控配置

zabbix环境信息:

节点IPOSRole
zabbix-server192.168.72.31Ubuntu 22.04zabbix-server
web-server192.168.72.33Ubuntu 22.04web-server/zabbix-agent

zabbix 版本: v7.0.0

前置要求:已在web-server上安装zabbix-agent,并且在zabbix-server上添加web-server主机。

在web-server上安装nginx服务作为示例应用进程。

apt install -y nginx

查看nginx进程数为3个

root@web-server:~# ps -ef | grep ngin[x]
root       46597       1  0 14:20 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data   46598   46597  0 14:20 ?        00:00:00 nginx: worker process
www-data   46599   46597  0 14:20 ?        00:00:00 nginx: worker process
root@web-server:~# 

在zabbix web控制台上,导航到数据采集 -> 主机,选择web-server节点
在这里插入图片描述
选择监控项,新建监控项
在这里插入图片描述
配置参数说明:

  • 名称:Check Nginx Process
  • 类型:Zabbix 客户端
  • 键值:proc.num[nginx]

选择触发器,创建触发器,在表达式中选择Check Nginx Process
在这里插入图片描述
配置参数说明:

  • 名称:Nginx Process Not Running
  • 表达式:点击添加,监控项选择Check Nginx Process,插入后表达式为:last(/zabbix-agent01/proc.num[nginx])=0,当nginx进程数为0时进行告警

选择告警->动作->创建动作,在触发器中选择Nginx Process Not Running
在这里插入图片描述
配置参数说明:

  • 名称:Notify on Nginx Process Down
  • 条件:点击添加,触发器选择 Nginx Process Not Running

配置操作
在这里插入图片描述
自定义消息内容如下:

Problem: {EVENT.NAME}


-=【告警】=-
告警组:{TRIGGER.HOSTGROUP.NAME}
告警主机:{HOSTNAME1} 
告警主机别名:{HOST.NAME}
主机IP:{HOST.IP}
主机描述:{HOST.DESCRIPTION}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
警报类别:{TRIGGER.NAME}
当前状态:{ITEM.LASTVALUE}
告警平台:http://192.168.72.31/zabbix

说明:告警平台地址为zabbix-server地址。

配置恢复操作
在这里插入图片描述
自定义消息内容如下:

Resolved:{EVENT.NAME}


-=【告警取消啦】=-
恢复主机:{HOSTNAME1}
恢复时间:{EVENT.DATE} {EVENT.TIME}
主机IP:{HOST.IP}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

在监测->最新数据中,选择web-server,查看监控数据图形:
在这里插入图片描述

可以在zabbix-server节点使用zabbix_get命令测试监控项,这会返回匹配进程的数量

root@zabbix-server:~# apt install -y zabbix-get
root@zabbix-server:~# zabbix_get -s 192.168.72.33 -p 10050 -k "proc.num[nginx]"
3

在web-server上停止nginx服务

root@web-server:~# systemctl stop nginx

查看收到的钉钉告警消息
在这里插入图片描述

自定义配置文件

另一种进程监控方式为,通过在Zabbix客户端配置文件中添加自定义用户参数(UserParameter),可以实现对特定进程的监控。这是一种灵活的监控方法,可以根据需求定制化监控项。以下是具体步骤和示例:

打开Zabbix Agent配置文件,添加自定义用户参数。例如,监控Nginx进程:

root@web-server:~# nano /etc/zabbix/zabbix_agentd.conf
UserParameter=nginx.status,pgrep nginx | wc -l

这条指令的意思是通过pgrep nginx命令查找Nginx进程,并返回匹配的进程数。

重启Zabbix Agent以应用新配置:

root@web-server:~# systemctl restart zabbix-agent

使用管理员权限登录到Zabbix的Web界面。导航到数据采集-> 主机,添加监控项,只需修改键值为nginx.status即可。
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值