biffbangpow / silverstripe-monitoring-client
Monitoring client
Installs: 811
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- ext-sodium: *
- guzzlehttp/guzzle: ^7
- guzzlehttp/promises: ^2
- silverstripe/cms: ^4.0 | ^5.0
- silverstripe/vendor-plugin: ^1.0 | ^2.0
This package is auto-updated.
Last update: 2024-12-19 16:41:11 UTC
README
Client library
This module is built to work alongside the monitoring server system. It will, however, operate as a standalone information page on the site where it is installed.
With no configuration, a simple reporting screen is added to the site config, so that the values from the included modules can be viewed in the CMS.
Monitoring system integration
By adding the following environment variables, the system can be integrated into the monitoring server system to provide centralised reporting (see the server repository for further information):
MONITORING_ENC_SECRET
MONITORING_ENC_SALT
MONITORING_API_KEY
MONITORING_VALID_IP
With the exception of the valid IP value, all the above variables will be generated by the server system when a client is added. These ensure that communications between the client and server are encrypted.
If set, the valid IP variable will restrict access to the monitoring system to those specified addresses. IPs can be specified by a single address or a CIDR notation.
The monitoring client implements rate-limiting on incoming requests to the reporting route, to help mitigate brute-force or DoS attacks. A maximum of 1 request per minute is permitted to the client software.
Included reporting modules
The system comes with a set of default reporting modules:
Silverstripe configuration
This module lists various parameters of the Silverstripe installation, including:
- Site Name
- Environment type
- Base URL
- Presence of default admin credentials
System information
This module lists information about the server environment, including:
- PHP version
- Host IP address
- File upload limit
- Script max execution time
- Database engine
- Database version
- Database name
The module will attempt to discover the public IP address of the client usign the ipify service. This can be disabled via a yml config, eg:
--- Name: bbp-client-monitor --- BiffBangPow\SSMonitor\Client\Module\SystemInfo: discover_public_ip: false
In addition, the module can report on the value of environment variables which have been set. These can be specified by adding a yml configuration to your project, eg:
--- Name: bbp-client-monitor --- BiffBangPow\SSMonitor\Client\Module\SystemInfo: env_variables: - APP_SMTP_USERNAME - APP_SMTP_PASSWORD - CAPTCHA_SITE_KEY - CAPTCHA_SECRET_KEY
Core package versions
This module reports on the installed versions of a set of core packages. The packages included in this report are configured in a default yml file, bundled with the module, but can be overridden as required, eg:
BiffBangPow\SSMonitor\Client\Module\CorePackageVersions: included_modules: - 'silverstripe/framework' - 'silverstripe/cms' - 'dnadesign/silverstripe-elemental' - 'biffbangpow/silverstripe-monitoring-client'
All package versions
This module lists all the composer-managed packages which are installed on the system.