Monitoring, hardening, backup
Monitoring, hardening, and backup
Operational post-configuration of a production installation. Application and external service installation is covered in the overview and External services.
Monitoring and Metrics
Stormbpmn provides metrics in Prometheus format for monitoring system status.
Monitoring is an optional component
Prometheus and Grafana are listed as the recommended solution but are not mandatory. You can use any monitoring system compatible with the Prometheus metrics format or your existing corporate monitoring infrastructure.
Option 1: Prometheus + Grafana (recommended)
# docker-compose.yml Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
version: '3.8'
services:
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin123
Option 2: Alternative Monitoring Systems
StormBPMN is compatible with any systems that support collecting metrics in Prometheus format:
| System | Description | Note |
|---|---|---|
| Glaber | Zabbix fork with Prometheus support | Suitable for import substitution |
| Zabbix | With prometheus-exporter | Corporate standard |
| VictoriaMetrics | High-performance Prometheus alternative | For high loads |
| InfluxDB + Telegraf | Time-series database with collection agent | Universal solution |
Configuration for Glaber / Zabbix
StormBPMN exports metrics at endpoint /actuator/prometheus. To connect:
- Configure a scrape task for the URL:
http://stormbpmn-host:8082/actuator/prometheus - Collection interval: 15-30 seconds recommended
- Metrics include: JVM, HTTP requests, application business metrics
Corporate Monitoring
If the organization already has a centralized monitoring system (Zabbix, Glaber, Nagios, etc.), it is recommended to integrate with it rather than deploying a separate Prometheus.
Detailed Instructions
A detailed guide on configuring monitoring: Monitoring and Support
Security and Hardening
Mandatory security measures
- SSL/TLS - all communication only over HTTPS
- Strong passwords - for all service accounts
- Network isolation - database in a private network
- Regular updates - OS and containers
Audit Logging
StormBPMN allows you to maintain a log of all user actions, with delivery to the console, to an external SIEM via Syslog, or to a dedicated TimescaleDB database.
Detailed instructions
Configuration and audit channels: Audit Logging
Backup
What to back up
- PostgreSQL database - all application data
- S3 storage - files and documents
- Configuration files - settings and environment variables
Recommended Schedule
- Daily - full database backup
- Weekly - full S3 storage backup
- Monthly - archiving of old backups
Configuring Business Parameters
Main parameters in the administrative interface (/app/admin)
| Parameter | Description | Recommendation |
|---|---|---|
| enableCommonAssets | Common architecture elements for all teams | Enable for large organizations |
| enableCommonRoles | Common roles for all teams | Enable for standardization |
| enableCommonUsers | Common org structure | Enable for centralized management |
| allDiagramsAnonAccess | Anonymous access to all diagrams | Disable for security |
| enableAnonSearchPage | Search for anonymous users | As required by business |
| autoEnableEnterpriseLicense | Automatic license issuance | Enable for simplification |
| autoJoinTeamId | Automatic addition to a team | Specify the ID of the main team |
| disableTeamPopUp | Disable the prompt to create a team | Enable for centralized management |
| disableTeamCreation | Prohibit team creation | Enable for strict control |
AI features
AI features are invoked as a REST API in OpenAI format, so you must specify a compatible endpoint and token.
How to enable:
- In the administrative interface
/app/admin, go to System Settings β Business Logic β AI features. - Activate the "Enable BPMN autocomplete" toggle.
- Specify the base URL of the AI service (compatible with the OpenAI API).
- Set the token for requests to this API.
License requirement
Autocomplete works only when the AI module is activated in the licenses.
Interface and Menu Configuration
Custom Menu Items
StormBPMn allows you to add custom menu items to the top-right corner of the interface for quick access to important company resources.
Accessing the configuration:
- In the administrative interface (
/app/admin), locate the "Custom Menu Items" parameter in the "Interface" group - The configuration is a JSON array of objects
Format of each menu item:
{
"label": "ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ½ΠΊΡΠ°",
"icon": "ΠΠΠ―_ΠΠΠΠΠΠ",
"link": "https://ΡΡΡΠ»ΠΊΠ°.Π½Π°.ΡΠ΅ΡΡΡΡ",
"type": "external"
}
Parameters:
label- the display name of the menu itemicon- an icon from the PrimeVue library (the list is available at primevue.org/icons)link- the URL for navigationtype- the link type:external- opens in a new tab
Configuration examples:
- Knowledge base and documentation:
[
{
"label": "ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ",
"icon": "PrimeIcons.BOOK",
"link": "https://docs.company.com",
"type": "external"
},
{
"label": "ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ",
"icon": "PrimeIcons.FILE",
"link": "https://standards.company.com",
"type": "external"
}
]
Required settings
| Parameter | Description | Example |
|---|---|---|
| baseUrl | Base URL for links in emails | https://stormbpmn.company.com |
Visibility settings
The "Visibility settings" parameter allows passing values to the frontend. Do not enable for passwords and confidential data!