Pandora
De Wikillano
Instalación de Dependencias:
apt-get install gcc make
Pandora Data server
apt-get install libxml-perl apt-get install libdigest-hmac-perl apt-get install libdate-manip-perl apt-get install libdbd-mysql-perl apt-get install libtimedate-perl apt-get install libxml-simple-perl
Pandora network server
root@sol:~# apt-get install libio-socket-ssl-perl root@sol:~# apt-get install libsnmp-perl root@sol:~# apt-get install snmpd snmp
también necesitamos el paquete Net-Ping-External-0.12.tar.gz ya que sino al ejecutar el servidor network server nos dará el siguiente error
root@sol:/opt/pandora_server# ./pandora_network start Can't locate Net/Ping/External.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./pandora_network.pl line 27. BEGIN failed--compilation aborted at ./pandora_network.pl line 27. Cannot start Pandora Network Server. Aborted
Una vez lo bajemos de internet http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Net-Ping-External-0.12.tar.gz
los descomprimimos y ejecutamos lo siguiente:
perl Makefile.PL make make test make install
Instalando Pandora Server
root@sol:~# mkdir -p /opt/pandora root@sol:~# cd /opt/pandora/
bajarse el software pandora de la web y desempaquetarlo en el directorio.
root@sol:/opt/pandora# tar -zxvf PandoraFMS_Server-1.2.0.tar.gz
al final debemos dejar el directorio de esta manera:
root@sol:/opt/pandora_server#
y dentro de pandora-server el contenido del mismo:
root@sol:/opt/pandora_server# ls -lrt total 88 -rw-r--r-- 1 david david 2789 2006-11-30 18:03 README -rwxr-xr-x 1 david david 2862 2006-11-30 18:03 pandora_snmpconsole -rwxr-xr-x 1 david david 1511 2006-11-30 18:03 pandora_server -rwxr-xr-x 1 david david 1547 2006-11-30 18:03 pandora_network -rw-r--r-- 1 david david 13960 2006-11-30 18:03 INSTALL -rw-r--r-- 1 david david 14875 2006-11-30 18:03 COPYING -rw-r--r-- 1 david david 1654 2006-11-30 18:03 ChangeLog -rw-r--r-- 1 david david 33 2006-11-30 18:03 AUTHORS drwxr-xr-x 2 david david 4096 2006-11-30 18:04 var drwxr-xr-x 4 david david 4096 2006-11-30 18:04 specs drwxr-xr-x 2 david david 4096 2006-11-30 18:04 data_in drwxr-xr-x 2 david david 4096 2006-11-30 18:14 util drwxr-xr-x 2 david david 4096 2006-12-04 00:25 conf drwxr-xr-x 2 david david 4096 2006-12-04 00:26 doc drwxr-xr-x 2 david david 4096 2006-12-04 00:26 bin drwxr-xr-x 2 david david 4096 2007-03-19 17:12 log
Crear usuario pandora en el sistema:
root@sol:/opt/pandora# useradd pandora -d /home/pandora
Creamos el directorio:
root@sol:/opt/pandora# mkdir /home/pandora
cambiamos el propietario:
root@sol:/opt/pandora# chown pandora /home/pandora
También deberemos crear un link desde /opt/pandora_server/util/snmptrapd a /usr/sbin/snmptrapd
root@pandora:/opt/pandora_server/util# ln -s /usr/sbin/snmptrapd snmptrapd
debemos asignarle un password al usuario que acabamos de crear.
Prueba del network server:
root@sol:/opt/pandora_server# ./pandora_network start Pandora Network Server 1.2 Build PS061123 Copyright (c) 2004-2006 ArticaST This program is Free Software, licensed under the terms of GPL License v2 or later. You can download latest versions and documentation at http://pandora.sourceforge.net. [W] It is not a good idea running Pandora Server as root user, please DON'T DO IT! [*] Server basepath is /opt/pandora_server [*] Server logfile at /opt/pandora_server/log/pandora_server.log [*] Server errorlogfile at /opt/pandora_server/log/pandora_server.error [*] Server incoming directory at /opt/pandora_server/data_in [*] Server keepalive 60 [*] Server threshold 5 [*] You are running Pandora Network Server. [*] This server is running in MASTER mode. [E] Error connecting database in init Phase. Aborting startup. Cannot start Pandora Network Server. Aborted
-Nos falta la bbdd.
Instalación de MYSQL y PHP para la web de Pandora
apt-get install mysql-server-5 apt-get install php5 (Al instalar php5 se me instaló apache2) apt-get install php5-gd php5-mysql php5-snmp
Cambiamos la password de root en mysql:
root@sol:/opt/jpgraph-2.1.4# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 5.0.24a-Debian_9-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
mysql> UPDATE user SET Password=PASSWORD('password') WHERE User='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
Cambiamos el path del documentRoot a /data/www (esto varia dependiendo la estructura de dirs) en /etc/apache2/sites-enabled el site default y cambiarle el documentRoot.
Reiniciamos apache
root@sol:/etc/apache2# /etc/init.d/apache2 force-reload
Nos descargamos pandora-console y lo descomprimimos:
root@sol:/opt# tar -zxvf PandoraFMS_Console-1.2.0.tar.gz
Creamos el directorio
mkdir -p /data/www
lo movemos a /data/www
root@sol:/opt# mv pandora /data/www/
Vamos al directorio raiz del servidor web y entramos en el directorio pandora:
root@sol:/opt# cd /data/www/pandora/
Descargamos jpgraph: http://www.aditus.nu/jpgraph/
http://hem.bredband.net/jpgraph2/jpgraph-2.1.4.tar.gz
y los desempaquetamos en /data/www/pandora/reporting/jpgraph
el contenido de src lo debemos desempaquetar en /data/www/pandora/reporting/jpgraph
ahora debemos copiar la fuente:
root@sol:/data/www/pandora/reporting# ls -lrt total 528 -rw-r--r-- 1 www-data www-data 3085 2006-12-05 19:00 stat_win.php -rw-r--r-- 1 www-data www-data 477820 2006-12-05 19:00 FreeSans.ttf -rw-r--r-- 1 www-data www-data 46811 2006-12-05 19:00 fgraph.php drwxr-xr-x 6 www-data www-data 4096 2007-03-20 12:18 jpgraph
en las siguientes 2 rutas :
cp FreeSans.ttf /usr/share/fonts/truetype/arial.ttf cp /opt/pandora_console/reporting/FreeSans.ttf /usr/X11R6/lib/X11/fonts/truetype/arial.ttf
si no existe la ruta anterior la crearemos.
mkdir -p /usr/X11R6/lib/X11/fonts/truetype/
Creamos la BBDD
Entramos en mysql y creamos la bbdd
mysql> create database pandora;
salimos de mysql y ejecutamos lo siguiente:
root@sol:/data/www/pandora# cat pandoradb.sql | mysql -D pandora -u root -p root@sol:/data/www/pandora# cat pandoradb_data.sql | mysql -D pandora -u root -p
Instalamos phpmyadmin (también podríamos instalar webmin) :
apt-get install phpmyadmin
movemos la carpeta de phpmyadmin a /data/www Entramos a phpmyadmin y Creamos el usuario pandora en la bbdd con permisos sobre la bbdd pandora creada anteriormente.
configurar archivos para la conexión a la bbdd:
cd /opt/pandora_server/conf/ vim pandora_server.conf
modificar las siguientes lineas:
dbuser pandora dbpass password bbdd dbhost localhost
También tenemos que modificar el siguiente fichero:
root@sol:/data/www/pandora/include# vim config.php
$dbname="pandora"; // MySQL DataBase $dbuser="pandora"; // DB User $dbpassword="password"; // Password $dbhost="localhost"; // MySQL Host $config_fontpath = "/usr/share/fonts/truetype/arial.ttf"; (ruta donde dejamos la fuente que copiamos anteriormente.)
El usuario de la web es admin/pandora
Crear links arranque inicio del sistema:
Ir al directorio:
cd /etc/init.d/
crear los links
ln -s /opt/pandora_server/pandora_snmpconsole ln -s /opt/pandora_server/pandora_server ln -s /opt/pandora_server/pandora_network
pandora_snmpconsole -> /opt/pandora_server/pandora_snmpconsole pandora_server -> /opt/pandora_server/pandora_server pandora_network -> /opt/pandora_server/pandora_network
agregar los scripts a los niveles de arranque con update-rc.d
update-rc.d pandora_snmpconsole defaults update-rc.d pandora_server defaults update-rc.d pandora_network defaults
Arrancar Servidores con usuario Pandora
Para que el usuario que arranque estos scripts sea pandora, debemos modificarlos,
cd $PANDORA_HOME/bin pandora_server
su pandora -c "./pandora_server.pl $PANDORA_HOME -D"
MYPID=`ps aux | grep 'pandora_server.pl' | grep -v grep | tail -1 | awk '{print $2}'`
if [ ! -z "$MYPID" ]
then
pandora_snmpconsole
cd $PANDORA_HOME/bin
su pandora -c "./pandora_snmpconsole.pl $PANDORA_HOME -D"
MYPID=`ps aux | grep 'pandora_snmpconsole.pl' | grep -v grep | tail -1 | awk '{print $2}'`
if [ ! -z "$MYPID" ]
pandora_network
este servidor debe ejecutarse como root si queremos utilizar la función de ping.
Lo mismo pasa con el script de arranque del agente
root@pluton:/etc/init.d# ln -s /opt/pandora_agent/pandora_agent_daemon root@pluton:/etc/init.d# update-rc.d pandora_agent_daemon defaults
Instalar agentes en linux:
Crear usuario pandora en el sistema:
root@sol:/opt/pandora# useradd pandora -d /home/pandora
Creamos el directorio:
root@sol:/opt/pandora# mkdir /home/pandora
cambiamos el propietario:
root@sol:/opt/pandora# chown pandora /home/pandora
debemos asignarle un password al usuario que acabamos de crear.
Existe un problema a la hora de lanzar el agente con el usuario pandora, ya que pandora no tiene permisos para escribir en /var/run y tampoco tiene permisos para leer en /var/log/syslog
por ese motivo deberemos hacer a pandora del grupo adm y crear un grupo “gesadmin” y darle permisos en el directorio /var/run
Generar claves para SSH
Entramos con el usuario pandora y accedemos al directorio .ssh (lo crea el comando siguiente)
ssh-keygen -t dsa
No ponemos ningún nombre ni passphrase, lo dejamos todo por defecto.
Esto nos generará dos claves la pública y la privada:
pandora@agent:~/.ssh$ ls -lrt total 12 -rw-r--r-- 1 pandora pandora 442 2007-03-20 15:51 known_hosts -rw-r--r-- 1 pandora pandora 603 2007-03-20 16:18 id_dsa.pub -rw------- 1 pandora pandora 668 2007-03-20 16:18 id_dsa
Pasamos la clave publica al servidor:
scp -r id_dsa.pub root@172.24.43.74:/home/pandora/.ssh/
una vez en el servidor añadimos la clave pública en el fichero authorized_keys2 en el home de pandora dentro de .ssh
cat id_dsa.pub >> authorized_keys2 chmod 600 authorized_keys2 rm id_dsa.pub
Probamos de hacer un ssh a la máquina servidora con el usuario pandora, si no nos pide passwd, todo esta correcto.
Descargamos y desempaquetamos el agente para UNIX en /opt/pandora_agent
PandoraFMS_Agent_UNIX-1.2.0.tar.gz
una vez descomprimido encontramos lo siguiente:
pandora@agent:/opt/pandora_agent$ ls -lrt
total 64 -rw-r--r-- 1 pandora pandora 2789 2006-11-30 18:03 README -rwxr-xr-x 1 pandora pandora 2131 2006-11-30 18:03 pandora_user.conf -rwxr-xr-x 1 pandora pandora 8020 2006-11-30 18:03 pandora_agent.sh -rwxr-xr-x 1 pandora pandora 1561 2006-11-30 18:03 pandora_agent_daemon -rw-r--r-- 1 pandora pandora 1266 2006-11-30 18:03 INSTALL -rw-r--r-- 1 pandora pandora 14875 2006-11-30 18:03 COPYING -rw-r--r-- 1 pandora pandora 71 2006-11-30 18:03 AUTHORS drwxr-xr-x 2 pandora pandora 4096 2006-11-30 18:04 doc -rw-r--r-- 1 pandora pandora 5758 2007-03-21 09:32 pandora.log -rwxr-xr-x 1 pandora pandora 2477 2007-03-21 11:11 pandora_agent.conf drwxr-xr-x 2 pandora pandora 4096 2007-03-21 11:16 data_out
Cambiar el identity file del scp del agente, ya que el script será ejecutado como usuario root y el scp como pandora, dando error de conexión debido a las claves dsa que irá a buscarlas al home de root.
root@pluton:/opt/pandora_agent# vim pandora_agent.sh
ir a la linea:
# Send packets to server and detele it scp -i /home/pandora/.ssh/id_dsa $PANDORA_FILES pandora@$SERVER_IP:$SERVER_PATH > /dev/null 2> /dev/null
añadir la opcion -i al comando scp.
Debemos configurar el fichero pandora_agent.conf
# General Parameters # ================== server_ip 172.24.42.193 server_path /opt/pandora_server/data_in pandora_path /opt/pandora_agent/ temporal /opt/pandora_agent/data_out interval 120 debug 0 checksum 0 #agent_name geminon
debemos poner la ip del servidor pandora, y donde estan los directorios data_in en el servidor, y en local el data_out y la ubicación de pandora_agent
El intervalo por defecto es 300, pero podemos cambiar el tiempo de refresco del agente.
En este fichero, un poco más abajo encontramos los módulos de monitorización.
Añadir los script al arranque:
root@pluton:/etc/init.d# ln -s /opt/pandora_agent/pandora_agent_daemon root@pluton:/etc/init.d# update-rc.d pandora_agent_daemon defaults
Para ejecutar el agente, con el usuario pandora debemos modificar el script de arranque para que el agente lo arranque y lo pare correctamente.
### BEGIN INIT INFO # Provides: pandora_agent # Required-Start: $network # Required-Stop: $network # Default-Start: S 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start/stop pandora-agent daemon ### END INIT INFO
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
PANDORA_PATH=/opt/pandora_agent
DAEMON=pandora_agent.sh
PIDFILE=/var/run/pandora_agent.pid
if [ ! -f $PANDORA_PATH/$DAEMON ]
then
echo "Pandora Agent not found at $PANDORA_PATH/$DAEMON, please check setup"
exit
fi
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "Pandora Agent is currently running on this machine. Aborting now..."
exit
fi
su pandora -c "$PANDORA_PATH/$DAEMON $PANDORA_PATH >> $PANDORA_PATH/pandora.log & MYPID=$!"
#echo $MYPID > $PIDFILE
echo "Pandora Agent is now running"
;;
stop)
echo "Stopping Pandora Agent."
PID_2=`ps aux | grep 'pandora_agent.sh' | grep -v grep | tail -1 | awk '{print $2}'`
kill -9 $PID_2
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Uso: /etc/init.d/pandora_agent {start|stop|restart|force-reload}"
exit 1
esac
En redhat debemos modificar el script para poder ejecutarlo en el arranque. debemos añadir una lineas quedando el principio del script como:
#!/bin/bash # chkconfig: - 85 15 # description: agente monitorizacion pandora # processname: pandora_agent_daemon PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin PANDORA_PATH=/opt/pandora_agent/ DAEMON=pandora_agent.sh PIDFILE=/var/run/pandora_agent.pid
el número de 85 es el orden de arranque de script y el 15 el de parada
lo que sigue del script debe estar igual que lo anterior
if [ ! -f $PANDORA_PATH/$DAEMON ]
then
echo "Pandor...
despues de esto podemos añadir el script a los runlevels de la siguiente manera:
chkconfig --add pandora_agent_daemon
con ntsysv podemos añadir o quitar los scripts del arranque.
Instalar el agente en Windows:
Descargar el instalador: PandoraFMS_Windows_Agent_Setup-1.2-0.exe
Seguir las instrucciones de la instalación y crear las claves con puttygen.
exportar la clave OpenSSH Sin password!
en construccion
IMPORTANTE la guardamos en la siguiente ruta como id_dsa C:\Program Files\Pandora_Agent\key\id_dsa
Ahora COPIAMOS la clave pública y la PEGAMOS como C:\Archivos de programa\Pandora_Agent\key\id_dsa.pub,
Ahora deberemos pegarla también en el fichero authorized_keys2 en /home/pandora/.ssh
Yo lo he hecho de la siguiente manera:
Instalo putty y me conecto al servidor por ssh con el usuario pandora, una vez dentro y con la clave pública copiada de la ventana de puttygen, creo un fichero con vim y pego la clave dentro.
despues cat fichero >> authorized_keys2
Para realizar las pruebas de conexión podemos realizar lo siguiente:
desde un cmd en windows:
C:\Archivos de programa\Pandora_Agent>PandoraAgent.exe --test-ssh Public key file C:\Archivos de programa\Pandora_Agent\key\id_dsa.pub exists. Private key file: C:\Archivos de programa\Pandora_Agent\key\id_dsa exists. Connecting with 172.24.42.193. Authentication successful. Host fingerprint: 19:D5:4C:A8:DC:33:2E:0F:77:54:1E:E2:AE:C9:A4:33 Created a blank XML file in C:\windows\temp\ssh.test Remote copying C:\windows\temp\ssh.test on server 172.24.42.193 at /opt/pandora_ server/data_in/ssh.test Successfuly file copied to remote host Successfuly disconnected from remote host The SSH test was successful!
por otro lado tenemos el fichero de configuración del agente en el cual podemos configurar la ip del servidor y demás parámetros.
- General Parameters
- ================== server_ip 172.24.42.193
server_path /opt/pandora_server/data_in temporal "C:\windows\temp" interval 300 agent_name win_prueba
- debug 1
El nombre que le pongamos al agente debe ser el mismo al crear el agente en la web de administración de PANDORA!!
Problemas conocidos:
En la web no carga algunas imágenes, si le damos a ver imagen nos sale el siguiente error
Fatal error: Call to undefined function imageantialias() in /var/www/pandora/reporting/jpgraph/jpgraph.php on line 5792
cambiar: Hi, the solution is this one. Let's see, go to line: 5792 This is what you're gonna find:
$this->use_anti_aliasing = $aFlg; imageantialias($this->img,$aFlg);
sustitir:
$this->use_anti_aliasing = false; //imageantialias($this->img,$aFlg);
Si monitorizamos alguna cosa con texto (string) por ejemplo, monitorizar la salida del syslog, si le damos a la gráfica del día veremos que sólo nos salen 12 caracteres del total del texto.
para arreglar esto debemos modificar el siguiente fichero:
/data/www/pandora/operation/agentes el fichero root@pandora:/data/www/pandora/operation/agentes# vim datos_agente.php
line 110:} else line 111:echo substr($myvalue,0,12); line 112:} else line 113:echo substr($row["datos"],0,12);
Cambiar el número 12 por el número que queramos o obviar la función.
echo $myvalue; echo $row["datos"];
Error NO SOLUCIONADO!!
Al instalar pandora con mysql4 y php4 he encontrado el siguiente error al cargar los gráficos:
Warning: main(jpg-config.inc.php): failed to open stream: No such file or directory in /dungeons/www/pandora/reporting/jpgraph/jpgraph.php on line 11
Fatal error: main(): Failed opening required 'jpg-config.inc.php' (include_path='.:/usr/share/php:/usr/share/pear') in /dungeons/www/pandora/reporting/jpgraph/jpgraph.php on line 11
la jpgraph que he instalado son la versión jpgraph-1.21 ya que son las que soporte php4, el problema parece ser que no encuentra el fichero jpg-config.inc.php que se encuentra en la versión 2.X de jpgraph, la he bajado y he movido el fichero con los demás de la versión 1.X.
Aparentemente funciona, pero algunos gráficos no terminan de funcionar.
