System requirements
| The service.monitor installation documentation also provides information on the installation of third-party components used by service.monitor (e.g. Elasticsearch or Apache Tomcat). The individual, operational configuration may differ from this and cannot be fully described here. Support can be requested from con terra as part of individual consulting services. |
System requirements of web applications (/monitor and /monitor-analytics)
Java
The following Java distributions are supported:
-
OpenJDK (JDK or JRE), versions 21* and 25
-
Oracle JDK, versions 21* and 25
Application Server
-
Apache Tomcat, versions 10* und 11
Make sure a recent version of Apache Tomcat is installed, accepting HTTPS connections at e.g. https://tomcat-host. HTTPS can be configured as described in the Tomcat User Guide .
Database (only Monitoring)
-
Oracle Database 19c*, 23ai
-
PostgreSQL 14*, 15, 16, 17, 18
-
Microsoft SQL Server 2017*, 2019, 2022
Browser
Latest stable version:
-
Google Chrome
-
Firefox
-
Microsoft Edge
-
Safari
|
General Hints
|
System requirements Elasticsearch
Elasticsearch receives, processes and stores the collected events so that they can then be subjected to targeted research and analysis in Kibana.
Currently, these versions are required:
Full overview of Elasticsearch system requirements .
| For security and distribution reasons, it is recommended that you run these components on a separate host, independent of the application infrastructure. |
System requirements Python APIs
Python APIs are available for installing service.monitor and querying FME data, which require Python to be installed.
-
Python client (version >=3.12)
Compatibility with other con terra products
User interaction data collection in map.apps applications.
All map.apps line 4 applications can be enabled to send user interaction data through service.monitor bundles.
User interaction data collection in map.apps (server)
map.apps is directly integrated with service.monitor on the server side. Support for service.monitor 5.0 and higher is available starting from map.apps version 4.18. If a lower map.apps version is to be used, the Logstash pipeline from service.monitor 4.9 can be used.
Architectural Considerations
Here are some basic recommendations you may follow when setting up service.monitor.
-
Run service.monitor applications separately from your applications - if your application server fails completely you are going to recognize this too late
-
Separate Elasticsearch from your internet exposed applications - it is performing memory and cpu consuming operations.
-
Run Elasticsearch cluster with at least two nodes or be at least prepared for growing requirements
Memory and hard disk memory
The Elasticsearch components require resources for operation. The more data that needs to be processed, stored and searched, the more generously the system must be dimensioned. It does not make sense to stay below the minimum values mentioned here. However, the recommended values are only a recommendation based on current customer setups known to us. The operation of the Elasticsearch cluster must therefore be accompanied during the commissioning phase, especially with regard to these resource requirements. Index Lifecycle Management is used to ensure long-term operation.
| Memory (minimal) | Memory (recommended) | Hard disk (initial value) | |
|---|---|---|---|
Elasticsearch |
6GB |
8GB+ |
300GB |
Kibana |
2GB |
4GB |
- |
Please see Set JVM options .
Port shares
| The ports mentioned here are either the default ports of the components used (Tomcat, Elasticsearch) or the ports that service.monitor uses as default ports. |
| Product / component | server issueing the request | request receiving server | port & protocol | description |
|---|---|---|---|---|
map.apps |
mapapps-host.example.com |
elastic-host.example.com |
9200/tcp or 443/tcp |
user interactions w/ mapapps (server side) |
security.manager EE |
securitymanager-host.example.com |
elastic-host.example.com |
9200/tcp or 443/tcp |
user interactions w/ security.manager EE |
ArcGIS Enterprise |
arcgisserver-host.example.com |
elastic-host.example.com |
9200/tcp or 443/tcp |
log data via Elastic Filebeat |
elastic-host.example.com |
9200/tcp or 443/tcp |
metric data via Elastic Metricbeat |
||
FME Flow |
elastic-host.example.com |
fmeflow-host.example.com |
443/tcp |
FME jobs & jog logs requested by Python API |
fmeflow-host.example.com |
elastic-host.example.com |
9200/tcp or 443/tcp |
FME Flow log data via Elastic Filebeat |
|
9200/tcp or 443/tcp |
metric data via Elastic Metricbeat |
|||
Monitoring web application |
monitoring-host.example.com |
db-host.example.com |
i.e. 1521,5432/tcp |
connection to database by monitoring webapp |
mail-host.example.com |
25/tcp |
sending e-mails via monitoring-webapplication |
||
elastic-host.example.com |
9200/tcp or 443/tcp |
sending information about monitoring events |
||
kibana-host-.example.com |
5601/tcp or 443/tcp |
querying for Kibana Rules |
||
webhook-host.example.com |
<any>/tcp |
Endpoint from Teams/Slack/custom webhook |
||
monitoring-target.example.com |
<any>/tcp |
Endpoint of a server/service to be monitored by service.monitor |
||
Analytics web application |
analytics-host.example.com |
elastic-host.example.com |
9200/tcp or 443/tcp |
any interaction data |
client-host.example.com |
analytics-host.example.com |
443/tcp |
sending user interaction data (i.e. map.apps clients) |
| When implementing firewall rules between two hosts, it should be noted that there is no control over the source port of the client of the connection, only the destination port can be clearly defined. |