mteu / typo3-monitoring
Exposes health status information of selected components in your TYPO3 instance to be integrated in external monitoring
Package info
github.com/mteu/typo3-monitoring
Type:typo3-cms-extension
pkg:composer/mteu/typo3-monitoring
Requires
- php: ~8.3.0 || ~8.4.0 || ~8.5.0
- mteu/typo3-typed-extconf: ^1.3
- psr/http-client: ^1.0
- psr/http-factory: ^1.1
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^3.0
- symfony/console: ^7.3
- symfony/dependency-injection: ^7.3
- typo3/cms-backend: ^13.4.23 || ^14.3.0
- typo3/cms-core: ^13.4.23 || ^14.3.0
- typo3fluid/fluid: ^2.15.0 || ^4.3 || ^5.3
Requires (Dev)
- composer/class-map-generator: ^1.1
- eliashaeussler/version-bumper: ^4.0
- ergebnis/composer-normalize: ^2.47
- phpunit/phpcov: ^11.0.0 || ^12.0.0
- phpunit/phpunit: ^12.1 || ^13.1
- roave/security-advisories: dev-latest
- typo3/testing-framework: ^9.2
README
TYPO3 Monitoring
This packages provides the TYPO3 CMS Extension EXT:monitoring which extends the CMS with a monitoring system that
gives an insight into the health state of custom TYPO3 components through an API endpoint and a CLI command, e.g. for
post-deployment checks.
🚀 Features
- Extensible monitoring system for custom authorization, monitoring checks, and push notifications.
- Delivers health reports in several ways:
- Structured JSON responses for the overall health status
- Command-line interface for running monitoring checks
- Backend Dashboard
- Optional Push notification to external channels (e.g. the built-in EmailReporter)
- Built-in providers this package ships:
- Scheduler Provider (Monitors TYPO3 Scheduler tasks.)
- Caching for expensive monitoring operations
Supported versions
| TYPO3 v12 | TYPO3 v13 | TYPO3 v14 | |
|---|---|---|---|
| =< v0.4.x | ✅ | ✅ | ❌ |
| v0.5.x | ❌ | ✅ | ✅ |
🔥 Quick Start
Installation
composer require mteu/typo3-monitoring
Configuration
# config/system/settings.php return [ 'EXTENSIONS' => [ 'monitoring' => [ 'api' => [ 'endpoint' => '/monitor/health', 'enforceHttps' => true, ], 'authorizer' => [ 'mteu\Monitoring\Authorization\TokenAuthorizer' => [ 'enabled' => true, 'secret' => 'your-secure-secret', 'authHeaderName' => 'X-TYPO3-MONITORING-AUTH', ], ], ], ], ];
See Documentation/Configuration.md for all available settings.
Endpoint
GET https://<your-site>/monitor/health
Access requires authentication — either a TYPO3 backend administrator session or a token header. See Documentation/Authorization.md for details, including the security properties of the token.
The endpoint returns a JSON health report. See the API Reference for the full response schema and HTTP status codes.
🧑💻 Development
For guides on creating custom providers and authorizers, see the Documentation.
📙 Documentation
Please have a look at the extension documentation. It provides a detailed look into the possibilities you have in extending and customizing this extension for your specific TYPO3 components.
🤝 Contributing
Contributions are very welcome! Please have a look at the Contribution Guide. It lays out the workflow of submitting new features or bugfixes.
🔒 Security
Please refer to the Security Policy if you discover a security vulnerability in this extension. Be warned, though. I cannot afford bounty. This is a private project.
💛 Acknowledgements
This extension is inspired by cpsit/monitoring and its generic approach to offer an extensible provider
interface. I've transformed and extended the underlying concept into a TYPO3 specific implementation.
⭐ License
This extension is licensed under the GPL-2.0-or-later license.
💬 Support
For issues and feature requests, please use the GitHub issue tracker.