Releases: centreon/centreon-broker
20.10.4
April 28, 2021
Broker
- Add TLS handshake in broker debug logs
- Allow point as a valid character for ouput's name
- Broker hangs when stopped alone (without watchdog)
- Cast index_data.id to unsigned int 64
- Connection interruption not detected by Central (one peer retention mode)
- Harden SIGTERM handling when shutting down
- Insert NULL instead of Nan or Inf for metrics data
- Provide host_id and service_id in logs when metrics fail to be inserted in database
- Rebuild of RRD not working
- Study ARM compilation
- TLS common name check impossible if it is too long
Engine
- Engine stops working without error
Security
- Strengthen TLS / SSL exchanges
19.10.6
Bugfixes
BAM reporting dimensions computation
If there are retention files, dimensions computation could fail because of
conflicts between new block computation and old ones (the ones in the
retention). There was also an issue of concurrent access to tables during
dimensions computation.
BAM availabilities rebuild
When availabilities are rebuilt, durations can be doubled. This new version
fixes this issue.
20.10.3
Bugfixes
Conflict manager and comments
It is possible to lock the database during comments insertion. This new
version fixes that.
BAM reporting dimensions computation
If there are retention files, dimensions computation could fail because of
conflicts between new block computation and old ones (the ones in the
retention). There was also an issue of concurrent access to tables during
dimensions computation.
BAM availabilities rebuild
When availabilities are rebuilt, durations can be doubled. This new version
fixes this issue.
Enhancements
Logs
Logs are sent to the database in bulk as we already do for customvariables.
Lua
There is a new API available for the Lua connector. To use it, scripts
must declare a global variable broker_api_version=2
. From the user's
point of view, Stream Connectors should work almost the same. In isolate
cases, we could see scripts that do not work with this new API, then you
can always work with Broker API version 1, by setting the variable to 1
or by removing this variable declaration in the script. Why should we
use the v2 version? Because it is faster, really faster.
TCP connections
If the connection between two peers is flapping, it may be difficult for one
to reconnect to the other and this could lead to many CLOSE_WAIT on the
acceptor side. This new version fixes this issue.
For more information, report to the official documentation release notes.
20.04.12
Bugfixes
Conflict manager and comments
It is possible to lock the database during comments insertion. This new
version fixes that.
BAM reporting dimensions computation
If there are retention files, dimensions computation could fail because of
conflicts between new block computation and old ones (the ones in the
retention). There was also an issue of concurrent access to tables during
dimensions computation.
BAM availabilities rebuild
When availabilities are rebuilt, durations can be doubled. This new version
fixes this issue.
Enhancements
Logs
Logs are sent to the database in bulk as we already do for customvariables.
Lua
There is a new API available for the Lua connector. To use it, scripts
must declare a global variable broker_api_version=2
. From the user's
point of view, Stream Connectors should work almost the same. In isolate
cases, we could see scripts that do not work with this new API, then you
can always work with Broker API version 1, by setting the variable to 1
or by removing this variable declaration in the script. Why should we
use the v2 version? Because it is faster, really faster.
TCP connections
If the connection between two peers is flapping, it may be difficult for one
to reconnect to the other and this could lead to many CLOSE_WAIT on the
acceptor side. This new version fixes this issue.
For more information, report to the official documentation release notes.
20.10.2
Known behaviours:
If TLS encryption is configured to use private key/certificate couple
for IPv4/6 input/output endpoints, both ends must be updated
to ensure communication.If you use Centreon MAP with TLS encryption, make sure to update MAP
server to version >= 20.10.2.
Bugfixes
TLS
Credentials were not loaded by the TLS connector anymore. This is fixed
with this new version.
Custom variables
They were updated several times in the database. It is fixed now.
Build
GnuTLS requirement now matches compilation version.
BAM
Reporting events were not stored into database because of truncated
Business Activities names causing duplicate entry errors.
For more information, report to the official documentation release notes.
20.04.11
Known behaviours:
If TLS encryption is configured to use private key/certificate couple
for IPv4/6 input/output endpoints, both ends must be updated
to ensure communication.If you use Centreon MAP with TLS encryption, make sure to update MAP
server to version >= 20.04.5.
Bugfixes
TLS
Credentials were not loaded by the TLS connector anymore. This is fixed with this
new version.
Custom variables
They were updated several times in the database. It is fixed now.
Build
GnuTLS requirement now matches compilation version.
BAM
Reporting events were not stored into database because of truncated
Business Activities names causing duplicate entry errors.
For more information, report to the official documentation release notes.
20.10.1
Bugfixes
Build
Build on CentOS 8 fixed.
Retention files
The splitter class is now thread safe and does not need external locks
anymore. It is also far less strict and allows some reading and some
writing at the same time.
TCP
Writing on a tcp stream could slow down in case of many retention files. The
issue was essentially in the flush internal function.
Enhancements
TCP connections
TCP streams are really faster, especially when Broker has retention
files and there are a lot of traffic.
SQL and storage streams
Those streams have several improvements:
- Events exchanges are much faster, especially when Broker has
retention files. - Several queries have been changed to insert data in bulk, it is
the case for custom variables and metrics. - There are cases where those streams could crash that have been
also fixed.
Statistics
The thread pool has now its own statistics. For now, we have two
informations that are the number of threads it contains and its latency
in milliseconds that is the duration we have to wait to see a task
executed. We post a task to the thread pool at time T1, it is executed
by the thread pool at time T2, the latency is T2 - T1.
Command line argument
It is now possible to set the cbd pool size directly on the command line
with the –pool_size X argument or -s X.
For more information, report to the official documentation release notes.
20.04.10
Bugfixes
Build
Build on CentOS 8 fixed.
Retention files
The splitter class is now thread safe and does not need external locks
anymore. It is also far less strict and allows some reading and some
writing at the same time.
TCP
Writing on a tcp stream could slow down in case of many retention files. The
issue was essentially in the flush internal function.
Enhancements
TCP connections
TCP streams are really faster, especially when Broker has retention
files and there are a lot of traffic.
SQL and storage streams
Those streams have several improvements:
- Events exchanges are much faster, especially when Broker has
retention files. - Several queries have been changed to insert data in bulk, it is
the case for custom variables and metrics. - There are cases where those streams could crash that have been
also fixed.
Statistics
The thread pool has now its own statistics. For now, we have two
informations that are the number of threads it contains and its latency
in milliseconds that is the duration we have to wait to see a task
executed. We post a task to the thread pool at time T1, it is executed
by the thread pool at time T2, the latency is T2 - T1.
Command line argument
It is now possible to set the cbd pool size directly on the command line
with the –pool_size X argument or -s X.
For more information, report to the official documentation release notes.
20.04.9
Known behaviours:
If Broker on a Poller or Remote Server is not upgraded to 20.04.9
the communication between said Poller or Remote Server and an
upgraded Central may not work.As always, we strongly recommend to upgrade all components to match
the Central server's version.However, during an upgrade process, communication can be maintained
by making sure Broker's configurations match the following conditions:
- TLS encryption and compression are either set to
Auto or No on Central input,- TLS encryption and compression are either set to
Auto or No on Poller or Remote Server output.If the reversed connection mode (one peer retention) is used,
the Broker upgrade is mandatory.
Bugfixes
One peer retention
A known regression in the 20.04 Broker release was that the one peer
retention did not work correctly. It is fixed with this version.
Columns contents too large
In case of strings too large to be inserted in database, strings are
now truncated as if the database was configured in non strict mode.
Negotiations
Compression and TLS could fail between Engine and Broker, because of
issues in the negotiation between them. This is now fixed. If you
mix previous 20.04.x cbmod/cbd with this new one, you may continue to
have issues on this subject. We recommend you to do the upgrade of cbmod/cbd
on all of your pollers.
Database deadlock
When the database connectors are configured with several connections,
a host downtime could make a deadlock on the database. This is fixed now.
Map server connection
When the Map server is restarted, there is no more duplicated connections
from centreon-broker.
BAM reporting
BAM availability reporting could miss BAs during its availabilities
computations. This is fixed.
TCP acceptors
Sometimes TCP acceptor could badly close sockets. This could lead to
difficulties to reopen connections.
INITIAL HOST STATE
If you use BAM, there was an issue on the reporting that could fail
because of a missing initial host state. This is fixed now.
Enhancements
TCP connector
The TCP connector should also be largely improved. It is multithreaded
now and this should improve its performances. A new field in the Broker
configuration file allows to set how many threads run in the pool.
TCP connections
TCP connections are managed by a thread pool. When not configured, this
thread pool contains at least 2 threads and can increase up to half the
number of server CPUs. Otherwise, it is possible to configure it in the
TCP endpoint with the 'pool_size' label.
For more information, report to the official documentation release notes.
20.10.0
Known behaviours:
If Broker on a Poller or Remote Server is not upgraded to 20.10
(or with a version prior to 20.04.9), the communication between said
Poller or Remote Server and an upgraded Central may not work.As always, we strongly recommend to upgrade all components to match
the Central server's version.However, during an upgrade process, communication can be maintained
by making sure Broker's configurations match the following conditions:
- TLS encryption and compression are either set to
Auto or No on Central input,- TLS encryption and compression are either set to
Auto or No on Poller or Remote Server output.If the reversed connection mode (one peer retention) is used,
the Broker upgrade is mandatory.
Enhancements
Watchdog
The watchdog is lighter and does no more need all the broker libraries.
Bugfixes
- Contains all fixes up to version 20.04.9