watchowl / cake-server-monitor
使用 CakePHP 3 开发的服务器监控工具
Requires
- cakephp/cakephp: ~3.5
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
This package is not auto-updated.
Last update: 2024-09-25 08:42:00 UTC
README
CakePHP 3 服务器状态监控插件
安装
-
要安装 CakeServerMonitor 插件,您可以使用 composer。从您的应用程序根目录(其中包含 composer.json 文件)运行以下命令:
composer require watchowl/cake-server-monitor
-
您需要将以下行添加到您的应用程序的
config/bootstrap.php
文件中Plugin::load('Watchowl/CakeServerMonitor',['bootstrap' => true]);
通知
CakeServerMonitor 目前支持通过电子邮件进行通知。您可以在应用程序的 'config/bootstrap.php' 文件中配置收件人的电子邮件地址,使用覆盖 CakeServerMonitor.email.recipients 键
Configure::write( 'CakeServerMonitor.email.recipients', ['my-first-email@address.com','my-second-email@address.com'] );
调度任务
使此功能生效的最后一步是添加一个 cron 任务。您可以通过向您的系统 crontab 文件添加类似以下行来实现。请记住更新您自己的项目路径。以下 cron 任务每天凌晨 1 点运行,您可以更改它以符合您的偏好。
* 1 * * * cd path && bin/cake monitor run
定制化
CakeServerMonitor 提供了一些定制化选项。
- 更改电子邮件配置文件
默认情况下,CakeServerMonitor 使用 default 配置文件发送电子邮件。您可以使用 CakeServerMonitor.email.profile 键将其更改为您自己的偏好。
Configure::write( 'CakeServerMonitor.email.profile', 'debug' );
- 更改检查状态
默认情况下,CakeServerMonitor 检查以下状态:
- 磁盘空间
- MySql 进程
- Nginx 进程
- Php5Fpm 进程
在底层,每个检查器实际上是 WatchOwl 命名空间下的一个类。您可以通过覆盖 CakeServerMonitor.commands 键来指定要运行的检查器。
Configure::write( 'CakeServerMonitor.commands', [ 'disk_space' => 'WatchOwl\CakeServerMonitor\CommandDefinition\DiskSpace', 'mysql' => 'WatchOwl\CakeServerMonitor\CommandDefinition\MySql', 'nginx' => 'WatchOwl\CakeServerMonitor\CommandDefinition\Nginx', 'php5fpm' => 'WatchOwl\CakeServerMonitor\CommandDefinition\Php5Fpm', ] );
您可以移除上述任何检查器,这样它就不会运行。
- 创建您自己的检查器
如您所猜,您可以创建自己的检查器以扩展 CakeServerMonitor 的功能。为此,创建一个从 WatchOwl\CakeServerMonitor\CommandDefinition\CommandDefinition 抽象类扩展的类,并实现其定义的抽象方法。
之后,将您自己的检查器添加到 CakeServerMonitor.commands 键,如前文所述。
辅助方法
查看当前服务器状态
bin/cake server_monitor view