Enterprise Reporting
CFEngine Enterprise can report on promise outcomes (changes made by cf-agent
across your infrastructure), variables, classes, and measurements taken by
cf-monitord
. Reports cover fine grained policy details, explore all the
options by checking out the custom reports section
of the Enterprise Reporting module.
Specifically which information allowed to be collected by the hub for reporting
is configured by report_data_select
bodies.
default_data_select_host()
defines the data to be collected for a non policy hub
and default_data_select_policy_hub()
defines the data that should be collected
for a policy hub.
Controlling which variables and classes should be collected by an Enterprise Hub
is done primarily with a list of regular expressions matching promise meta tags
for either inclusion or
exclusion. cf-hub
collects variables
that are not
prefixed with an underscore (_
) or have meta tags matching
metatags_include
and do not have any meta tags
matching metatags_exclude
and does not have a
handle matching promise_handle_exclude
.
cf-hub
collects namespace scoped (global) classes
having any meta tags
matching metatags_include
that do not have any meta
tags matching metatags_exclude
.
Instead of modifying the list of regular expressions to control collection, we
recommend that you leverage the defaults provided by the MPF (Masterfiles Policy
Framework). The MPF includes inventory
and report
in
metatags_include
, noreport
in
metatags_exclude
and noreport_.*
in
promise_handle_exclude
.
If it's desirable for the classes and variables to be available in specialized
inventory subsystem then it should be tagged with inventory
and given an
additional attribute_name=
tag as described in the custom inventory example.
cf-hub
collects information resulting from all other promise types (except
reports
, and defaults
which cf-hub does not collect for). This can be
further restricted by specifying
promise_handle_include or
promise_handle_exclude.
Collection of measurements taken by cf-monitord
are is controlled using the
monitoring_include
and monitoring_exclude
report_data_select
body
attributes.
Limitations:
There are various limitations with regard to the size of information that is collected into central reporting. Data that is too large to be reported will be truncated and a verbose level log message will be generated by cf-agent. Some noteable limitations are listed below.
- string variables are limited to 1024 bytes
- lists are limited to 1024 bytes of serialized data
- data variables are limited to 1024 bytes of serialized data
- meta tags limited to 1024 bytes of serailized output
- log messages are truncated to 400 bytes
Please note that these limits may be lower in practice due to internal encoding.
Users can not configure the data is stored to disk. For example, you can not
prevent the enterprise agent from logging to promise_log.jsonl
.
For information on accessing reported information please see the Reporting UI guide.