kolla-ansible/releasenotes/notes/remove-monasca-log-transformer-bdcb3ef1cdbc1611.yaml
Doug Szumski 0743a9bf4b Remove Monasca Log Transformer
Historically Monasca Log Transformer has been for log
standardisation and processing. For example, logs from different
sources may use slightly different error levels such as WARN, 5,
or WARNING. Monasca Log Transformer is a place where these could
be 'squashed' into a single error level to simplify log searches
based on labels such as these.

However, in Kolla Ansible, we do this processing in Fluentd so
that the simpler Fluentd -> Elastic -> Kibana pipeline also
benefits. This helps to avoid spreading out log parsing
configuration over many services, with the Fluentd Monasca output
plugin being yet another potential place for processing (which
should be avoided). It therefore makes sense to remove this
service entirely, and squash any existing configuration which
can't be moved to Fluentd into the Log Perister service. I.e.
by removing this pipeline, we don't loose any functionality,
we encourage log processing to take place in Fluentd, or at least
outside of Monasca, and we make significant gains in efficiency
by removing a topic from Kafka which contains a copy of all logs
in transit.

Finally, users forwarding logs from outside the control plane,
eg. from tenant instances, should be encouraged to process the
logs at the point of sending using whichever framework they are
forwarding them with. This makes sense, because all Logstash
configuration in Monasca is only accessible by control plane
admins. A user can't typically do any processing inside Monasca,
with or without this change.

Change-Id: I65c76d0d1cd488725e4233b7e75a11d03866095c
2021-03-03 17:20:18 +00:00

25 lines
1.5 KiB
YAML

---
upgrade:
- |
Monasca Log Transformer has been merged with Monasca Log Persister to
improve performance and reduce resource consumption. Any custom Monasca
Log Transformer configuration should be either merged into Monasca Log
Persister configuration, or moved outside of the Monasca pipeline, for
example, to Fluentd. Any custom Monasca Log Metrics config will also
need to be updated to read from the raw logs pipeline, rather than the
transformed logs pipeline. The transformed logs pipeline will be
removed from Kafka automatically, as will any log transformer containers.
There will be a short interruption to logging services whilst the
pipeline is updated. During this time it's likely that a small window
of logs will be lost from the transformed logs Kafka queue. If this
is a problem, the Monasca API should be stopped on all nodes prior to
upgrading Monasca. This will allow the transformed logs topic to drain
into Elasticsearch before the pipeline is reconfigured. Services such
as Fluentd, which post logs to the Monasca API, should buffer logs
whilst this happens up to the maximum configured buffer. Note that
there may be other services forwarding logs, and these will need to be
inspected independently. The Log Transformer volumes will remain on
the monitoring nodes and can be manually removed as described in the
`documentation
<https://docs.openstack.org/kolla-ansible/latest/reference/logging-and-monitoring/monasca-guide.html#cleanup>`__.