Notes on updating service.monitor

Web applications and integrations

Web application /monitor

The web application is completely redeployed. The application.properties file can be reused and supplemented according to any available update instructions.

Web application /monitor-analytics

The web application is completely redeployed. The application.properties file can be reused and supplemented according to any available update notes.

map.apps Integration (Bundle)

The new bundle version is uploaded via the map.apps Manager.

Python APIs

The Setup Python-API and the FME Python-API can be updated in the Python environment used via pip. In the example below, the Python environment is first activated. The new version can then be installed. Finally, information about the installed package is printed. Please verify that the version shown by pip is the same as the version from the wheel package.

Updating the Setup Python API via pip (Linux)
#!/bin/sh
/etc/service.monitor/data/python/env/Scripts/activate.sh
pip install /etc/service.monitor/python/monitor_setup/monitor_setup-<VERSION>-py3-none-any.whl
pip show monitor_setup
Updating the FME Python API via pip (Linux)
#!/bin/sh
/etc/service.monitor/data/python/env/Scripts/activate.sh
pip install /etc/service.monitor/python/pipelines/pipelines-<VERSION>-py3-none-any.whl
pip show pipelines

Components of the Elasticsearch stack

Logstash pipelines

The pipeline files must be updated or made available in another Logstash directory. In the latter case, the changed path in pipelines.yml must be updated. If the PIPELINES_PATH environment variable is used, its value must be adjusted. This is always the case for installation under Windows and NSSM service creation.

Kibana: Space ct-monitor

The default space ct-monitor does not need to be updated.

By editing the config.json of the Setup API, other spaces than the default space ct-monitor can be created. To do this, change the id and the name in the spaces / default section.

Kibana: Dashboards, diagrams, index patterns

The dashboards, diagrams and index patterns associated with the product must be updated if customizations from new versions are to be visible. Existing objects are overwritten during import.

“Command for updating Kibana dashboards and diagrams”
/bin/sh
python -m monitor_setup -a import_dashboards -c /etc/service.monitor/data/setup/config.json

This call publishes all objects in the folder \resources\analytics\elasticsearch\kibana.

If changes have been made to the dashboards (new diagrams added, diagram order changed, etc.), these changes are lost when overwriting. Newly created diagrams as part of the Visualize Library are retained. If overwriting is to be prevented, we recommend manually importing the dashboards via the Kibana interface, where conflicts can be handled manually.
The objects mentioned here are stored individually in the respective Kibana Space, so they can exist multiple times in different Spaces.

Elasticsearch: Ingest Pipelines, Index Templates, Lifecycle Management Templates and Kickstart Indexes

The ingest pipelines and templates define the functionality of service.monitor and change from version to version. The changes are listed in detail below. Basically, the following applies: If no individual changes have been made to objects, the new version of service.monitor can be installed as normal.

If changes have been made, these must be manually transferred to the new version or individually weighed up whether the changes should be adopted.

Type Assessment

Ingest Pipelines

Customizations should be transferred, pipelines are adapted for technical reasons.

Index Templates

Changes made by the product should be adopted.

Index Lifecycle Policies

Individual changes to the ILM usually have business reasons (faster deletion of data, creation of larger indexes)

Kickstart indices

Changes made by the product should be adopted.

All objects belonging to Elasticsearch (ingest pipelines, index templates, lifecycle management templates and the commands for creating the initial service.monitor indexes) are imported via the value import_objects when using the Setup API.

“Command for updating Elasticsearch objects”
/bin/sh
python -m monitor_setup -a import_objects -c /etc/service.monitor/data/setup/config.json

This call publishes all objects in the \resources\analytics\elasticsearch\ingest and \resources\analytics\elasticsearch\dev-console folders.

If changes have been made to objects, these changes are lost when overwriting. Newly created objects are retained. If overwriting is to be prevented, a comparison must be made between product objects and customized objects (for example, especially for pipelines).

Kickstart indices

service.monitor contains commands for the initial creation of indices. In an update scenario, these are therefore already present in the system or have been set to read-only or removed by the lifecycle management. Re-executing the command leads to an error message from Elastic (e.g. alias [ct-arcgis-logfile] has more than one write index), but does not stop the update process.

Detailed change overview Elasticsearch objects

In this overview, adjustments to the object types mentioned are logged across the versions (from version 4.7) of the product:

Ingest Pipelines

Version 4.8

  • No changes

Version 4.9

  • new ingest pipelines: ct-monitor-arcgis-logfile-base, ct-monitor-arcgis-logfile, ct-monitor-arcgis-logfile-portal

  • ct-monitor-arcgis-parse-servicename updated

  • ct-monitor-fme-log updated

Index Templates

Version 4.8

  • no changes

Version 4.9

  • no changes

Index Lifecycle Policies

Version 4.8

  • no changes

Version 4.9

  • ct-fme-jobroutes-policy no longer uses rollover