Centreon documentation

Centreon documentation

  • Documentation

›Guide

Getting Started

  • Installation & first steps
  • Tutorials

    • Introduction
    • Create a custom view
    • Create a graphical view
    • Model your IT services
    • Analyze resources availability

Installation

  • Introduction
  • Prerequisites
  • Architectures
  • Download
  • Installation of a Central server

    • Using Centreon ISO
    • Using packages
    • Using virtual machines (VMs)
    • Using sources
  • Web And Post Installation
  • Installation of a Poller

    • Using Centreon ISO
    • Using packages

    Installation of a Remote server

    • Using Centreon ISO
    • Using packages
  • What is Centreon CEIP?

Monitoring

  • About Monitoring
  • Generic actions
  • Basic Objects

    • Macros
    • Commands
    • Time periods
    • Contacts
    • Hosts
    • Services
    • Meta Services
  • Templates
  • Plugin Packs
  • Monitoring Servers

    • Add a Poller to configuration
    • Add a Remote Server to configuration
    • Communications
    • Deploying a configuration
    • Advanced configuration
  • Groups & Categories
  • Passive Monitoring

    • Enable SNMP Traps
    • Create SNMP Traps definitions
    • Monitoring with SNMP Traps
    • Debug SNMP Traps management
    • Dynamic Service Management
  • Anomaly detection
  • Discovery

    • Introduction
    • Installation
    • Hosts Discovery
    • Services Discovery
    • Administration
  • Auto Remediation
  • Import/Export

Alerts & Notifications

  • Concepts
  • Resources Status
  • Events consoles
  • Manage alerts
  • Notification

    • Concept
    • Configuration
    • Dependencies
    • Escalation
    • Flapping
    • To go further
  • Ticketing
  • Event Logs

Performance graphs

  • Charts managment
  • Graph template
  • Curves
  • Virtual metrics

Service Mapping

  • Introduction to Centreon BAM
  • Guide

    • Manage Business Activities
    • Monitor Business Activities
    • Report Business Activities
    • Settings
    • Widgets

    Administrate

    • Install Centreon BAM extension
    • Update the extension
    • Upgrade the extension
    • Migrate the extension
    • Install on a Remote Server

Graphical views

  • Introduction to Centreon MAP
  • Guide

    • Create a standard view
    • Create a geo view
    • Display views
    • Share a view

    Administrate

    • Install Centreon MAP extension
    • Update the extension
    • Upgrade the extension
    • Migrate the extension
    • Configure
    • Install on a Remote server
    • Advanced configuration
    • Secure your MAP platform
    • Known issues
    • Troubleshooter

Reporting

  • Introduction to Centreon MBI
  • Guide

    • Generate reports
    • Available reports
    • Widgets
    • Configure
    • Concepts
    • Report development

    Administrate

    • Install Centreon MBI extension
    • Update the extension
    • Upgrade the extension
    • Migrate the extension
    • Backup & restore

Administration

  • Secure your platform
  • Parameters

    • Centreon UI
    • Monitoring
    • Gorgone
    • LDAP
    • RRDTool
    • Debug
    • Data management
    • Medias
  • Access Control Lists
  • Extensions
  • Database partitioning
  • Centreon HA

    • Architectures
    • Installing a Centreon HA 2-nodes cluster
    • Installing a Centreon HA 4-nodes cluster
    • Monitoring Centreon-HA
    • Operating guide
    • Updating Centreon-HA platform
    • Upgrade from Centreon-Failover to Centreon-HA
    • Troubleshooting guide
  • Backup
  • Knowledge Base
  • Logging configuration changes
  • Platform statistics

Update, Upgrade & Migrate

    Update

    • Update a Centreon 20.10 platform

    Upgrade

    • Introduction to upgrade
    • Upgrade from Centreon 20.04
    • Upgrade from Centreon 19.10
    • Upgrade from Centreon 19.04
    • Upgrade from Centreon 18.10
    • Upgrade from Centreon 3.4

    Migrate

    • Introduction
    • Migrate from a Centreon 20.x platform
    • Migrate from a Centreon 3.4 platform
    • Nagios Reader to Centreon CLAPI
    • Migrate a platform with Poller Display module

Plugin Packs

  • Introduction to Plugin Packs
  • Tutorials

    • Collect OpenMetrics

    Applications

    • 3CX
    • Active Directory API
    • ActiveMQ JMX
    • Alyvix Server
    • Ansible
    • Ansible Tower
    • Antivirus ClamAV
    • Apache Server
    • Asterisk VoIP Server
    • Asterisk VoIP SNMP
    • Bind9 Web
    • BlueMind SSH
    • Cassandra
    • Cisco CMS
    • Cisco ISE
    • Cisco SSMS
    • Commvault CommServe Rest API
    • DRBD SSH
    • Dynatrace Rest API
    • Exchange 2010 API
    • Github
    • Github
    • Google Gsuite
    • Haproxy SNMP
    • Hibernate
    • IBM Tivoli Storage M
    • Microsoft DHCP SNMP
    • Microsoft IIS Server Restapi
    • Microsoft IIS Server NSClient API (Deprecated)
    • JBoss Server
    • Jenkins
    • Kafka
    • Kaspersky
    • Keepalived SNMP
    • Lync 2013
    • Maltem Insight Rest API
    • IP-Label datametrie API
    • IP-Label Newtest Rest API
    • McAfee Web Gateway
    • Microsoft Cluster Se
    • Microsoft IIS Server NRPE (Deprecated)
    • Microsoft SCCM
    • Microsoft WSUS
    • MS Active Directory
    • MS Biztalk
    • Graylog
    • MS Exchange 2K10
    • BlueMind
    • Mulesoft Anypoint
    • Netbackup Rest API
    • Netdata RestAPI
    • Nginx Server
    • Nginx Plus Restapi
    • OpenHeadend
    • OpenLDAP
    • OpenMetrics
    • OpenVPN OMI
    • OpenWeatherMap
    • Oracle GoldenGate SSH
    • Oracle VM Manager API
    • Pacemaker
    • Peoplesoft
    • Pfsense Fauxapi
    • PHP APC
    • PHP FPM
    • PVX
    • Quadstor
    • RabbitMQ RestAPI
    • Rapid Recovery SNMP
    • Redis Cli
    • Redis Restapi
    • Rubrik Rest API
    • Rudder
    • Salesforce
    • SAP HANA
    • SCOM Rest API
    • Gorgone Restapi
    • Selenium
    • Sendmail
    • Skype 2015
    • Solr
    • Squid SNMP
    • Symantec Netbackup
    • Tomcat JMX
    • Tomcat Webmanager
    • TrendMicro Iwsva
    • Varnish NRPE
    • Veeam
    • Veeam API
    • VerneMQ Restapi
    • VMware VCSA RestAPI
    • VTOM
    • Wazuh Rest API
    • Weblogic Server
    • ZIXI
    • Zookeeper

    Centreon

    • Centreon Central
    • Centreon Database
    • Centreon-HA
    • Centreon Map
    • Centreon Map4
    • Centreon MBI
    • Centreon Poller

    Cloud

    • Amazon API Gateway
    • Amazon CloudFront
    • Amazon CloudWatch
    • Amazon CloudWatch Logs
    • Amazon EBS
    • Amazon EC2
    • Amazon ElastiCache
    • Amazon EFS
    • Amazon Kinesis
    • Amazon RDS
    • Amazon S3
    • Amazon SNS
    • Amazon SQS
    • AWS Billing
    • AWS ELB
    • AWS Health
    • AWS Lambda
    • AWS Transit Gateway
    • AWS VPN
    • Amazon SES
    • Azure Elastic Pool
    • Azure ExpressRoute
    • Azure Firewall
    • Azure Key Vault
    • Azure Load Balancer
    • Azure Log Analytics
    • Azure Monitor
    • Azure Network Interface
    • Azure Public IP
    • Azure Recovery
    • Azure Resource
    • Azure SQL Database
    • Azure SQL Server
    • Azure Storage Account
    • Azure Virtual Machine
    • Azure Virtual Network
    • Azure VPN Gateway
    • Google CloudSQL MySQL
    • Google Compute Engine
    • Google Stackdriver
    • Google Storage
    • cAdvisor
    • Cloud Foundry
    • Docker
    • IBM Softlayer
    • Kubernetes API
    • Kubernetes w/ Prometheus
    • Office 365
    • Office365 Exchange
    • Office365 OneDrive
    • Office365 SharePoint
    • Office365 Skype
    • Office365 Teams
    • OVH
    • Prometheus Server
    • Node Exporter
    • VMware VeloCloud

    Database

    • CouchDB Rest API
    • Elasticsearch
    • Elasticsearch (Deprecated)
    • Firebird
    • InfluxDB
    • Informix DB
    • Informix DB SNMP
    • Microsoft SQL Server
    • MongoDB
    • MySQL/MariaDB
    • Oracle Database
    • PostgreSQL DB
    • RRDtool
    • Sybase
    • Warp10 Sensision

    Hardware Server

    • Adder AIM SNMP
    • AEG ACM
    • Avocent ACS 6000
    • Axis Video
    • Cisco Collaboration Endpoint Rest API
    • Cisco UCS
    • Dell CMC
    • Dell iDRAC
    • Dell OpenManage
    • Eltek eNexus SNMP
    • Fujitsu Server SNMP
    • Hanwha camera SNMP
    • Hikvision camera SNMP
    • HMS Ewon SNMP
    • Timelinkmicro Tms6001
    • HP Blade Chassis
    • HP Ilo Rest API
    • HP Ilo XMLAPI
    • HP OneView Rest API
    • HP Proliant
    • Huawei HMM
    • Huawei iBMC
    • IBM BladeCenter
    • IBM IMM
    • Lenovo XCC SNMP
    • Cisco Telepresence System SNMP
    • Masterclock NTP100GP
    • Pexip Infinity ManagementAPI
    • Polycom GroupSeries SNMP
    • Polycom Trio Rest API
    • Safenet Keysecure
    • Sun MgmtCard
    • Sun Mseries
    • Sun SFxxK
    • Supermicro

    Network

    • 3com Network
    • A10 AX
    • Acme Packet
    • Adva FSP 150 SNMP
    • Adva FSP 3000 SNMP
    • Aerohive
    • Alcatel Omniswitch
    • Allied Telesis SNMP
    • Alvarion BreezeACCESS SNMP
    • Arista Switch
    • Arkoon
    • Aruba Instant SNMP
    • Aruba Standard
    • Atrica Routeur
    • Athonet ePC SNMP
    • Atto Fibrebridge SNMP
    • Barracuda Cloudgen SNMP
    • Bee Ware
    • BGP Protocol SNMP
    • Bluecoat generic
    • Brocade Switch
    • CheckPoint firewall
    • Cisco Apic
    • Cisco ASA
    • Cisco Call Manager
    • Cisco Callmanager SXML
    • Cisco ESA XMLAPI
    • Cisco Firepower Management Console Rest API
    • Cisco Firepower SNMP
    • Cisco IronPort
    • Cisco Meraki Rest API
    • Cisco Meraki
    • Cisco Prime
    • Cisco Small Business
    • Cisco Standard
    • Cisco Standard SSH
    • Cisco VCS
    • Cisco Voice Gateway
    • Cisco Waas
    • Cisco WLC
    • Citrix Acceleration
    • Citrix Netscaler
    • Citrix SDX
    • Colubris SNMP
    • Cyberoam
    • D-Link DGS 3100
    • D-Link standard SNMP
    • Dell 6200
    • Dell 6200 SNMP
    • Dell N4000
    • Dell OS10 SNMP
    • Dell S-series
    • Dell Xseries
    • Digi Anywhere USB
    • Digi PortServers TS
    • Digi PortServers TS
    • Digi Sarian
    • Efficienti IP
    • Evertz FC7800
    • Extreme Network
    • F5 BigIP
    • Lenovo Flex System Switch
    • Fiberstore SNMP
    • Fortinet FortiAuthenticator SNMP
    • Fortinet Fortigate
    • Fortinet Fortimanage
    • Freebox
    • FritzBox
    • Gorgy NTP Server
    • H3C Network
    • Hirschmann switch
    • HP Procurve
    • HP Standard Network
    • HP Virtual Connect
    • Huawei
    • Infoblox SNMP
    • Juniper EX Series
    • Juniper GGSN
    • Juniper ISG
    • Juniper M-Series
    • Juniper Mag
    • Juniper SA
    • Juniper SRX
    • Juniper SSG
    • Juniper Trapeze
    • Kemp Loadbalancer
    • Mikrotik SNMP
    • Mitel 3300ICP
    • Moxa Switch
    • Mrv Optiswitch
    • NetASQ Network
    • Netgear MSeries
    • Netscaler MPX 8000
    • Nokia TiMos
    • Nortel Standard
    • Omniswitch 6850
    • OneAccess Network
    • Oracle Infiniband
    • Palo Alto firewall SNMP
    • Palo Alto firewall SSH
    • Peplink Balance
    • Peplink Pepwave SNMP
    • Perle IDS SNMP
    • pfSense
    • Rad Airmux SNMP
    • Radware Alteon
    • Raisecom
    • RedBack Router
    • Riverbed Interceptor
    • Riverbed SteelHead
    • Ruckus
    • Ruckus Zonedirector
    • Ruckus ICX
    • Ruckus SCG
    • Ruckus Smartzone
    • Ruggedcom Network
    • Silverpeak
    • Sonicwall
    • Sophos ES
    • Stonesoft
    • Stormshield SNMP
    • Stormshield SSH
    • Teltonika SNMP
    • Traffic Director
    • Ucopia
    • Watchguard
    • Zyxel
    • Versa SNMP
    • Versa Director Restapi

    Operating System

    • AIX SNMP
    • Base Pack
    • FreeBSD SNMP
    • HP-UX
    • IBM AS400
    • Linux NRPE
    • Linux NRPE3
    • Linux SNMP
    • Linux SSH
    • Mac SNMP
    • Solaris SNMP
    • Windows NRPE
    • Windows NRPE 0.5
    • Windows NSClient API
    • Windows SNMP

    Printer

    • Printer standard

    Protocol

    • BGP Protocol
    • DHCP Server
    • DNS Service
    • FTP Server
    • Generic SNMP
    • HTTP Server
    • IMAP Server
    • JMX value
    • LDAP Server
    • Modbus
    • NTP Server
    • OSPF Protocol
    • POP Server
    • Protocol DHCP
    • Protocol SSH
    • Protocol TCP
    • Protocol UDP
    • Radius Service
    • SMTP Server
    • Telnet Scenario
    • TFTP Server
    • X509 Certificat

    Sensor

    • ABB CMS-700
    • AKCP Sensor
    • Geist p8000 sensor SNMP
    • Geist Sensor SNMP
    • HWg-STE Sensor
    • Jacarta Sensor
    • LM Sensors
    • Netbotz Sensor
    • Sensor IP
    • SensorGateway
    • Sensormetrix

    Storage

    • Adic Tape SNMP
    • Avid Isis
    • Buffalo TeraStation SNMP
    • Dell Compellent
    • Dell Compellent API
    • Dell Equallogic
    • Dell FluidFS
    • Dell MD3000
    • Dell Me4 Rest API
    • Dell ML6000
    • Dell TL2000
    • EMC Celerra
    • EMC Clariion
    • EMC Data Domain
    • EMC Isilon
    • EMC RecoveryPoint
    • EMC Symmetrix API
    • EMC Symmetrix NRPE
    • EMC Unisphere Rest API
    • EMC Vplex
    • EMC Xtremio
    • Exagrid
    • Fujitsu Eternus DX
    • Hitachi HCP SNMP
    • Hitachi NAS
    • Hitachi Standard
    • HP 3PAR 7000
    • HP 3PAR SSH
    • HP EVA
    • HP Lefthand
    • HP MSA2000
    • HP MSL
    • HP P2000
    • HP StoreOnce
    • HP StoreOnce SSH
    • IBM DS3000
    • IBM DS4000
    • IBM DS5000
    • IBM FlashSystem 900
    • IBM Storwize
    • IBM TS2900
    • IBM TS3100
    • IBM TS3200
    • IBM TS3500
    • Kaminario RestAPI
    • Lenovo S Series
    • NetApp Ontap OnCommand API
    • NetApp Ontap Rest API
    • NetApp Ontap SNMP
    • Netapp Santricity Restapi
    • Netgear Readynas SNMP
    • Nimble Storage
    • Nimble Storage Rest API
    • Oracle ZFS
    • Oracle ZS
    • Overland Neo
    • Panzura
    • Pure Storage RestAPI
    • Qnap
    • QSAN NAS
    • Quantum DXi Series
    • Quantum Scalar
    • Storagetek SL
    • Synology
    • Violin Memory 3000

    Toip Voip

    • Alcatel OXE
    • Asterisk VoIP Server
    • AudioCodes
    • Avaya AES SNMP
    • Avaya Media Gateway SNMP
    • Polycom DMA SNMP
    • Polycom HDX SNMP
    • Polycom RMX
    • Polycom RPRM SNMP
    • Sonus SBC
    • XiVO VoIP Server

    Ups Pdu

    • Alpha UPS SNMP
    • APC ATS
    • APC PDU
    • APC UPS
    • Clever PDU
    • CyberPower Systems PDU SNMP
    • Eaton ATS SNMP
    • Eaton PDU SNMP
    • Emerson PDU
    • HP UPS SNMP
    • MGE UPS System
    • Nitram UPS SNMP
    • Powerware UPS
    • Raritan PDU
    • Schleifenbauer Gateway SNMP
    • UPS Socomec Net Vision SNMP
    • UPS Standard

    Virtualization

    • Hyper-V 2012
    • Nutanix
    • Proxmox VE
    • VMware ESX
    • VMware ESX WS-MAN
    • VMware vCenter
    • VMware vCenter v4
    • VMware vCenter v5
    • VMware vCenter v6
    • VMware VM

Integrations

    External

    • Accedian PVX Skylight
    • Maltem Insight Performances Rest API

    Notifications

    • Notify with Telegram bot

    Open Tickets

    • BMC Footprints
    • BMC Remedy
    • EasyVista
    • GLPI
    • GLPI RestAPI
    • iTop
    • IWS Isilog
    • Jira
    • Mail
    • OTRS RestAPI
    • Request Tracker RestAPI
    • Serena
    • ServiceNow

    Stream Connectors

    • BSM
    • Elasticsearch events
    • Elasticsearch metrics
    • NDO
    • HP OMI
    • PagerDuty Service integration
    • ServiceNow Event Manager
    • ServiceNow MID Server
    • Splunk Metrics
    • Splunk Events
    • Warp10

Mobile App.

  • Introduction

API

  • Introduction
  • Command Line API (v1)
  • Rest API (v1)
  • Rest API (v2)
  • Graphical views API (beta)

Developer resources

  • About developer resources
  • How to write a module
  • How to write a Stream Connector
  • How to translate Centreon
  • How to write a widget
  • Centreon Broker

    • Stream connectors
    • The BBDO protocol
    • Centreon Broker Event Mapping

Releases

  • Centreon Platform 20.10.0
  • Products lifecycle policy
  • Release notes by component

    • Centreon Core
    • Commercial Extensions
    • Open Source Extensions
Edit

Report development

Compatibility: BIRT 4.4.2

This quick start guide presents the best practices for developing reports using Business Intelligence and Reporting Tools (BIRT). It is intended for developers who wish to create reports using BIRT and Centreon MBI. Knowledge of the SQL language is a prerequisite.

This documentation does not describe how to reuse Centreon MBI development libraries.

This guide introduces:

  • The main concepts of BIRT.
  • The different steps in creating a BIRT report project.

BIRT is a report design tool. It allows you to:

  • Use multiple data sources.
  • Extract relevant data for your report from these sources.
  • Format (graphically design) the report.

BIRT enables you to visualize your business data as statistics in the form of tables or graphs. Although BIRT allows you to manipulate different data sources within the same report, we advise against it when performing heavy calculations or aggregations. Extract Transform Load (ETL) software is more suitable for the purpose.

1000000000000454000001517ADB9749.png

This guide will only describe basic BIRT concepts and methods for designing reports (blue box in the above diagram).

BIRT Concepts

Data sources

When designing a report, you may require several data sources from a number of storage systems accessible through different protocols:

  • Delimited flat files (CSV).
  • JDBC data sources (MariaDB, etc.).
  • XML files.
  • Web services.

BIRT also allows you to script your own data sources accessed by Java or Javascript objects.

We highly recommend collecting and consolidating report data into a single type of data source, and storing it as such (e.g., a MariaDB data). Multiplying your data sources in a report might have an impact on performance and maintenance. You are advised not to use more than of two types of data sources in the same report project (e.g., JDBC and CSV).

Configuration of a data source:

10000000000003DE000001E25067D84F_png

Data sets

You may want to extract a data sample from an application database or a large CSV file. The BIRT "data set" allows you to write queries or select specific data from simple or complex data sources.

The different data sets defined in a report will contain all the available data to build the visuals in the report (e.g., tables and charts).

100000000000053D00000175C278E199_png{width="18.401cm" height="5.117cm"}

Data binding

Once the data set is created, the selected data must be formatted in the report. To populate a graph or a table with data, you will need to perform a "data binding" operation between a data set and a graphic component, such as a table or chart.

Data binding will copy the structure of the data set into the configuration of the graphical component. The complete structure (columns) of a data set does not need to be copied to the layout, only the required columns.

Data binding is performed when you create a table or chart:

100000000000010E00000111F1CD232C_png 1000000000000226000001CF01C06F25_png

If you modify the structure of the data set, you will need to manually edit the graphical component and apply this change (e.g., when extracting a new column from the data set to be used in a previously created chart):

1000000000000350000001F5878A240B_png

Report parameters

Report parameters are global variables that are specific to each report. Declared before generating the report, they are used instead of static values to create dynamic content. For example, a report can be generated for:

  • A specific time period defined using two parameters (types "Date" and "Time") identifying the period start and end dates.
  • A specific host group specified by a report parameter.

Therefore, using report parameters will allow you to use the same report design to display different statistics depending on the parameters (e.g., the same Centreon Availability report used for different host groups and different reporting periods).

Report layout

Grid

The grid component is mainly used to organize graphical components on the report.

10000000000003560000017FAF18FEC1_png

Best practice: Insert each report component (e.g., chart, table, label, text) into a grid cell.

Table

The table is used to display dynamic content in a row-and-column format. The values of a table vary according to the data set used for the data binding.

Table structure

10000000000002D9000000636D5BE18A_png

  • Header: Displays the column title or dynamic summary information calculated according to the listed values in the detail rows. The header row can be repeated at the beginning of each section if the table is displayed for several pages.
  • Detail row: A new detail row will be created to display each row of the data set (to which the table is bound).
  • Footer: Summary information, such as total or average values from the detail rows, can be displayed once in the last line of the table.
Grouping & aggregating data

A data set can return a large number of rows. You can sort and organize these rows using the table's grouping function. Each group will add two rows to the table:

  • Group header: Initializes and identifies each entry. Allows statistics to be calculated using this data group.

  • Group footer: Delimits the end of each entry. Also allows the data group to be used for calculations.

    10000000000005F2000001A26D1A36C8_png

Charts

A chart can be created in three steps:

Selecting the graph type

10000000000004390000025A137B95A5_png

Binding the data

There are two ways to "bind" data to a chart:

  • Link the data set directly to the chart.
  • Insert the chart into a table cell. This will allow the chart to "inherit" the data from the table thus binding it.

The data inheritance from a parent component is required if you decide to reuse data groups and aggregated data in a chart.

10000000000003CF00000251408B7FE1_png

Formatting the chart

10000000000004190000025ABC2D698F_png

BIRT Libraries

A report can contain a large number of components (data sources, data sets, charts, tables). When stored in a shared library, components developed for one report can be used in others.

BIRT libraries (.rptlibrary files) store shared components. Libraries are useful for:

  • Saving time when developing a report.
  • Easy maintenance of reports. A bug fix or modification of a component in the library will be applied to every report sharing this component.
  • A component from a library can be "overloaded" in a report as an override in order to change its appearance or variable parameters.

Operating principle:

  • Each report project has a specific folder that stores all the shared resources (e.g., images, BIRT rptlibrary files, CSS files) to be accessed in the report through a relative path.
  • You can navigate using the "resource explorer" panel in Eclipse BIRT in the resource (rptlibrary) and drag-and-drop the component you need to import into the report.
  • Each component imported from a library is marked by a specific icon in the report.

10000000000003340000018F33DF4032_png

BIRT Templates

The report templates (.rpttemplate) serve a different function than the report libraries. The purpose of a report template is to provide a starting point for a new report. A report template can contain the following:

  • The layout for a new report
  • Master pages (headers and footers)
  • Data sources
  • Data sets
  • Graphical components
  • Scripting.

When you start to develop a new report, you can borrow every reusable component from a template. Components can also be imported from BIRT libraries.

A new report has no relationship with the original template whose content has been borrowed. Therefore, any change made to that template cannot affect the reports that use it.

Preparing the development environnement

Creating a workspace

When you first launch Eclipse BIRT, you will need to create a workspace to hold your BIRT reporting projects. We recommend that you create a workspace directory that is separate from the Eclipse BIRT installation (system) directory. This type of configuration will allow you to change the BIRT version easily without affecting your project folders.

After creating the workspace and before starting to design any report, you must create a BIRT project containing two main directories:

  • /reports: Contains all your reports (.rptdesign files).
  • /Resources: Contains any files or components that will be made accessible to your reports through relative paths.

Creating a new project

To create a BIRT report project, select "File > New > Other projects", then, in the wizard window, select "Report project":

image

After creating the project, add your two main folders with a right-click on the project displayed in the "Navigator" tab panel:

image

Now, copy the contents of the reports (/usr/share/centreon-bi/reports) and Resources (/usr/share/centreon-bi/Resources) directories on the reporting server into the two folders you created in your project.

The resources folder

For each BIRT project created in this workspace, you will need to define, in project properties, the location of the corresponding Resources folder.

This will allow the shared components (e.g., datasources, data sets, report parameters and layout components from BIRT libraries, but also BIRT report templates and image or flat files) to be referenced in reports through the "Resource Explorer" panel:

image

Each component imported from "Shared resources" into the report (.rptdesign file) will be referenced through a relative path. This will enable you to migrate your project into another workspace or Centreon MBI reporting server without indicating the full path of your installed workspace.

For example, if your workspace is located in C:DocumentsusernameCentreon-Bi-WorkspaceMyFirstProject, only the subfolders and files in your project "MyFirstProject" need to be set.

To define the shared-resource folder in the project environment, right-click on your project in the Navigator panel, then select Properties. Set the resource folder as "/Resources/". Because the pattern "" is a variable that will be set automatically by Eclipse, there is no need to write the project path explicitly.

image

You will have to repeat this procedure every time:

  • You export and import the project into another workspace.
  • You create a new project.

Connecting to databases

Introduction

Information for connecting to databases are defined in the following two files:

  • /etc/centreon-bi/cbis-profile.xml
  • /etc/centreon-bi/reports-profile.xml

Copy both of these files to your workstation.

In each of these .xml files, you must update the IP addresses for both the Centreon database ("Centreon") and for the Centreon storage database ("Censtorage").

  • cbis-profile.xml file should contain the addresses of the monitoring database server.
  • reports-profile.xml should contain the addresses of the reporting database server.

Update the username and the password of these files, if necessary.

From your workstation, grant the appropriate privileges for the defined users to connect to the above servers.

Configuring the L2_datasources library

Warning

Never upload the L2_Datasource.rptlibrary file to your reporting server. This will delete the configuration for connection to the MariaDB server and cause Centreon MBI (for ETL & report generation) to crash.

All standard reports use the library L2_datasources to connect to data. Therefore, this library must point to the appropriate servers (monitoring DB and the reporting DB servers).

You must then link the L2_datasource library to the updated profile files on your workstation.

To do so, double click on the library L2_datasource. The library opens in your workspace.

image

image

Click on "Outline" and expand the "Datasources".

image

The datasources used in Centreon MBI standard reports are listed.*

Double click on the "Datasource" Centreon, and the below pop-up opens:

image

In "Connection Profile Store" select the path to the report-profile.xml file on your workstation, and validate.

The following pop-up opens:

image

All the datasources present in the file are listed.

In this example, two datasources are listed: - Censtorage - Centreon

Select Centreon then click on the "BIRT JDBC Datasource".

image

The information defined in the XML file is read.

Click on "Test Connection". A pop-up appears, displaying the message "Connection successful".

image

In case of an error message indicating a missing driver, add the MariaDB driver ( .jar) from the "Manage drivers" menu.

image

image

This operation should only be performed once for the project. :::

Repeat the same procedure for these datasources: centreon_storage, centreon_live et centreon_storage_live.

DatasourceProfile fileProfile to use
Censtoragecreports-profile.xmlCenstorage
Centreon_Livecbis-profile.xmlCentreon
Censtorage_Livecbis-profile.xmlCenstorage

Generating a standard report

To generate a standard report from the interactive development environnement, double click on the report to open it.

image

Once the report is open, click on "View report" to select the output format:

image

A pop-up opens, asking for the report parameters to be filled in.

image

The report will be generated according to the parameter criteria selected, in the desired output format.

image

Developing your own reports

Using Centreon report templates

To make sure the reports you develop with BIRT are compatible with Centreon MBI, you must use the template provided by Merethis as a starting point. This template, called "generic_component_script.rpttemplate", is stored in /usr/share/centreon-bi/Resources/templates (default template directory). Using this template is mandatory because it adds certain scripting to your report that is required for it to function on our platform.

To use this template in your BIRT report:

  • Download the file from the reporting server to the "Resources" folder of your BIRT project: /Resources/templates/generic_component_script.rpttemplate
  • Click right on the template and select "Register Template with New Report Wizard".

image

  • For each new report you create, select the name and click on Next to access the template window.
  • Select the template called "Component template" and click on "Finish".

image

Define the project structure

We highly recommand defining and applying standard conventions for:

  • Creating a directory tree for reports and resources.
  • Naming directories and files.
  • Naming components in BIRT libraries, templates and reports.

Naming and organizing files in a consistent and descriptive way will help you to maintain and update your projects.

The following information in this chapter discusses the standards defined by Centreon.

Report designs (RPTDESIGN)

  • Each report is stored in a folder or subfolder of the main "reports" folder. The name of a folder should be defined according to the type of statistics processed in the report:
    • Capacity
    • Availability
    • Performance.
  • Reports whose parent folder is the main folder "reports" have been deprecated since Centreon MBI version 1.5.
  • All components of a report (e.g., layout, dataset) are imported from a BIRT library.
  • Each report must be created from a BIRT report template, which uses scripting to manage the multi-select parameters and Cascading Style Sheets (CSS).

Resources

The Centreon MBI shared resource directory (/Resources) contains four subdirectories:

  • /images: Contains images used in reports.
  • /templates: Contains the BIRT templates used as a starting point for any report.
  • /translations: Contains the localization (foreign language translation) files.
  • /components: Contains all the BIRT libraries (.rptlibrary) organized into subdirectories named meaningfully according to the reports (e.g., capacity, performance).

Libraries

Some libraries are stored directly under the "/components" directory, without any classification into subdirectories. These libraries contains components that may be reused in other libraries but also in reports:

  • /datasources: Contains all the datasources that will be used for the entire report project. Avoid defining datasources in multiple files in order to simplify the maintenance of your project (in case you change development or production environments).
  • /parameters: Contains all the report parameters that will be required in the reports.
  • /masterpages: Stores the different masters (headers and footers) that will be reused in the reports.

The potentially large number of components in the libraries can make navigating for a specific component complicated. To simplify the way components are organized, ask yourself the following questions:

  • What kind of statistic are you looking for?
    • Capacity? Performance? Availability? Open the subfolder named according to your requirement.
  • For what type of object do you need when designing your report?
    • A host? A single host group? Several host groups? You will find this information in the descriptive name of the ".rptlibrary" file.
  • Do you require a data set? With what kind of parameters?
    • All the data sets are listed in the "Data explorer" panel.
    • The name of each data set is prefixed by a code. Each digit in this code signifies an object (e.g., hostgroup, host, service category, host category, metric, timeperiod) and can vary from 0 to 2:
      • 0: The object is not used as a parameter.
      • 1: A single value is expected.
      • 2: A list of multiple values is expected.
  • Do you require a graphical component? With which parameters?
    • All graphical components are listed in the "Outline" panel in the menu "Report Items".
    • The name of each component is prefixed by a code using the same naming convention as the data set (see above).
    • The name of the component is suffixed with the component type (e.g., graph, text, table)

Warning

Do NOT modify any of the original standard report templates or libraries.

Deploying a report on Centreon MBI

Centreon MBI provides scheduling and publishing functionality for BIRT reports. Once you have designed your report, you will not need to use Eclipse BIRT to generate your reports. Non-technical users will be able to run the reports in a few clicks from the Centreon graphical user interface (GUI) without having to resort to Eclipse BIRT.

Steps for deploying a report on Centreon MBI:

Create the XML file describing the required parameters

Each RPTDESIGN file that you create contains different report parameters. To display them in the Centreon MBI GUI and be able to use them, you must define an XML file that will dynamically generate a parameter tab.

When creating a new report design on the interface, you must associate it with the XML parameter file. Three types of objects can be defined in this XML file:

  • Text tags to allow users to type in their own text:
  • Selection tags:
  • Multi-select tags: .

Each of these sets of markup tags has several possible attributes:

AttributeDescriptiontextselectmultiselect
idName of the parameter in the report (report parameter)XXX
titleDescription field displayed next to the parameterXXX
dataData to display in the parameterXX
sizeSize of the text fieldX

Below are the possible values for the data attribute:

Value

  • host
  • hostgroup
  • hostcategory
  • servicegroup
  • servicecategory
  • metric
  • businessview
  • businessactivity
  • liveservice*
  • timeperiodBA

*liveservice corresponds to the business time period (i.e: 24x7)

Single- and multiple-selection lists are restricted through Centreon ACLs. Users with restrictions on Centreon resources will also be restricted on the Centreon MBI interface.

Warning

If you want to use our default date picker and use the date parameter (cyclical or on-demand) in your report, you must use the two "known" parameters, "dateStart" and "dateEnd".

Below is an example of an XML file (Host-detail-2):


    <?xml version="1.0" encoding="iso-8859-1"?>
    <objects>
    <select id="portrait_master_logo" data="logo" title="Portrait master page logo"/>
    <select id="landscape_master_logo" data="logo" title="Landscape master page logo"/>
    <select id="liveserviceID" data="liveservice" title="Select reporting live service" />
    <text id="evolutionInterval"  title="Number of month to show in trend graphs" size="5"/>
    <select id="One-hostID" data="host" title="Select the host to report" />
    <select id="One-servicecategoryID_cpu" data="servicecategorie" title="Service category containing CPU service(s)" />
    <multiselect title="Filter on CPU metrics to INCLUDE" id="metricNAME_cpu" data="metric"/>
    <multiselect id="servicecategoryID_storage" data="servicecategory" title="Service category containing Storage service(s)" />
    <multiselect title="Filter on Storage metrics to EXCLUDE " id="metricNAME_storage" data="metric"/>
    <select id="One-servicecategory_memory" data="servicecategorie" title="Service category containing Memory service(s)" />
    <multiselect title="Filter on Memory metrics to INCLUDE" id="metricNAME_memory" data="metric"/>
    </objects>

Deploy the report

On the reporting server

Copy your report design to the reporting server. The "reports" and "Resources" folders are found in the main Centreon MBI folder. The directory tree for your reports and resources must be same as in your Eclipse BIRT project.

On the monitoring server

In the "Reporting > Business Intelligence > Report designs" menu on Centreon, add the new report design, and define the following properties:

  • A name for the report design
  • The report location on the reporting server (relative path under /usr/share/centreon-bi/reports)
  • An XML source file that will describe the report parameters of the previously created report design.

Running the report job

In the menu Reporting > Business Intelligence > Jobs, define a job to run your report design, and fill in all the specific report parameters.

← ConceptsInstall Centreon MBI extension →
  • BIRT Concepts
    • Data sources
    • Data sets
    • Data binding
    • Report parameters
    • Report layout
    • BIRT Libraries
    • BIRT Templates
  • Preparing the development environnement
    • Creating a workspace
    • Creating a new project
    • Connecting to databases
    • Generating a standard report
  • Developing your own reports
    • Using Centreon report templates
    • Define the project structure
    • Report designs (RPTDESIGN)
    • Resources
    • Libraries
  • Deploying a report on Centreon MBI
    • Create the XML file describing the required parameters
    • Deploy the report
    • Running the report job
Centreon documentation
Documentation
Getting StartedAPI ReferencesReleases
Resources
Centreon WebsiteBlogDownload
Follow us
centreon
Follow @Centreon
Copyright © 2005 - 2021 Centreon