Project

General

Profile

Appuntivari » History » Revision 4

Revision 3 (japoco romagnoli, 07/23/2013 01:02 PM) → Revision 4/5 (japoco romagnoli, 07/23/2013 05:05 PM)

h1. Breve descrizione report icinga con jasper 

 https://www.icinga.org/about/icinga-reporting/get-started/ 
 https://wiki.icinga.org/display/howtos/Icinga+Web+Reporting+Integration 

 h2. Installo _php-soap_: 

 <pre> 
 apt-get install php-soap 
 </pre> 

 h2. Abilitazione reporting: 

 Si abilita il reporting da parte di icinga andando ad aprire il file @/etc/icinga-web/conf.d/module_reporting.xml@ in particolare si cambia a _true_ il valore di _module enabled_ :  

 <pre> 
 nano /etc/icinga-web/conf.d/module_reporting.xml 
 </pre> 

 <pre> 
 <module enabled="true"> 
 </pre> 

 Dopo di che si deve effettuare la pulitura della cache, che deve essere fatta ogni volta che si cambia il file di configurazione di icinga-web: 

 <pre> 
 /usr/lib/icinga-web/bin/clearcache.sh 
 </pre> 

 Nel file @/etc/icinga-web/conf.d/module_reporting.xml@ si cambiano anche i valori relativi ai parametri di collegamento a _jasperserver_ 
 cambiando le righe: 

 <pre> 
 ... 
 <ae:parameter name="jasper_url">http://127.0.0.1:8080/jasperserver</ae:parameter> 
 ... 
 ... 
 <ae:parameter name="tree_root">/icinga</ae:parameter> 
 ... 
 </pre> 

 in: 

 <pre> 
 ... 
 <ae:parameter name="jasper_url">http://192.168.1.126:8080/jasperserver</ae:paramete> 
 ... 
 ... 
 <ae:parameter name="tree_root">/icinga/reports</ae:parameter> 
 ... 
 </pre> 

 Si effettua una nuova pulizia della cache: 

 <pre> 
 /usr/lib/icinga-web/bin/clearcache.sh 
 </pre> 

 h2. Cronks: 

 Si procede con le modifiche al file @/etc/icinga-web/conf.d/cronks.xml@ cambiando la riga: 

 <pre> 
 ... 
 <ae:parameter name="hide">true</ae:parameter> 
 ... 
 </pre> 

 nella riga: 

 <pre> 
 ... 
 <ae:parameter name="hide">false</ae:parameter> 
 ... 
 </pre> 

 Per le distribuzione Debian si deve creare una giusta cartella per i report con: 

 <pre> 
 install --directory --mode=0770 --owner=www-data --group=www-data /var/cache/icinga-web/reports 
 </pre> 

 Tornando al file @/etc/icinga-web/conf.d/module_reporting.xml@ si deve aggiungere una riga per ridefinire cartella dei report: 

 <pre> 
 nano /etc/icinga-web/conf.d/module_reporting.xml 
 </pre> 

 aggiungendo una linea: 

 <pre> 
 <setting name="dir.download">/var/cache/icinga-web/reports</setting> 
 </pre> 

 ottenendo qualcosa del tipo: 

 <pre> 
 <module enabled="true"> 
             <settings> 
                     <setting name="jasperconfig.default"> 
                         <ae:parameter name="jasper_url">http://192.168.1.126:8080/jasperserver</ae:parameter> 
                         <ae:parameter name="jasper_user">jasperadmin</ae:parameter> 
                         <ae:parameter name="jasper_pass">jasperadmin</ae:parameter> 
                         <ae:parameter name="tree_root">/icinga/reports</ae:parameter> 
                     </setting> 

                     <setting name="dir.download">/var/cache/icinga-web/reports</setting> 
             </settings> 
     </module> 
 </pre> 


 h2. MySQL  

 si fornisce a MySQL le funzioni su cui si basano i servizi importando il file _availability.sql_ sulla macchina su cui è installato icinga con: 

 <pre> 
 mysql icinga < icinga-reports-1.9.0/db/icinga/mysql/availability.sql 
 </pre> 

 oppure copiandolo dalla macchina su cui si trova icinga-reports: 

 <pre> 
 scp db/icinga/mysql/availability.sql mysqlmast: 
 </pre> 

 per controllare che tutto sia effettivamente andato a buon fine si può fare: 

 <pre> 
 mysql -u icinga-idoutils -p 
 Enter password: 
 </pre> 

 <pre> 
 mysql> SELECT * FROM INFORMATION_SCHEMA.ROUTINES; 
 </pre> 

 ottenendo qualcosa del tipo: 

 <pre> 
 +---------------------+-----------------+----------------+---------------------+--------------+----------------+--------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+----------------+----------------------+----------------------+--------------------+ 
 | SPECIFIC_NAME         | ROUTINE_CATALOG | ROUTINE_SCHEMA | ROUTINE_NAME          | ROUTINE_TYPE | DTD_IDENTIFIER | ROUTINE_BODY | ROUTINE_DEFINITION | EXTERNAL_NAME | EXTERNAL_LANGUAGE | PARAMETER_STYLE | IS_DETERMINISTIC | SQL_DATA_ACCESS | SQL_PATH | SECURITY_TYPE | CREATED               | LAST_ALTERED          | SQL_MODE | ROUTINE_COMMENT | DEFINER          | CHARACTER_SET_CLIENT | COLLATION_CONNECTION | DATABASE_COLLATION | 
 +---------------------+-----------------+----------------+---------------------+--------------+----------------+--------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+----------------+----------------------+----------------------+--------------------+ 
 | icinga_availability | NULL              | icinga           | icinga_availability | FUNCTION       | decimal(7,4)     | SQL            | NULL                 | NULL            | NULL                | SQL               | NO                 | READS SQL DATA    | NULL       | DEFINER         | 2013-07-22 13:57:32 | 2013-07-22 13:57:32 |            |                   | root@localhost | latin1                 | latin1_swedish_ci      | latin1_swedish_ci    | 
 +---------------------+-----------------+----------------+---------------------+--------------+----------------+--------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+----------------+----------------------+----------------------+--------------------+ 
 1 row in set (0.00 sec) 

 </pre> 


 si danno i permessi necessari all'utente che si collegherà ad icinga col client: 

 <pre> 
 GRANT ALL ON icinga.* To 'icinga-idoutils'@'macchina_jasper' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxx'; 
 </pre> 

 anche se da documentazione basterebbe un: 

 <pre> 
 GRANT EXECUTE ON icinga.* To <username>@<host>; 
 </pre> 

 infine ottenendo qualcosa del tipo: 

 <pre> 
 mysql> show grants for 'icinga-idoutils'@'macchina_jasper'; 
 +----------------------------------------------------------------------------------------------------------------------------+ 
 | Grants for icinga-idoutils@miller.fi.trl                                                                                     | 
 +----------------------------------------------------------------------------------------------------------------------------+ 
 | GRANT USAGE ON *.* TO 'icinga-idoutils'@'macchina_jasper' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxx'                         | 
 | GRANT EXECUTE ON `icinga`.* TO 'icinga-idoutils'@'macchina_jasper'                                                           | 
 +----------------------------------------------------------------------------------------------------------------------------+ 
 2 rows in set (0.00 sec) 
 </pre> 


 h3. Accorgimenti su macchina Icinga: 

 a installazione avvenuta c'erano alcuni problemi riguardo i valori attribuiti di default ad alcune variabili del file _/etc/php5/conf.d/suhosin.ini_  
 per cui è risultato necessario cambiare alcuni valori da 64 a 128, seguendo le indicazioni ricavate consultando i log nel syslog: 

 <pre> 
 less /var/log/syslog 
 </pre> 


 h2. Macchina Jasper: 

 Bisogna installare _icinga-reports_ per cui: 

 <pre> 
 git clone git://git.icinga.org/icinga-reports.git ; cd icinga-reports 
 </pre> 

 dopo di che: 

 <pre> 
 ./configure --with-icinga-user=root --with-icinga-group=root --with-jasper-server=/opt/jasperreports-server-cp-5.1.0/ 
 </pre> 

 anche se da letteratura sarebbe stato: 

 <pre> 
 ./configure --with-jasper-server=/opt/jasperreports-server-cp-5.1.0/ 
 </pre> 

 ma vengono fuori problemi con l'username. 

 A questo punto poi si fa: 

 <pre> 
 make install-mysql-connect 

   o 

 make install 
 </pre> 

 ed infine si riavvia jasper: 

 <pre> 
 cd /opt/jasperreports-server-cp-5.1.0/ 

 ./ctlscript.sh stop 

 ./ctlscript.sh start 
 </pre> 


 h3. Accorgimento su macchina jasper: 

 si è dovuto creare un utente Icinga sulla macchina per generare dei file che nel processo di installazione vengono controllati e nel caso non vengano trovati l'installazione non riesce ad andare a buon fine.