PDF reporting [news] ! First part

thomas.seglard.enata at cnp.fr thomas.seglard.enata at cnp.fr
Tue May 2 17:20:40 CEST 2006


Hello,

I got very good feedbacks on the reports. Thank you for these ! 
Now, I'm going to explain how it works. You got two parts. On one hand, 
some shell scripts will generate the rrd graphs and save them as PNG. In 
other hand, a php page will do the reports with the (GREAT) help of the 
libfpdf. 

Before I go further, I want to say that I created a directory called 'pdf' 
into @HOBBITSERVERHOME/www/ In addition, I make an 'images', 'graphrrd', 
'export' directories. In conclusion, I got the 'pdf' directory organized 
like this :

[hobbit at psi200 pdf]$ ls -al
total 164
drwxr-xr-x    6 hobbit hobbit  4096 mai  2 14:52 .
drwxr-xr-x   30 hobbit hobbit  4096 mai  2 15:25 ..
drwxr-xr-x    5 hobbit hobbit  4096 avr 30 23:59 export
drwxrwxr-x  157 hobbit hobbit  4096 avr 28 19:20 graphrrd
drwxrwxr-x    2 hobbit hobbit  4096 mar 22 18:31 images
-rwxrwxr-x    1 hobbit hobbit  5251 mar 22 15:52 pdf.php
-rwxrwxr-x    1 hobbit hobbit 52241 avr 21 19:53 rapport.php
-rwxrwxr-x    1 hobbit hobbit 11125 avr 11 16:17 rapportredac.php
-rwxrwxr-x    1 hobbit hobbit  7459 avr 10 15:31 rapports_annuels.php
-rwxrwxr-x    1 hobbit hobbit  8814 avr 10 15:30 rapports_mensuels.php
drwxrwxr-x    2 hobbit hobbit  4096 mai  2 12:34 scripts

export : directory where all reports generated automatically go.
graphrrd : directory where all PNG graphs generated automatically go.
images : directory where all images to include in the pdf go. I'm giving 
you some images in images.zip
scripts : directory to stock scripts which generate the PNG graphs.


Ok, let's go !
1) first part : shell scripts (rrdscripts.zip). Decompress the scripts 
into your 'pdf' directory and edit them to modify the destination of PNGs 
graphs. Once done, launch master.sh and look at the results. For one 
server, you must have 4 graphs BY test. Actually, I'm graphing 6 tests - 
cputil, load, memory, iowait, network (don't work for linux at the moment 
!!) and run-queue. You can add more tests if you want ! For example, you 
will have : 

graphrrd/myserver/
load.myserver-[day/week/month/year].png
mem.myserver-[day/week/month/year].png
...

Now, you can do a cron to launch master.sh every hour to update your 
graphs. 
Thanks to ED (ed.zehome.com) for his site and his explanation of rrdtool. 
I used examples from his site into the scripts...

2) Second part, the php pages (pdfreports.zip). Put these files directly 
into the pdf directory. You have five files :

- pdf.php --> contains the main form with hobbit's look ! You may add this 
page to your hobbit's menu. Simply type in the text field a server name 
and got your *beautiful* report :)
- rapport.php --> contains all the php code. So, the file pdf.php calls 
this file when a name is submitted. Within this script you can define 

- rapportredac.php --> contains a form with several textareas. You have to 
put a server name, check a box if the server is overloaded, underloaded or 
'normally loaded'. Then, all text in the textareas will go under graphs in 
the pdf report. You can easily build analysis for your boss or team... 
Like pdf.php, this page calls rapport.php.

- rapports_mensuels (monthly) and rapports_annuels (annual - sorry for 
french) : you can execute these scripts to have reports - for all servers 
- automatically generated and put into a directory. Like 'master.sh' you 
can do a cron to have reports each end of month. These two scripts even 
check the last day of month and send a mail when reports are generated. 

If all is correct you will have a pdf report with your graphs in it when 
you click on 'rapport !' on the pdf.php page. That's all !
You have to edit them by hand to modify and adapt to your configuration. 
I'm sorry the code isn't very clean at all ! Moreover, you will have a lot 
of french text in the files. I'm beginning to rewrite comments into 
english.
Feel free to make comments and/or modifications to the scripts. 

I hope, these reports will satisfy your needs. I'm sorry for the shorts 
explanations but I got another project which take all my time... So, I 
will try my best to answer questions, if you have some !
Best regards,

Thomas Seglard



Ce message (et toutes ses pieces jointes eventuelles) est confidentiel et etabli a l'intention exclusive de ses destinataires.
Toute utilisation de ce message non conforme a sa destination, toute diffusion ou toute publication, totale ou partielle, est
interdite, sauf autorisation expresse.
L'internet ne permettant pas d'assurer l'integrite de ce message, CNP Assurances et ses filiales declinent toute responsabilite
au titre de ce message, s'il a ete altere, deforme ou falsifie.

*****

This message and any attachments (the "message") are confidential and intended solely for the addressees.
Any unauthorised use or dissemination is prohibited.
E-mails are susceptible to alteration.
Neither CNP Assurances nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20060502/2a1e47e8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scripts.zip
Type: application/zip
Size: 8307 bytes
Desc: not available
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20060502/2a1e47e8/attachment.zip>


More information about the Xymon mailing list