5.1.2 to 5.2.0¶
This document explains what configuration changes MUST be performed during a PunchPlatform update from version 5.1.2 to 5.2.0
General changes¶
Elasticsearch _doc type¶
In view of the depreciation of the type from Elasticsearch 7 and the suppression from Elasticsearch 8. Make sure that if possible the type is _doc
Elasticsearch announcement
Indices created in Elasticsearch 6.0.0 or later may only contain a single mapping type.
Indices created in 5.x with multiple mapping types will continue to function as before in Elasticsearch 6.x.
Types will be deprecated in APIs in Elasticsearch 7.0.0, and completely removed in 8.0.0.
Source: removal of types
The new indices created by Punch already default _doc
type. An option allows to extend this value if necessary.
Changes to be performed
- Breaking with ElasticsearchBolt, ElasticsearchSpout, FileSpout (when archiving). Explicit type field to keep compatibility or migrate index.
- Breaking with channel metrics reporters: Explicit type field to keep compatibility or migrate index.
- Breaking with pml metrics reporters: Explicit type field to keep compatibility or migrate index.
Platform tenant¶
To simplify certain tasks of the platform, like the housekeeping of the Beats, the platform
tenant is now defined.
It is mainly used to define housekeeping administration channels to manage the lifecycle of platform level monitoring
indexes.
Removing services¶
The services concept, in charge of running the elastic and archives housekeepers, is now deprecated. Services are now plain channels. An "admin" channel is used instead, defined as part of a tenant.
Tenant configuration¶
In each tenant, the etc/conf.json
file is simplified. Elasticsearch and Archives houseeking configurations moved to the
channel in charge of running these services. See Removing_services).
Read official section to apply the changes.
Channel configuration¶
The channel_structure.json
format changed and can now execute various types of jobs.
Read the official section to apply the changes.
PML¶
Dictionary Format¶
The array-oriented PML format is now deprecated and will be completly removed in the dave release. Convert your PMLs to a new dictionary format:
1 2 3 4 5 6 7 8 9 10 11 12 | { job: [ { type: elastic_batch_input # .... } { type: show # .... } ] } |
You can also add more options such as spark_settings
, tenant
, runtime_id
or a global description
.
Stream simplification¶
The publish/subscribe stream settings have been simplified.
Instead of:
1 2 3 4 5 6 7 8 | { "publish": [ { "field": "bob", "tag": "input_transform" } ] } |
Now use:
1 2 3 4 5 6 7 8 | { publish: [ { stream: "input_transform", # optionally add an '"alias": "input_transform"' if you can not change stream name. } ] } |
Punchctl¶
A new punchctl
command is available. It will replace the traditional punchplatform-*.sh
operator commands.
Although traditional commands still exist, it is strongly recommended that you only use and document only the new punchctl
command.
Deployer changes¶
Index prefix for beats¶
It is now possible to prefix the Beats (metricbeat, filebeat, ...) indices with a prefix of your choice.
The philosophy consists in prefixing the indices with the prefix platform-
to allow the execution of the houskeeping tasks on these indices having the same prefix.
Supervisorctl¶
Supervisorctl is deprecated in favor of systemctl. If possible, prefer using Systemctl (default).
This choice simplifies the maintenance of the deployment, standardizes the tasks on either Ubuntu / CentOS / RedHat or other platforms. Moreover supervision with systemctl is deemed easier.
Ceph¶
A dedicated migration guide will be created.
Pygregator¶
A dedicated migration guide will be created.
Administration and Monitoring Changes¶
The 5.2.0 release provides significant improvements related to the monitoring and administration of
channels and shiva. A new platform level index platform-logs-*
is now used to trace all important administrative events.
The platform-shiva-logs-*
has been deprecated.
The events as well as the ones generated by Shiva child jobs are normalised and documented. This may require some change to your administrative Kibana dashboards should you have any.