ttree / health
Flow 框架和 Neos CMS 的健康检查器
dev-master
2021-03-12 10:15 UTC
Requires
- neos/flow: ^7.0
This package is auto-updated.
Last update: 2024-09-12 20:29:05 UTC
README
该包处于开发状态,尚未准备用于生产
功能
- 创建端点以显示您的应用程序健康状态
- 创建多个健康状态端点的 API
- 创建自定义检查的 API
- 实现数据库监控的健康检查
- 实现 ElasticSearch 监控的健康检查
- 实现 Redis 监控的健康检查
- 创建端点以显示您的应用程序指标(Prometheus)
- 创建多个指标端点的 API
- 创建自定义指标的 API
- 实现 CR 中节点数量的指标,用于实时工作空间
- 实现 CR 中节点数量的指标,用于非实时工作空间
- 实现数据库大小的指标
- 实现 Elasticsearch 索引大小的指标
- 实现资产磁盘使用的指标
如何创建自定义状态端点?
在您的 Settings.yaml
预设定义
Ttree: Health: presets: default: checks: database: class: Ttree\Health\Check\DatabaseCheck elasticsearch: class: Ttree\Health\Check\ElasticSearchCheck newsletterSender: class: Ttree\Health\Check\NewsletterSenderCheck
路由配置
然后您可以在 Routes.yaml
中创建路由配置
- name: 'health - monitoring endpoint' uriPattern: 'health' defaults: '@package': 'Ttree.Health' '@controller': 'Monitoring' '@action': 'index' '@format': 'json' 'preset': 'default' appendExceedingArguments: true httpMethods: [GET]
响应应类似于这样
{ "endpoint": "default", "success": { "count": 1, "message": { "database": { "status": "Success", "message": "Database access works" } } }, "warnings": { "count": 1, "message": { "elasticsearch": { "status": "Warning", "message": "ElasticSearchCheck is not in green state" } } }, "errors": { "count": 1, "message": { "newsletterSender": { "status": "Error", "message": "Newsletter Sender is down" } } } }
如果没有错误和警告,响应状态为 200
如何创建自定义检查?
您的自定义检查必须实现 Ttree\Health\Check\CheckInterface
。方法 run
的响应必须返回一个 Ttree\Health\Result\ResultInterface
的实例。您可以使用内置的 ErrorResult
、WarningResult
和 SuccessResult
。
目前提供的检查包含“占位符”代码。真正的实现将在包的架构完成后进行。
如何创建自定义指标端点?
待办事项
赞助商和贡献者
此包的开发由 ttree 赞助(https://ttree.ch)。