【PHP】通过PHP实时监控Apache、MySQL服务运行状态

一、前言

有些时候我们需要监控一些服务的运行状态,比如说Apach或MySQL的运行状态,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来实时监控Apache、MySQL服务的运行状态。

如果想一键开启Apache或MySQL等其他服务可以看这篇文章

【PHP】通过PHP开启/暂停Apache、MySQL或其他服务-CSDN博客

二、代码

首先要知道要监控服务的所在地址,下面代码中的地址根据实际情况修改。

返回值是'active'运行状态和'stop'停止状态,前端可以轮询请求这个方法,以实时监控服务运行状态。

php 复制代码
public function getServer()
{
	$info = [];

	// 要监控的服务
	$server['apache'] = "E:\phpstudy_pro\Extensions\Apache2.4.39\bin\httpd.exe";
	$server['mysql'] = "E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqld.exe";

	if (!empty($server)) {

		// apache
		$apache = $this->getProcessNameByName($server['apache']);
		if (!empty($apache)) {  
			if ($apache[0] == $server['apache']) {
				$info['apache'] = 'active';		//运行状态
			}else{
				$info['apache'] = 'stop';		//停止状态
			}
		} else {  
			$info['apache'] = 'stop';	//停止状态
		}  

		// mysql
		$mysql = $this->getProcessNameByName($server['mysql']);
		if (!empty($mysql)) {  
			if ($mysql[0] == $server['mysql']) {
				$info['mysql'] = 'active';	//运行状态
			}else{
				$info['mysql'] = 'stop';	//停止状态
			}
		} else {  
			$info['mysql'] = 'stop';	//停止状态
		}  
	}

	return apiResponse('200','success',$info);

}
相关推荐
2401_894915533 分钟前
Geo优化系统源码部署搭建技术——PHP程序开发部署指南
开发语言·php
这个DBA有点耶2 小时前
热点行更新:秒杀场景下一条UPDATE语句的锁等待与性能优化
数据库·sql·mysql·性能优化·database·dba
HH‘HH3 小时前
前端应用的离线暂停更新策略:原理、实现与最佳实践
开发语言·前端·php
冰暮流星3 小时前
mysql之新建表及对表的查询
android·数据库·mysql
xlq223224 小时前
高并发服务器day8(含服务器完整架构)
运维·服务器·php
Bug收容所4 小时前
12305项目学习day5
java·spring boot·redis·mysql·spring·rocketmq
会编程的土豆5 小时前
功能详解 01 · 用户注册:从表单到数据库一行
开发语言·数据库·后端·mysql·golang
溜达的大象5 小时前
Prometheus怎么监控MySQL?mysqld_exporter部署与告警教程
mysql·adb·prometheus
万岳科技系统开发5 小时前
AI赋能互联网医院小程序开启智慧医疗新时代
人工智能·小程序·apache
Sirens.16 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql