jeffersonsimaogoncalves/cakephp-server-monitor

使用 CakePHP 3 构建的 Server Monitor

安装: 6

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 2

分支: 2

类型:cakephp-plugin

1.2.1 2019-01-26 13:21 UTC

This package is auto-updated.

Last update: 2024-09-30 01:17:29 UTC


README

CakePHP 3 服务器状态监控插件

安装

  • 要安装 CakeServerMonitor 插件,您可以使用 composer。从您的应用程序根目录(位于 composer.json 文件所在的目录)运行以下命令

    composer require jeffersonsimaogoncalves/cakephp-server-monitor

  • 您需要将以下行添加到应用程序的 config/bootstrap.php 文件中

    Plugin::load('JeffersonSimaoGoncalves/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 进程

在幕后,每个检查器实际上都是 JeffersonSimaoGoncalves 命名空间下的一个类。您可以通过覆盖 CakeServerMonitor.commands 键来指定要运行的检查器。

Configure::write(
    'CakeServerMonitor.commands',
    [
        'disk_space' => 'JeffersonSimaoGoncalves\CakeServerMonitor\CommandDefinition\DiskSpace',
        'mysql' => 'JeffersonSimaoGoncalves\CakeServerMonitor\CommandDefinition\MySql',
        'nginx' => 'JeffersonSimaoGoncalves\CakeServerMonitor\CommandDefinition\Nginx',
    ]
);

您可以删除上述任何检查器,以便它不会运行。

  • 创建自己的检查器

如您所猜测的,您可以创建自己的检查器来扩展 CakeServerMonitor 的功能。为此,创建一个从 JeffersonSimaoGoncalves\CakeServerMonitor\CommandDefinition\CommandDefinition 抽象类扩展的类,并实现其定义的抽象方法。

之后,将您自己的检查器添加到 CakeServerMonitor.commands 键,如前文所述。

辅助方法

查看当前服务器统计信息

bin/cake monitor view

致谢

这项工作是基于 watchowl 的代码 分支出来的。