Start-up support: Visualize Centreon Data in Grafana


I made my first steps using Grafana these days and we plan to visualize the availability and the performance of our data center IT infrastructure (in more modern words: The availability of IT infrastructure services + the service quality) on a modern Grafana dashboard.
So there are a lot of different components (virtualization platform, container platform, storage, network components, etc.) and they will be monitored with different kind of tools. So Grafana with its high amount of plugins and configurable data sources is probably a good choice.
I wanted to start to include Centreon as it is one of the tools we use for classic infrastructure monitoring in a few areas and which is also involved in / hardly connected to our alerting and incident processes etc. (so it is currently not an option to replace Centreon --> just if someone tends to answer “Use Zabbix, there is a plugin available!”)

As explained I’m a totally new user of Grafana, so I wanted to ask for some first ideas or tips how visualize the Centreon service check data. At first I would like to add some easy status / availability indicators (don’t known if “Singlestat Panel” is the correct word for it) with simple OK/Warning/Critical status.

As a little test I created a read-only user in our Centreon DB (MySQL) and connect to it by creating a MySQL data source works as well. But to visualize the status of a specific service check I would like to visualize I need to build the queries and to do so I need to know/understand the data model/the schema of the Centreon database (

Another idea I found is to push the Centreon data into a Time Series DBMS (TSD):
The guy in this blog did it with a Graphite DB: I saw that there are multiple possibilities to configure a broker on Centreon site and push the data to different kind of data stores (According to the broker documentation [unfortunately I’m out of links for new users :wink: ] e.g. Influx DB seem to work as well). Unfortunately this just leads to more questions in my mind. How does the data duplicated to a TSD help me to visualize simple availability (OK/Warning/Critical) checks? Sure to visualize performance data in a good looking graph over the time and with a history to see how it looked like in the past (CPU, Load, disk space usage … etc. - sure I need some of these data later on as well, if we want to show more details) data organized in a TSD makes sense, but for simple status visualization?

I would really appreciate some general start-up support, if there is someone who has already done things like this.

  • Can the TSD organized data also be used for SingleStat Panels?
  • If yes, it it possible to somehow limit the “duplication” of the data into a TSD (e.g. to specific Centreon host groups, hosts or service checks)? Our Centreon instance is quite big, so I think it does not make sense to push all the data / all metrics into a TSD.


1 Like

After reading and testing some more stuff I see the following possibilities:

  1. Create a read-only user in the Centreon DB (in our case a MySQL) and create a MySQL Data Source in Grafana and query the data directly
    –> I currently try to create a clever query which is useable in a Single Stat Panel --> complex procedure

  2. Duplicate the Centreon Metric Data into a TSD (Graphite or InfluxDB)
    2.1. By configure another broker on Centreon side
    2.2. As Centreon is a Nagios-Fork it might also work to use Nagflux
    –> I assume it is very comfortable to create panels on Grafana side once you have the data in such a TSD

  3. Use an API to query data from Centreon
    –> I tried to use the “SimpleJson” Datasource to connect to centreon but up to now i was not successful don’t know if it is really possible.
    (At least the zabbix plugin with the json api works very good and comfortable so I thought there might be a more or less equal way Centreon)

So what is the experience of you guys what is the most recommendable way? (e.g. I saw that you @fchiorascu and @yuva already included Centreon stuff in your dashboards: Can you roughly explain what you did and if there is any blog or documentation which can help me as a beginner?)

1 Like

I didn’t have the time to test but it was in my plans. I will recommend the 1. option, looks more clean.