Skip to main content
Version: 24.04

Inside Centreon

Here are the bricks that make Centreon work. To find out on which port each brick communicates, see the Tables of network flows.

Schema of a central server

In this example, we have a central server (without any Business modules installed), and a poller that is directly attached to it.

image

Elements of a Centreon setup

Engine

  • Engine, (the monitoring engine, i.e. the centengine process) is the heart of Centreon: it plans checks, executes them, and notifies users if an incident occurs.
  • Checks and notifications are done according to the configuration made by users.
  • Centreon Engine is present on each server in your architecture: pollers, remote servers and the central server.
  • To configure Engine, go to Configuration > Pollers > Engine configuration. This is for advanced users only.

cbmod

  • Engine’s companion module, cbmod, transforms Engine events into Broker events, and sends all the data to Broker.
  • Events can be check results, a downtime, an acknowledgment, a change in the configuration.
  • cbmod is a type of broker and can be configured like any Broker using the Configuration > Pollers > Broker configuration page.

Broker

  • There are in fact 2 Brokers: 1 master Broker and 1 RRD Broker.
  • Only central servers and remote servers contain Brokers.
  • Engine sends data to the master Broker:
  • The data is sent in BBDO format.
  • Each Broker has inputs and outputs that you can configure. By default, Broker is installed with mostly IPv4 inputs and outputs (in fact, an IPv4 output to the RRD database and a Unified SQL output to the MariaDB/MySQL database). However, it is recommended to set up a BBDO client and server between Engine and the master Broker, as they are easier to configure.
  • To configure a Broker, use the Configuration > Pollers > Broker configuration page.
  • If you decide that your master Broker is going to receive data in HTTPS, then you need to configure each Engine that talks to it in HTTPS too.

See also:

Gorgone

  • Gorgone is present on the central server, on your remote servers and on your pollers.
  • Gorgone allows the interface to talk to the Engine of the central server, and to talk to the Engines of your remote servers and pollers, synchronizing data between them.
  • Configuration data is transferred from the central to the engines of the pollers and remote servers in ZMQ format.
  • When you deploy the configuration, Gorgone takes the files that are generated and copies them to all the engines of the pollers and remote servers, and reloads these.

See also Centreon Gorgone in the Developer resources section.

A MariaDB/MySQL database

The MariaDB or MySQL database contains 2 databases:

  • centreon that contains the configuration (i.e. all the objects users have created: hosts, services, etc).
  • centreon_storage that contains all the real-time data received by Broker: performance data (metrics), statuses and states and the date and time of any change in them, acknowledgements, downtimes.

The MariaDB or MySQL database can be included in your central server, or remote.

A RRD database/RRD files

The RRD files contain performance data (metrics) and statuses, and are used to generate graphs (on the following pages: Monitoring > Resource status, Monitoring > Performance > Graphs, Administration > Platform status > Engine statistics). Metrics and statuses stored there are a copy of those stored in centreon_storage, used for performance reasons. If for some reason you have lost your graphs, you can rebuild your RRD database from the centreon_storage database.

A web server

The web server (httpd process) serves the graphical interface to users. It sends events to the MariaDB/MySQL databases, and to Gorgone.

Example: what happens when a host is created?

  1. A user creates a host in the interface of the central server (using the Configuration > Hosts > Hosts page).
  2. httpd sends the configuration of the host to the centreon database (inside MariaDB or MySQL).
  3. The user deploys the configuration: Gorgone takes the files that are generated and copies them to all the engines of the pollers and remote servers, and reloads these.