centreon_report_to_pdf is a software to generate PDF files from centreon dashboard Hosts and Services Group.
Basically, it connect to centreon server using an autologin link or a username/password to download the HostGroup/ServiceGroup CSV file from a specifc period of time. After this, it process the CSV file and generate the PDF with charts, resume and details table. Optional, you can add a Cover Page and sent the PDF Report by email too.
Eric Coquard wrote a great tutorial (in French) showing how to configure and use centreon_report_to_pdf here. Thanks man !!! :-D
centreon_report_to_pdf have been test on Debian and Ubuntu (lasted versions), but it should work in any environment with python v3.5+ and some dependencies.
- Clone this repository:
git clone https://github.com/vhsantos/centreon_report_to_pdf.git
- Install the dependencies:
cd centreon_report_to_pdf
pip install -r requirements.txt
You will need a 'config.ini' file before use this software. On the repository exists a "config_example.ini" that you can copy/rename to use.
After edit your 'config.ini' file, you only need to run:
python3 centreon_report_to_pdf.py
to generate the PDF report.
Some options are allowed at the command line to overrirde the default options on configuration file:
-
-c or --config filename
- Allow your specific an alternative config file name. For example:
python3 centreon_report_to_pdf.py -c client1_config.ini
-
-H or --hostgroup NUMBER
- Allow your to specific the hostgroup number. You can repeat this option to group two or more hosts groups on the report, for example:
python3 centreon_report_to_pdf.py -H 2 -H 12 -H 20
-
-S or --servicegroup NUMBER
- Allow your to specific the servicegroup number. You can repeat this option to group two or more services groups on the report, for example:
python3 centreon_report_to_pdf.py -S 1 -S 14 -S 15
-
-p or --period PERIOD
- Allow your to specific the time period to your report. Valid values to periods are:
- yesterday
- this_week
- last_week
- this_month
- last_month
- this_year
- last_year
python3 centreon_report_to_pdf.py -p this_week python3 centreon_report_to_pdf.py -p this_year
- Allow your to specific the time period to your report. Valid values to periods are:
-
-o or --pdf_output /path/to/report.pdf
- Allow your specific the path to pdf report.
python3 centreon_report_to_pdf.py -H 1 -S 14 -S 15 -o /tmp/my_report.pdf
-
--email_to
- Allow your to specific a new email address, for example:
python3 centreon_report_to_pdf.py --email_to [email protected] --email_to [email protected] --email_to [email protected]
To obtain the list of Hosts and Services Groups from centreon, you can use the clapi command line. Some examples:
- To get all the Hosts Groups IDs
/usr/share/centreon/bin/centreon -u USERNAME -p PASSWORD -o HG -a show
- To get all the Services Groups IDs
/usr/share/centreon/bin/centreon -u USERNAME -p PASSWORD -o SG -a show
You can add a Cover Page to your reports with a logo/image and some titles/texts. Please, check the configuration file to enable it and see all parameters.
You can change the configuration file to sent the PDF report by email. Actually, you can:
- Use a local SMTP server or an external (gmail, office465, etc) with/out authentication.
- Sent the PDF Report to one or more recipients.
- Use a text file like email body template.
- Add more arguments options
- Add some PDF report to repository