vanKazaov/ping-monitoring-tool

PHP上的Ping监控工具

v0.8.0 2023-09-10 15:05 UTC

This package is auto-updated.

Last update: 2024-09-15 09:54:32 UTC


README

通过定时执行ping操作并保存累积统计数据来监控Web资源的可用性。

如果资源不可用或恢复可用,将向配置中指定的电子邮件地址发送相应的通知。每周发送一次累积统计数据。

系统要求

PHP > 7, PDO, SQLite3, Curl

安装

可以通过Composer安装

composer require vankazaov/ping-monitoring-tool

用法

为了配置工具,需要

  1. /vendor/vankazaov/ping-monitoring-tool/src目录中的config-example.inicron-run.php文件复制到您的工作目录。
  2. config-example.ini重命名为config.ini
  3. 在配置文件中指定您的数据。
  4. 以CLI模式启动cron-run.php文件

首次启动时,将创建数据库并从配置文件中加载设置。当配置文件中的设置更改时,它们将在数据库中自动重新加载。

配置文件设置

  1. [mailer]部分中,指定主SMTP服务器smtp_host_base,该服务器将通过php-函数mail()发送通知,如果主服务器不可用,则指定备用地址。
  2. 假设该脚本将在不同的服务器上有多个副本。为了知道邮件来自哪个服务器,请设置fromfrom_server标题。
  3. 默认情况下,每60分钟重复一次关于服务器不可用的通知。参数repeat_downrepeat_down_every_minutes
  4. 指定将发送消息的用户:每个新用户应有一行新格式recipients[] = "user1@example.com"
  5. [monitoring]部分中,指定需要监控的服务器:servers[] = "https://www.yandex.ru"
  6. 您还可以设置从多少次失败的尝试开始发送关于服务器不可用的通知:failed_attempts["https://www.mera-device1.ru"] = 5。默认情况下,在第二次失败的尝试时发送通知。
  7. 使用CRON设置cron-run.php脚本的运行频率。

cron-run.php文件

为了测试,您可以配置Logger类的对象

$logger = new Logger('prod', 1, $repository);

第一个参数是工作模式:prod\debug

第二个参数是注册消息的级别:0, 1, 2。

在任何模式下,错误都记录在数据库中。

如果注册错误的级别为0,则只有错误记录在日志中。

如果级别大于0,则记录所有消息。

如果级别大于1且模式为debug,则整个日志输出到控制台。

如果您想打印数据库表的内容,则取消以下行注释

//$printer = new PrintDb();
//$printer->printConsole('logs');

您可以选择打印任何现有表:monitoring, stats, config, logs。

CONTRIBUTING

这是一个教学项目,不打算进行进一步的开发和维护。

LICENSE

BSD-3-Clause许可