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
Installo php-soap:¶
apt-get install php-soap
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 :
nano /etc/icinga-web/conf.d/module_reporting.xml
<module enabled="true">
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:
/usr/lib/icinga-web/bin/clearcache.sh
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:
... <ae:parameter name="jasper_url">http://127.0.0.1:8080/jasperserver</ae:parameter> ... ... <ae:parameter name="tree_root">/icinga</ae:parameter> ...
in:
... <ae:parameter name="jasper_url">http://192.168.1.126:8080/jasperserver</ae:paramete> ... ... <ae:parameter name="tree_root">/icinga/reports</ae:parameter> ...
Si effettua una nuova pulizia della cache:
/usr/lib/icinga-web/bin/clearcache.sh
Cronks:¶
Si procede con le modifiche al file /etc/icinga-web/conf.d/cronks.xml
cambiando la riga:
... <ae:parameter name="hide">true</ae:parameter> ...
nella riga:
... <ae:parameter name="hide">false</ae:parameter> ...
Per le distribuzione Debian si deve creare una giusta cartella per i report con:
install --directory --mode=0770 --owner=www-data --group=www-data /var/cache/icinga-web/reports
Tornando al file /etc/icinga-web/conf.d/module_reporting.xml
si deve aggiungere una riga per ridefinire cartella dei report:
nano /etc/icinga-web/conf.d/module_reporting.xml
aggiungendo una linea:
<setting name="dir.download">/var/cache/icinga-web/reports</setting>
ottenendo qualcosa del tipo:
<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>
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:
mysql icinga < icinga-reports-1.9.0/db/icinga/mysql/availability.sql
oppure copiandolo dalla macchina su cui si trova icinga-reports:
scp db/icinga/mysql/availability.sql mysqlmast:
per controllare che tutto sia effettivamente andato a buon fine si può fare:
mysql -u icinga-idoutils -p Enter password:
mysql> SELECT * FROM INFORMATION_SCHEMA.ROUTINES;
ottenendo qualcosa del tipo:
+---------------------+-----------------+----------------+---------------------+--------------+----------------+--------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+----------------+----------------------+----------------------+--------------------+ | 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)
si danno i permessi necessari all'utente che si collegherà ad icinga col client:
GRANT ALL ON icinga.* To 'icinga-idoutils'@'macchina_jasper' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxx';
anche se da documentazione basterebbe un:
GRANT EXECUTE ON icinga.* To <username>@<host>;
infine ottenendo qualcosa del tipo:
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)
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:
less /var/log/syslog
Macchina Jasper:¶
Bisogna installare icinga-reports per cui:
git clone git://git.icinga.org/icinga-reports.git ; cd icinga-reports
dopo di che:
./configure --with-icinga-user=root --with-icinga-group=root --with-jasper-server=/opt/jasperreports-server-cp-5.1.0/
anche se da letteratura sarebbe stato:
./configure --with-jasper-server=/opt/jasperreports-server-cp-5.1.0/
ma vengono fuori problemi con l'username.
A questo punto poi si fa:
make install-mysql-connect o make install
ed infine si riavvia jasper:
cd /opt/jasperreports-server-cp-5.1.0/ ./ctlscript.sh stop ./ctlscript.sh start
Si accede a questo punto tramite pagina web con pw e username di default jasperadmin:
http://localhost:8080/jasperserver/login.html
nella sezione cartelle andiamo in root --> Icinga --> Data Sources e si controlla la pagina di configurazione IDO secondo quanto suggerito da letteratura (https://wiki.icinga.org/display/howtos/Setting+up+Icinga+with+Reporting)
avendo cura di cambiare la sezione Host e URL nel caso le installazioni di Jasper e Icinga fossero fatte su due macchine diverse (come nel caso da noi trattato).
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.
Updated by japoco romagnoli about 11 years ago · 5 revisions