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.
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.
#!/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
#!/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.
/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.
/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: