wy /neos-oh-dear
此包最新版本(v1.1.1)没有提供许可证信息。
使用 OhDear.app 跟踪您的应用程序关键指标
v1.1.1
2023-05-15 10:04 UTC
Requires
- php: >=7.4
- neos/flow: *
- symfony/process: *
README
此包可轻松监控您的 Neos 应用程序关键指标,并为 Oh Dear 输出 JSON 格式。
安装
您可以通过 composer 轻松安装此插件
composer require wy/neos-oh-dear
设置
- 在网站根目录下创建一个文件,例如
health.php
(请参阅下面的示例)- 需要
../Packages/Plugins/Wysiwyg.OhDear/autoload.php
- 使用 Composer 自动加载器初始化
\Wysiwyg\OhDear\Application
类(以下为示例) - 使用正确的配置值初始化您的检查
- 执行步骤
- 需要
- 在 Neos 中以下配置路径下配置您的 Oh Dear 秘密:
Wysiwyg.OhDear.healthSecret
(仅限生产环境) - 在您的网页浏览器中打开文件,结果应该是一个 JSON 字符串(请参阅以下示例)
可用的检查
示例文件
<?php use \Wysiwyg\OhDear\Checks; $composerAutoloader = require_once '../Packages/Plugins/Wysiwyg.OhDear/autoload.php'; $app = new \Wysiwyg\OhDear\Application($composerAutoloader); /** @var array<int, \Wysiwyg\OhDear\Checks\Check> $checks */ $checks = [ new Checks\DiskSpaceCheck(), new Checks\CpuLoadCheck(), new Checks\DatabaseCheck( 'mysql', $app->getNeosConfig('Neos.Flow.persistence.backendOptions.host'), $app->getNeosConfig('Neos.Flow.persistence.backendOptions.user'), $app->getNeosConfig('Neos.Flow.persistence.backendOptions.password'), $app->getNeosConfig('Neos.Flow.persistence.backendOptions.dbname') ), new Checks\RedisCheck( $app->getNeosConfig('Neos_Fusion_Content.backendOptions.hostname', 'Caches'), $app->getNeosConfig('Neos_Fusion_Content.backendOptions.password', 'Caches'), $app->getNeosConfig('Neos_Fusion_Content.backendOptions.database', 'Caches'), (int) $app->getNeosConfig('Neos_Fusion_Content.backendOptions.port', 'Caches') ), new Checks\SwiftSmtpCheck( $app->getNeosConfig('Neos.SwiftMailer.transport.options.host'), $app->getNeosConfig('Neos.SwiftMailer.transport.options.encryption'), $app->getNeosConfig('Neos.SwiftMailer.transport.options.port'), $app->getNeosConfig('Neos.SwiftMailer.transport.options.user'), $app->getNeosConfig('Neos.SwiftMailer.transport.options.password'), $app->getNeosConfig('Neos.SwiftMailer.transport.options.streamOptions'), ), ]; $app->process($checks);
JSON 输出示例
{ "finishedAt": 1639735170, "checkResults": [ { "name": "Disk space", "label": "", "notificationMessage": "The disk is almost full (90% used).", "shortSummary": "90%", "status": "warning", "meta": { "disk_space_used_percentage": 90 } }, { "name": "CPU Load", "label": "", "notificationMessage": "", "shortSummary": "3.31982421875 2.98046875 2.98046875", "status": "ok", "meta": { "lastMinute": 3.31982421875, "last5Minutes": 2.98046875, "last15Minutes": 2.98046875 } }, { "name": "Database Connection", "label": "", "notificationMessage": "", "shortSummary": "Conntected", "status": "ok", "meta": [] } ] }