需将ThinkPHP服务器添加为Zabbix主机并配置Agent,再通过自定义脚本监控进程存活、设置触发器(如thinkphp.process.alive=0)及告警动作实现集中监控与报警。

如果您希望在ThinkPHP应用中实现对服务器及服务状态的集中监控,并通过Zabbix触发警报,则需将ThinkPHP运行环境作为被监控主机纳入Zabbix体系。以下是完成Zabbix主机监控配置并启用警报功能的具体步骤:
一、在Zabbix Server中添加ThinkPHP所在主机
该步骤目的是将部署ThinkPHP的服务器注册为Zabbix中的受控主机,使其可被采集指标并参与告警逻辑。
1、登录Zabbix Web界面(如 http://zabbix-server-ip/zabbix),使用Admin账户登录。
2、点击左侧菜单栏【Configuration】→【Hosts】→右上角【Create host】。
立即学习“PHP免费学习笔记(深入)”;
3、在【Host】选项卡中填写:Host name设为thinkphp-app-server,Visible name设为“生产环境ThinkPHP应用服务器”,Groups选择或新建“Web Servers”组。
4、在【Interfaces】选项卡中,点击【Add】,类型选Agent,IP地址填写ThinkPHP服务器的真实内网IP(如192.168.31.164),端口保持默认10050。
5、在【Templates】选项卡中,点击【Select】,勾选Template OS Linux与Template App Apache(若使用Nginx则选Template App Nginx),点击【Add】后保存。
二、配置Zabbix Agent以支持ThinkPHP环境指标采集
该步骤确保Zabbix Agent能正确运行于ThinkPHP服务器,并开放必要权限与自定义监控项入口,为后续扩展业务级监控打下基础。
1、确认Zabbix Agent已安装并运行:systemctl status zabbix-agent,若未运行则执行systemctl start zabbix-agent并启用开机自启。
2、编辑Agent配置文件:vi /etc/zabbix/zabbix_agentd.conf。
3、确保以下参数已设置: Server=192.168.31.163(Zabbix Server IP),ServerActive=192.168.31.163,Hostname=thinkphp-app-server,且EnableRemoteCommands=1(启用远程命令,用于后续故障自愈)。
4、重启Agent服务:systemctl restart zabbix-agent。
三、创建ThinkPHP专属自定义监控项(基于脚本)
该步骤通过Zabbix Agent执行本地Shell脚本,采集ThinkPHP运行时的关键业务指标,例如应用进程存活、日志错误率、runtime目录写入权限等,弥补标准模板覆盖不足。
1、在ThinkPHP服务器上创建监控脚本:vi /usr/local/bin/check_thinkphp_health.sh。
2、脚本内容如下(需赋予执行权限):
#!/bin/bash
if pgrep -f "php think" > /dev/null; then echo 1; else echo 0; fi
3、赋予执行权限:chmod +x /usr/local/bin/check_thinkphp_health.sh。
4、在Zabbix Agent配置中注册UserParameter:
追加行至/etc/zabbix/zabbix_agentd.conf:
UserParameter=thinkphp.process.alive,/usr/local/bin/check_thinkphp_health.sh
5、重启Zabbix Agent使配置生效:systemctl restart zabbix-agent。
四、在Zabbix中配置触发器(Trigger)
该步骤定义当采集到的ThinkPHP相关指标异常时,Zabbix判定为问题发生的条件,是警报生成的前提。
1、进入Zabbix Web界面,导航至【Configuration】→【Hosts】→点击已添加的主机“thinkphp-app-server”→【Triggers】→【Create trigger】。
2、填写名称:ThinkPHP主进程异常退出。
3、在Expression中点击【Add】,选择Item为thinkphp.process.alive,Function选last(),Operator选=,Value填0。
4、设置Severity为High,点击【Add】保存。
五、配置ACTION实现警报通知
该步骤将触发器激活后的事件转化为实际通知动作,确保运维人员能及时获知ThinkPHP服务异常。
1、进入【Configuration】→【Actions】→【Event source】选择【Triggers】→点击【Create action】。
2、在【Action】选项卡中填写Name:Notify on ThinkPHP Down。
3、在【Conditions】选项卡中,点击【Add】,Condition type选Trigger name,Operator选like,Value填ThinkPHP主进程异常退出。
4、在【Operations】选项卡中,点击【New】,Operation type选Send message,Send to Users选择已配置的管理员用户,Send only to选Email(或WeChat,若已配置微信告警脚本)。
5、点击【Add】保存Action。



















