kevbaldwyn / php-fpm-monitor
带通知的监控和重启php-fpm
Requires
- php: >=5.5
- guzzlehttp/guzzle: 6.*
- hipchat/hipchat-php: >=1.0.0
- illuminate/filesystem: 4.*
- symfony/console: 2.*
- symfony/yaml: 2.*
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-14 18:47:25 UTC
README
此软件包可以配置为通过内置的ping和状态页面监控php5-fpm。如果检测到失败,它将重新启动php5-fpm,并且可以可选地通过最后一次成功的状态输出通知您。
它不是一个针对php-fpm问题的永久解决方案,而是一个帮助您在问题可以通过通知您最后一次成功的状态来调查时的工具。通常问题可能是fpm池配置错误,希望最后一次状态失败的日志可以帮助诊断这些问题。
安装
使用composer安装
-
添加到composer
"require": { ... "kevbaldwyn/php-fpm-monitor":"dev-master" ... }
-
Composer更新
$ composer update kevbaldwyn/php-fpm-monitor
-
将yaml配置文件
config.example.yml
复制到方便的位置,并根据需要配置选项。它默认不使用通知。
用法
该软件包提供了一个位于 vendor/bin/monitor
的二进制文件。基本用法需要将配置yaml文件路径作为第一个参数传递给命令。所有其他选项都是可选的。
$ vendor/bin/monitor check /var/www/config.yml
通过传递帮助 -h
标志显示所有选项。例如,设置ping php-fpm的主机和端口:
$ vendor/bin/monitor check /var/www/config.yml -l http://example.com -p 80
这个命令的想法是然后通过cron定期运行,以检查php-fpm的状态,如果服务关闭,将自动重启服务。
Php5-Fpm状态和ping页面
此工具需要正确设置状态和ping页面。更多相关信息请参阅: https://rtcamp.com/tutorials/php/fpm-status-page/
失败处理程序
有两个内置的失败处理程序: KevBaldwyn\PhpFpmMonitor\FailureHandlers\PhpFpmRestart
用于重启php-fpm和 KevBaldwyn\PhpFpmMonitor\FailureHandlers\NotifyHipChat
。这两个处理程序都可以在yaml配置中进一步配置。
要指定要运行的失败处理程序,只需在 restart_handlers
配置数组中列出完全限定的类名。
您可以通过实现 KevBaldwyn\PhpFpmMonitor\OnFailureInterface
来编写自己的处理程序。该接口接收以下方法调用,该方法包含在yaml文件中定义的完整配置,以及最后一次成功的状态响应,格式为json。
public function handle(array $config, $lastSuccessStatus);