watchowl/cake-server-monitor

使用 CakePHP 3 开发的服务器监控工具

安装: 25

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 2

开放问题: 1

类型:cakephp-plugin

1.0.0 2017-10-30 22:22 UTC

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