The reporting architecture of CFEngine Enterprise consists of software components that are included in the hub-package of the CFEngine Enterprise installation.
cf-hub wakes up every 5 minutes, and connects to the
cf-serverd of each
host to download new data. Delta reports include new data in the last interval and a subset of variable information. A download of the complete set of data is performed every 6 hours.
Report collection from any host can be triggered manually by running
$ /var/cfengine/bin/cf-hub -q full -H <host IP>
Run in verbose mode (-v) to diagnose connectivity issues and trace the data collected.
cf-hub runs a maintenance check and database cleanup routine
every 6 hours, and collects data about its own performance, the status of the
database and connectivity status for hosts.
All data is then stored in a NoSQL MongoDB database.
MongoDB (from hu**mongo**ous) is an Open Source
document database. The
mongod daemon process is started through CFEngine
policy. The daemon as well as the command line interface program
included in the CFEngine Enterprise installation in
cf-hub stores collected data in MongoDB. The majority of data is stored for
a week. Oldest data is continuously purged by the
process, and replaced by new incoming data. An exception is data about file
changes, which is stored for up to one year.
The Enterprise API implementation connects to the database to provide access to the data via SQL queries.
REST over HTTP is provided by the
Apache http server which also hosts the
Mission Portal. The
httpd process is started through
CFEngine policy, and listens on port 80.
Apache is part of the CFEngine Enterprise installation in
/var/cfengine/httpd. A user
apache is created with privileges to run