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 .

Operating system

  • Windows

  • Linux

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
  • Versions marked with * might be replaced in one of the next releases in favor of a newer one or will be omitted if they are no longer maintained by the manufacturer.

  • In case you have platforms other than those listed preceding, contact con terra support .

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:

  • Elasticsearch 9.1.x (OS , Java )

  • Filebeat 9.1.x

  • Kibana 9.1.x

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.

User interaction data collection security.manager EE

security.manager EE (WSS) is natively compatible with service.monitor starting from version 4.22.3. If a lower security.manager version is to be used, the Logstash pipeline from service.monitor 4.9 can be used.

Single-Sign-On (SSO) with security.manager EE

To ensure the highest possible level of security, please always use the latest security.manager version if the login in the /monitor webapp is to be switched to security.manager authentication.

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

cmp servicemonitor 5

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.