Tabla de Contenidos

Instalación

Instalación de Consola y Servidor de Pandora FMS

¿En cuáles sistemas operativos funciona Pandora FMS?

Pandora FMS necesita Linux para el servidor y la consola. No está oficialmente soportado en MS Windows® ni en otro sistema operativo como Solaris®, BSD o similares, pese a que muchos de sus componentes funcionarán, existen funcionalidades avanzadas que no funcionarán o que darán problemas y es imposible asegurar su funcionamiento.

Los agentes de monitorización sí están soportados para cualquier plataforma, especialmente Microsoft Windows® (todas las versiones desde Windows NT4 hasta los últimos Windows 11), diferentes distribuciones de GNU/Linux (Debian, RedHat, Fedora, Centos, Mint, SUSE, etc.), así como Unix® (Solaris®, HPUX, AIX, BSD, etcétera). También existe un agente para dispostivos Android.

Requisitos mínimos hardware

Los requisitos expuestos en esta tabla son las recomendaciones mínimas para las distintas instalaciones. Estas recomendaciones están calculadas suponiendo que el 80 % de los Módulos tienen histórico de datos y el muestreo medio es de cinco minutos. Estas recomendaciones están especificadas para un entorno donde se instalan en el mismo servidor base de datos, Pandora FMS Server y Consola web.

Hardware PEQUEÑO: Hasta
5.000 módulos
MEDIANA: Hasta
15.000 módulos
GRANDE*: Hasta
30.000 módulos
Extra GRANDE*:
Hasta 80.000 módulos
CPU 2 núcleos a 2 GHz 4 núcleos a 2,5 GHz 6 núcleos a 3 GHz 10 núcleos a 3 GHz
RAM 4 GB 8 GB 16 GB 32 GB
Velocidad de almacenamiento 7200 rpm 15K rpm o SSD SSD SSD
Espacio mínimo 40GB mínimo
60 GB recomendado
60GB mínimo
150 GB recomendado
120GB mínimo
250 GB recomendado
250GB mínimo
400 GB recomendado

Estos valores son aproximados y tomando como referencia un entorno con monitorización mixta (agente software y remota) con el intervalo por defecto de 5 minutos y el almacenamiento de datos por defecto. Si se alteran estos valores los requerimientos pueden variar.

* * Para entornos que superen las 80 mil métricas se debe optar por un sistema de monitorización distribuida utilizando múltiples nodos.

(*) En el caso de requerir un mayor rendimiento por nodo, existe la posibilidad de desplegar la base de datos en otra instancia o incluso configurar al nodo para conectar con un cluster de base de datos xtradb.

En caso de instalar Pandora FMS en un entorno virtual, asegúrese de asignar un disco independiente con espacio reservado y una velocidad de acceso elevada. Se recomienda encarecidamente el uso de discos SSD , debido al alto impacto que estos tienen sobre la mejora del rendimiento.

Si necesita guardar la información de más de un mes de antigüedad, deberá crear una base de datos de histórico. Para el dimensionamiento de la máquina consulte los requerimientos de hardware en la tabla anterior.

Requisitos mínimos de software

Software Requisitos
Sistema Operativo
RedHat Enterprise (RHEL) 8 (recomendado).
Rocky Linux 8 .
RedHat Enterprise (RHEL) 7.X (solamente versión Enterprise).
CentOS 7.X .

Ubuntu Server 22.04 (versión 766 o posterior): en la versión Enterprise solamente para los nodos stand alone, los entornos de Metaconsola deben ser instalados en su totalidad en RHEL 8 / Rocky Linux 8 (recomendados) o en su defecto RHEL 7 o CentOS 7.X
Windows Server (2003 o superior)
SLES 11 SP1 o superior
OpenSUSE 11.X o superior
Debian 5, 6, 7 o superior
Ubuntu Server 21 o anterior
Ubuntu Desktop
FreeBSD 9.X o superior
Solaris 10/OpenSolaris
Pandora FMS no da soporte oficial en estas plataformas.
Permisos Server
Se debe de ejecutar el servicio de Pandora FMS Server como permisos de root. Es posible la ejecución como usuario no root, siendo un procedimiento especial y diferente, más información en este enlace.
Consola
Para poder utilizar la consola desde cualquier navegador web, Apache debe tener permisos de lectura y ejecución sobre los ficheros de la Consola.
Adicionalmente el fichero config.php debe tener los permisos 600 (lectura y escritura para administrator/root).
Es necesario a su vez que se tengan permisos de escritura en el directorio del servidor: /var/spool/pandora/
Agente Software
-Linux®: Se debe ejecutar el Agente Software de Pandora FMS Server como permisos de root para poder contar con todas las funcionalidades del agente, aunque también es posible ejecutarlo con otros permisos.
-Windows®: Se debe ejecutar el Agente Software de Pandora FMS Server con permisos de administrador.
Consola
PHP 8 → Para versiones de Pandora FMS 760 o posteriores (desde la versión 766 utiliza PHP 8 por defecto).
PHP 7.4 → Para versiones de Pandora FMS 759 a 767.
PHP 7.2 → Para versiones de Pandora FMS desde 729 a 758.
PHP 5 → Para versiones de Pandora FMS 728 o anteriores.
Navegadores Microsoft Edge®.
Opera web browser®.
Google Chrome®.
Mozilla Firefox®
Se recomiendan Mozilla Firefox® y Google Chrome® para hacer uso de gráficas interactivas y mapas de red.


Para Pandora FMS (a nivel de servidor) el término EL8 es utilizado para denotar el conjunto de sistemas operativos recomendados, el cual está conformado por Rocky Linux 8™, AlmaLinux 8® y RedHat 8®.

Requisitos de Base de datos

BBDD Detalles
MySQL Standard Versión 5.7 por defecto, a partir de la versión 760 tiene soporte para MySQL versión 8.
Para la instalación estándar se requiere un usuario con privilegios de creación en la BBDD de Pandora FMS. En caso de no poseer dicho usuario se podrá realizar una instalación manual.
Percona Server for MySQL La instalación de Percona Server for MySQL se recomienda para entornos amplios de Pandora FMS donde se vayan a crear más de 4000 agentes.
Versión 5.7 por defecto, a partir de la versión 760 tiene soporte para MySQL versión 8.
Para la instalación estándar se requiere un usuario con privilegios de creación en la BBDD de Pandora FMS. En caso de no poseer dicho usuario se podrá realizar una instalación manual.

Requisitos del Servidor Satélite

Satélite Detalles
Hardware Los requisitos de hardware del sistema que albergará el servidor satélite dependerán del volumen de monitorización que deberá de realizar el mismo. Para entornos de menos de 1000 agentes, se recomienda un mínimo de 1 núcleo a 2GHz y 1 GB de RAM.
Dependencias
Las dependencias fundamentales son:
fping
nmap
perl

wmic (versiones anteriores a NG 761).

pandorawmic (versión NG 762 y posteriores).
Binarios Las dependencias fundamentales son:
Linux® 32 Bits
Linux® 64 Bits
Windows® 32 Bits
Windows® 64 Bits
Raspberry Pi OS

Requisitos de Puertos

Puerto Protocolo Servicio/Proceso Descripción Dirección
80 TCP Consola Pandora FMS Administración de IP’s Navegador → Servidor Consola Pandora FMS
80 TCP Consola Pandora FMS (Comunicación API) Utilización de funcionalidad API/CLI Navegador/Servidor que inicie la consulta → Servidor Consola Pandora FMS
80 TCP Metaconsola Comunicación entre Metaconsola y Nodos Servidor Metaconsola → Servidor Nodo Servidor Nodo → Servidor Metaconsola
162 UDP Servidor Pandora FMS Recepción de traps Dispositivo generados de traps → Servidor Pandora FMS
443 TCP Consola Pandora FMS (Comunicación API) Utilización de funcionalidad API/CLI Navegador/Servidor que inicie la consulta → Servidor Consola Pandora FMS
443 TCP Metaconsola Comunicación entre Metaconsola y Nodos Servidor Metaconsola → Servidor Nodo Servidor Nodo → Servidor Metaconsola
3306 TCP Consola y Servidor Pandora FMS Conexión a la BBDD Servidor Consola Pandora FMS → Servidor BBDD Pandora FMS Servidor Pandora FMS → Servidor BBDD Pandora FMS
3306 TCP Metaconsola Comunicación entre Metaconsola y Nodos BBDD Servidor Metaconsola → Servidor BBDD Nodos Servidor Nodo → Servidor BBDD Metaconsola
4444 TCP Servidor Pandora FMS Conexión con Selenium GRID Servidor Pandora FMS → Servidor Selenium
9995 UDP Servidor Pandora FMS Recepción de sondas Netflow Servidor nfcapd → Servidor Pandora FMS
9200 TCP Consola y Servidor Pandora FMS Gestión de almacenamiento de Logs con Elasticsearch Servidor Elasticsearch → Servidor Pandora FMS
41121 TCP Agentes de Pandora FMS Comunicación Tentacle Servidor Agente Software → Servidor Pandora FMS
Se recomienda facilitar la comunicación desde el servidor y la consola de Pandora FMS a toda su red. Para monitorización estándar se necesitaría como mínimo:
80 TCP Servidor Pandora FMS Monitorización web para servidor WUX Servidor Pandora FMS → Servidor a monitorizar
161 UDP Consola y Servidor Pandora FMS Monitorización mediante SNMP Polling Servidor Pandora FMS → Servidor a monitorizar
443 TCP Servidor Pandora FMS Monitorización web para servidor WUX Servidor Pandora FMS → Servidor a monitorizar
ICMP ICMP Consola y Servidor Pandora FMS Monitorización de red con chequeos ICMP Servidor Pandora FMS → Servidor a monitorizar

Dependencias de paquetes

Pandora FMS depende en gran parte del sistema operativo Linux®, pero además necesita paquetes adicionales que muchas veces no vienen instalados de forma predeterminada. En el proceso de instalación se detallan de forma específica esas dependencias para sistemas CentOS.

Cuestiones previas a la instalación

MySQL

Durante el proceso de instalación de Pandora FMS en sistemas CentOS 7 y 8 por paquetes ya se explica cómo instalar y configurar la base de datos compatible con el servidor, por lo que es innecesario una instalación previa antes de seguir la guía y así bien puede saltar este punto.

Necesitará un servidor MySQL operativo antes de instalar Pandora FMS, ya que el siguiente paso tras instalar los paquetes de Pandora FMS, es configurar el acceso a la base de datos. Si está instalando Pandora FMS a la vez que el servidor MySQL, recuerde que tiene que arrancar y configurar el acceso al usuario root de MySQL. Esto se hace mediante dos comandos:

1. Arrancar con systemd:

systemctl start mysql

De manera alternativa puede usar: /etc/init.d/mysql start .

2. Configurar la contraseña (password) del usuario administrador root:

mysqladmin password <password>

En <password> colocará la contraseña que se establece para el usuario root. Este password será solicitado durante todo el proceso de instalación de Pandora FMS.

Orden de instalación de Pandora FMS

Es recomendable seguir el siguiente orden al instalar Pandora FMS:

  1. Instalar la consola
  2. Instalar el servidor

La razón es que la base de datos MySQL que usa el servidor se crea en el proceso de configuración inicial de la Consola y por ello, para asegurar el correcto funcionamiento del servidor, es recomendable realizar primero el proceso de instalación completo de la Consola.

Es innecesario que la Consola y el servidor de Pandora FMS se encuentren alojados en la misma máquina. Es posible indicar a ambos dónde se encuentra la base de datos MySQL mediante los correspondientes ficheros de configuración, aunque en entornos Enterprise a la hora de realizar una instalación distribuida, hay que tener en cuenta más factores para la instalación.

La instalación del Agente Software la podemos realizar sin ningún problema antes o después de instalar el servidor y la consola ya que es independiente de estos y puede estar instalado en cualquier máquina.

Instalación de la versión Enterprise de Pandora FMS

Versión EnterpriseEl orden adecuado para realizar una instalación Enterprise es el siguiente:

  • Instale la Consola Open Source.
  • Instale la Consola de la versión Enterprise.
  • Instale el servidor de la versión Enterprise.
  • Al acceder a la Consola, aparecerán cuadros requiriendo que introduzca su código de licencia Enterprise.

La validación de la licencia solo se realiza en la Consola, no en el servidor.

Puede encontrar detalles sobre cómo introducir correctamente la licencia en la siguiente sección: Activar licencia v5.X

Enterprise Alternative Server packages

Versión EnterpriseTambién puede optar por descargar e instalar la versión Enterprise en un novedoso paquete alterno.

Es un conjunto de ficheros binarios en disponible en formato .tar.gz y .rpm, es una compilación binaria diferente de la habitual, en fase experimental.

Tiene como ventajas la implementación de la conexión de manera cifrada a la base de datos MySQL® así como también la opción a utilizar MS SQL Server®.

Soporte técnico Pandora FMS

Desde la sección de soporte técnico podrá solicitar el acceder a dicho recurso.

Herramienta de instalación en línea

Si tiene acceso a Internet se recomienda que realice la instalación en línea (online) por medio de esta útil herramienta.

Entorno monolito Pandora FMS (server/console/database)

Este método de instalación es especialmente útil cuando el entorno está alojado en proveedores en la nube aunque no es exclusivo para este tipo de entornos.

El término “proveedor en la Nube” (o simplemente “Nube”) es utilizado para describir el alojamiento de máquinas virtuales, ya sea de manera exclusiva o compartida, en proveedores especializados con hardware, hipervisores y sistemas web de atención al cliente para su configuración y administración.

Para cualquiera de ellos puede instalar Pandora FMS edición Community. Se recomienda Red Hat (RHEL) 8.x como sistema operativo aunque también tiene compatibilidad oficial con RockyLinux 8.x, AlmaLinux 8.x, Ububtu 22.x y Centos 7.x.

Los requisitos mínimos de hardware para esta instalación son: 1 núcleo (core), 2 gigabytes en memoria RAM y 20 gigabytes en espacio libre en disco, preferiblemente de tipo Solid State Drive (SSD).

Estos requisitos son los mínimos de instalación, para dimensionar adecuadamente el entorno de monitorización recomendamos ir a la sección de requisitos mínimos de hardware.

Requisitos para el uso de la herramienta de instalación en línea ( online )
  • Tener acceso a internet (URL necesarias). Además de estas URL es necesario tener acceso a los repositorios oficiales de la distribución utilizada (RHEL / Rocky Linux / CentOS / Ubuntu Server).
  • Tener instalado curl (viene por defecto en la mayoría de las distribuciones)
  • Cumplir con los requisitos mínimos de hardware.
  • Ser usuario administrador root.
  • Contar con un SO compatible.
  • En el caso de usar RHEL 8 será necesario que previamente esté activado con una licencia y subscrito a los repositorios estándar.

Para usar la herramienta de instalación online simplemente acceda a la línea de comandos dispuesta por su proveedor en la Nube, con usuario administrador root, y ejecute:

Para el caso de CentOS 7.x:

curl -sSL https://pfms.me/deploy-pandora | bash

Para el caso de utilizar RHEL 8.x y Rocky Linux 8.x:

curl -sSL https://pfms.me/deploy-pandora-el8 | bash

Si utiliza Ubuntu Server 22.04 para instalar la versión:

curl -SsL https://pfms.me/deploy-pandora-ubuntu | bash

Existe una herramienta similar de instalación online para la versión enterprise de Pandora FMS que puede solicitarse si ya es usuario de esta versión a través del portal de soporte o a través de este enlace obtener un trial (demo) gratuito.

Además, para la instalación de Satellite server, cuenta igualmente con un instalador en línea.

Con esta ejecución se instalará todo el conjunto (stack) necesario de Pandora FMS dejando una instancia completamente funcional para comenzar a monitorizar.

Puede obtener más información en el videotutorial «Instaladores Cloud (agentes, servidor)».

Instalación personalizada utilizando la herramienta de instalación online

Aunque la ejecución anterior hace una instalación completa del entorno, es posible definir diferentes modificadores a través de variables de entorno para personalizar la instalación.

Parámetros personalizados para RHEL 8.x y Rocky Linux 8.x
  • TZ: Define el time zone (huso horario) de la máquina, por defecto es Europe/Madrid.
  • DBHOST: El host (anfitrión) de la base de datos, por defecto DBHOST=127.0.0.1 .
  • DBNAME: El nombre de la base de datos a crear, por defecto DBNAME=pandora.
  • DBUSER: El usuario de la base de datos que se creará, por defecto DBUSER=pandora .
  • DBPASS: La contraseña (password) para el usuario que se creará, por defecto DBPASS=pandora.
  • DBPORT: Número de puerto de la base de datos a conectar, por defecto DBPORT=3306.
  • DBROOTPASS: Contraseña del usuario root de la base de datos, por defecto DBROOTPASS=pandora.
  • SKIP_PRECHECK: Saltarse el chequeo de sí ya existe una instalación previa de pandora, útil para crear una base de datos nueva y apuntar la instalación a esta; por defecto SKIP_PRECHECK=0.
  • SKIP_DATABASE_INSTALL: Saltarse la instalación de la base de datos, útil para cuando se tenga ya una base de datos instalada, bien sea local o remota y se usen las credenciales de este para crear la base de datos de Pandora FMS; por defecto SKIP_DATABASE_INSTALL=0.
  • SKIP_KERNEL_OPTIMIZATIONS: Saltarse la optimización de kernel recomendada, solo para usuarios avanzados. Por defecto SKIP_KERNEL_OPTIMIZATIONS=0.
  • MYVER: Define la versión de MySQL a instalar, si se define 80 se instalará MySQL 8. Por defecto MYVER=80 (despliega MySQL 8.0).
  • PHPVER: Define la versión de PHP a instalar, por defecto PHPVER=8 (despliega PHP 8).
  • PANDORA_SERVER_PACKAGE: Define la URL del paquete RPM del servidor de Pandora FMS que se desee instalar. Por defecto está definida la última versión disponible.
  • PANDORA_CONSOLE_PACKAGE: Define la URL del paquete RPM de la Consola web de Pandora FMS que se desee instalar. Por defecto está definida la última versión disponible.
  • PANDORA_AGENT_PACKAGE: Define la URL del paquete RPM del Agente software de Pandora FMS que se desee instalar. Por defecto está definida la última versión disponible.
  • PANDORA_BETA: Si se define a 1 se instalarán los paquetes de la última version beta disponible (solo para entornos de prueba). Por defecto PANDORA_BETA=0 (si están definidos paquetes específicos se ignora esta opción).
  • PANDORA_LTS: Instala la última versión Long Term Support (LTS), una versión de máxima estabilidad que incorpora gran corrección de fallos. Por defecto activa (PANDORA_LTS=1), si se establece a cero instala la última versión regular, Regular Rolling Release (RRR).

Para el uso de estas variables de entorno basta con definirlas antes de ejecutar el script de instalación, por ejemplo, en una instalación en RHEL 8 con variables definidas ejecute el bloque:

env TZ='Europe/Madrid' \
 DBHOST='127.0.0.1' \
 DBNAME='pandora' \
 DBUSER='pandora' \
 DBPASS='pandora' \
 DBPORT='3306' \
 DBROOTPASS='pandora' \
 MYVER=80 \
 PHPVER=8 \
 SKIP_PRECHECK=0 \
 SKIP_DATABASE_INSTALL=0 \
 SKIP_KERNEL_OPTIMIZATIONS=0 \
 PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm" \
 PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm" \
 PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" \
 PANDORA_BETA=0 \
 PANDORA_LTS=1 \
 sh -c "$(curl -fsSL https://pfms.me/deploy-pandora-el8)"
Parámetros personalizados para Ubuntu Server 22.04
  • TZ: Define el time zone (huso horario) de la máquina, por defecto es Europe/Madrid.
  • PHPVER: Define la versión de PHP a instalar. Por defecto PHPVER=8 (despliega PHP 8).
  • DBHOST: El host (anfitrión) de la base de datos, por defecto DBHOST=127.0.0.1 .
  • DBNAME: El nombre de la base de datos a crear, por defecto DBNAME=pandora.
  • DBUSER: El usuario de la base de datos que se creará, por defecto DBUSER=pandora .
  • DBPASS: La contraseña (password) para el usuario que se creará, por defecto DBPASS=pandora.
  • DBPORT: Número de puerto de la base de datos a conectar, por defecto DBPORT=3306.
  • DBROOTPASS: Contraseña del usuario root de la base de datos, por defecto DBROOTPASS=pandora.
  • SKIP_PRECHECK: Saltarse el chequeo si ya existe una instalación previa de pandora, útil para crear una base de datos nueva y apuntar la instalación a esta; por defecto SKIP_PRECHECK=0.
  • SKIP_DATABASE_INSTALL: Saltarse la instalación de la base de datos, útil para cuando se tenga ya una base de datos instalada, bien sea local o remota y se usen las credenciales de este para crear la base de datos de Pandora FMS; por defecto SKIP_DATABASE_INSTALL=0.
  • SKIP_KERNEL_OPTIMIZATIONS: Saltarse la optimizacion de kernel recomendada, solo para usuarios avanzados. Por defecto SKIP_KERNEL_OPTIMIZATIONS=0.
  • POOL_SIZE: Especifica un valor de memoria a utilizar, por defecto lo realiza de manera automática.
  • PANDORA_BETA: Si se define a 1 se instalarán los paquetes de la última version beta disponible (solo para entornos de prueba). Por defecto PANDORA_BETA=0 .
  • PANDORA_LTS: Instala la última versión Long Term Support (LTS), una versión de máxima estabilidad que incorpora gran corrección de fallos. Por defecto activa (PANDORA_LTS=1), si se establece a cero instala la última versión regular, Regular Rolling Release (RRR).

Para el uso de estas variables de entorno basta con definirlas antes de ejecutar el script de instalación, por ejemplo, en una instalación en Ubuntu Server 22.04 con variables definidas ejecute el bloque:

env TZ='Europe/Madrid' \
 DBHOST='127.0.0.1' \
 DBNAME='pandora' \
 DBUSER='pandora' \
 DBPASS='pandora' \
 DBPORT='3306' \
 DBROOTPASS='pandora' \
 PHPVER='8.0' \
 SKIP_PRECHECK=0 \
 SKIP_DATABASE_INSTALL=0 \
 SKIP_KERNEL_OPTIMIZATIONS=0 \
 PANDORA_BETA=0 \
 PANDORA_LTS=1 \
 bash -c "$(curl -SsL https://pfms.me/deploy-pandora-ubuntu)"

Instalación de Pandora FMS con una base de datos externa

Versión 765 o posterior.

Dado el caso se cuente con un poderoso servidor exclusivo para alojar la base de datos (DB) para Pandora FMS, existe otra personalización para la instalación en línea.

Primero debe tener en cuenta, a grandes rasgos, cómo debe planificar la instalación para que tanto el servidor PFMS como su Consola web (PANDORA FMS SERVER+CONSOLE) conecten a una base de datos remota (DB):

  • Conéctese al servidor que aloja el motor de la base de datos, tome nota exacta de su URL o su dirección IP (DBHOST).
  • El número de puerto (DBPORT) por defecto es 3306, tome nota si utiliza uno distinto.
  • Debe crear la base de datos, anote exactamente el nombre utilizado (se recomienda usar pandora como DBNAME).
  • Debe crear el usuario a utilizar para conectar a la base de datos (se recomienda usar pandora como DBUSER).
  • Asigne una contraseña para el usuario creado en el paso anterior (DBPASS).

Para cumplir con la Arquitectura de seguridad de Pandora FMS, utilice una contraseña distinta a la establecida por defecto.

  • Asigne todos los permisos sobre la base de datos creada al usuario creado.

Para cumplir con la Arquitectura de seguridad de Pandora FMS, establezca limitar la conexión a la dirección IP o URL del futuro servidor PFMS y para el usuario creado. Esto garantizará de que, si las contraseñas se ven comprometidas, serán inútiles si son usadas desde un dispositivo distinto al servidor PFMS a crear.

  • Ya con todo esto establecido, realice una conexión de prueba por línea de comandos desde el futuro servidor PFMS a la base de datos creada, esto garantizará que existe comunicación verificada y lista para trabajar.
  • El parámetro de instalación que permite conectar a una base de datos remota durante la instalación en línea es SKIP_DATABASE_INSTALL y su valor debe ser establecido a 1.
  • Proceda a realizar la instalación propiamente dicha con la herramienta de instalación en línea. Se muestra a continuación un ejemplo simplificado y con los valores por defecto (recuerde siempre utilizar contraseña de usuario distinta a la establecida por defecto).
env \
 DBHOST='192.168.1.107' \
 DBNAME='pandora' \
 DBUSER='pandora' \
 DBPASS='pandora' \
 DBPORT='3306' \
 SKIP_DATABASE_INSTALL=1 \
 sh -c "$(curl -fsSL https://pfms.me/deploy-pandora-el8)"

Instalación en línea del Agente Software de Pandora FMS

Para instalar solamente el Agente Software existe también una herramienta de instalación en línea por medio de comando BASH.

  • Es compatible con los sistemas operativos GNU/Linux® de base Red Hat (Fedora, Centos, etcétera) y Debian (Ubuntu Server, Devuan, Lubuntu, etcétera). Puede obtener más información en el vídeo tutorial «Desplegar agentes de Pandora FMS en entornos Cloud».
  • Disponible en MS Windows® por medio de la tecnología Powershell®.
Para GNU/Linux

Requisitos para el uso de la herramienta de instalación en línea (online):

  • Tener acceso a internet.
  • Tener instalado curl (viene por defecto en la mayoría de las instalaciones).
  • Ser usuario administrador root.
  • Contar con un SO compatible.

El script soporta una serie de variables de entorno para personalizar la instalación. Solamente una de ellas es obligatoria: $PANDORA_SERVER_IP , por lo que para realizar una instalación estándar en una sola línea basta con ejecutar:

export PANDORA_SERVER_IP=<PandoraServer IP or FQDN> && curl -Ls https://pfms.me/agent-deploy | bash

Estas variables de entorno se utilizan solo en el proceso de instalación, pueden ser destruidas o cambiadas después de la instalación sin alterar el comportamiento del agente software de Pandora FMS.

Opcionalmente es posible utilizar otras variables env para personalizar la instalación:

  • $PANDORA_REMOTE_CONFIG: Configurar la configuración remota en la versión Enterprise. Cero ( 0 ) por defecto, desactivado.
  • $PANDORA_AGENT_NAME: Configura el nombre del agente. Autogenerado por defecto.
  • $PANDORA_AGENT_ALIAS: Configura el alias del Agente Software. Por defecto el nombre de host.
  • $PANDORA_GROUP: Configura el grupo del Agente Software. Por defecto Servers.
  • $PANDORA_SECONDARY_GROUPS: Configura los grupos secundarios del Agente Software. Vacío por defecto
  • $PANDORA_DEBUG: Configurar el ajuste de depuración. Cero ( 0 ) por defecto, desactivado.
  • $TIMEZONE : Configura la zona horaria del sistema.
  • $PANDORA_AGENT_SSL: Permite configurar las comunicaciones cifradas entre el Agente Software y el servidor PFMS correspondiente. Por defecto no habilitado (no), para habilitarlo utilice yes (esto también instalará las dependencias de software para cifrar dichas comunicaciones). Utilice comillas simples para delimitar el valor, observe el siguiente ejemplo:
env \
 PANDORA_SERVER_IP='192.168.10.245' \
 PANDORA_REMOTE_CONFIG=1 \
 PANDORA_AGENT_NAME='pandora_agent_name' \
 PANDORA_AGENT_ALIAS='pandora_AGENT_ALIAS' \
 PANDORA_GROUP='Servers' \
 PANDORA_SECONDARY_GROUPS='VMware,Web' \
 PANDORA_AGENT_SSL='yes' \
 curl -Ls https://pfms.me/agent-deploy | bash

Tenga en cuenta que para cifrar las comunicaciones por medio del protocolo Tentacle entre los agentes software y sus respectivos servidores PFMS será necesario contar previamente con certificados y claves SSL. Visite la sección “Cifrado de la comunicación” en la referencia técnica del protocolo Tentacle.

Para MS Windows

Requisitos para el uso de la herramienta de instalación en línea (online):

  • Tener acceso a internet.
  • Tener instalado powershell.

Ejecutar los comandos siguientes en una ventana terminal con Powershell y con permisos de administrador (administrator):

Invoke-WebRequest -Uri https://firefly.pandorafms.com/pandorafms/latest/Windows/Pandora%20FMS%20Windows%20Agent%20v7.0NG.x86_64.exe -OutFile ${env:tmp}\pandora-agent-windows.exe; & ${env:tmp}\pandora-agent-windows.exe /S --ip [PANDORASERVER IP or NAME] --group [GROUPNAME] --remote_config 1

Luego:

NET START PandoraFMSAgent

Instalación por paquetes

Esta sección es referencial ya que se ahorra tiempo y esfuerzo al utilizar la herramienta de instalación en línea. Se recomienda encarecidamente usar esa opción para instalar el servidor PFMS.

Instrucciones para:

  • CentOS 7.
  • Rocky Linux 8.
  • Ubuntu Server 22.04 .

Configuración de repositorios

Configuración de repositorios en Rocky Linux 8

Para configurarlo será necesario ejecutar los siguientes comandos:

dnf install -y \
 epel-release \
 tar \
 dnf-utils \
 http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php
dnf module install -y php:remi-8.0
yum config-manager --set-enabled powertools

(Nota: utilizar PowerTools o powertools según sea el caso.)

Configuración de repositorios en CentOS 7

Configure yum y los repositorios necesarios, debe ejecutar los siguientes comandos:

yum install -y \
 tar \
 yum-utils \
 https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
 http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73
Actualización de repositorios en Ubuntu Server 22.04

Ejecute como usuario root o por medio del comando sudo:

add-apt-repository ppa:ondrej/php -y
apt update
apt install -y gawk sed grep

Instalación de base de datos

Instalación de base de datos en Rocky Linux 8

Será necesario también instalar una base de datos Percona ejecutando los comandos:

dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
dnf module disable -y mysql
rm -rf /etc/my.cnf
percona-release setup ps80 -y
dnf install -y percona-server-server percona-xtrabackup-80
Instalación de base de datos en CentOS 7

Será necesario también instalar una base de datos Percona ejecutando los comandos:

yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
rm -rf /etc/my.cnf
percona-release setup ps80 -y
yum install -y percona-server-server percona-xtrabackup-80
Instalación de base de datos en Ubuntu Server 22.04

Configuración de variables de instalación y entorno:

export DEBIAN_FRONTEND=noninteractive
export NEEDRESTART_SUSPEND=1

PANDORA_CONSOLE=/var/www/html/pandora_console
PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
WORKDIR=/opt/pandora/deploy

export TZ="Europe/Madrid"
export PHPVER=8.0
export DBHOST=127.0.0.1
export DBNAME=pandora
export DBUSER=pandora
export DBPASS=pandora
export DBPORT=3306
export DBROOTPASS=pandora
export POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")

Instale MySQL server:

debconf-set-selections <<<$(echo -n "mysql-server mysql-server/root_password password $DBROOTPASS")
debconf-set-selections <<<$(echo -n "mysql-server mysql-server/root_password_again password $DBROOTPASS")
DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server

Instalación de dependencias

Instalación de dependencias en Rocky Linux 8

Dependencias de la Consola

Con dnf y Percona ya instalados podrá empezar a instalar todas las dependencias necesarias para la Consola ejecutando el siguiente bloque de comandos:

dnf install -y \
 php \
 php-common \
 postfix \
 php-pecl-mcrypt \
 php-cli \
 php-gd \
 php-mysqlnd \
 php-ldap \
 php-zip \
 php-zlib \
 php-snmp \
 php-mbstring \
 php-pecl-zip \
 php-xmlrpc \
 libxslt \
 wget \
 php-xml \
 httpd \
 atk \
 avahi-libs \
 cairo \
 cups-libs \
 fribidi \
 gd \
 gdk-pixbuf2 \
 ghostscript \
 graphite2 \
 graphviz \
 gtk2 \
 harfbuzz \
 hicolor-icon-theme \
 hwdata \
 jasper-libs \
 lcms2 \
 libICE \
 libSM \
 libXaw \
 libXcomposite \
 libXcursor \
 libXdamage \
 libXext \
 libXfixes \
 libXft \
 libXi \
 libXinerama \
 libXmu \
 libXrandr \
 libXrender \
 libXt \
 libXxf86vm \
 libcroco \
 libdrm \
 libfontenc \
 libglvnd \
 libglvnd-egl \
 libglvnd-glx \
 libpciaccess \
 librsvg2 \
 libthai \
 libtool-ltdl \
 libwayland-client \
 libwayland-server \
 libxshmfence \
 mesa-libEGL \
 mesa-libGL \
 mesa-libgbm \
 mesa-libglapi \
 pango \
 pixman \
 xorg-x11-fonts-75dpi \
 xorg-x11-fonts-misc \
 poppler-data \
 php-pecl-yaml \
 openldap-clients \
 libzstd \
 chromium
  • Para NG 767 y versiones anteriores. Phantomjs es un componente especial que se utiliza para poder generar gráficas dinámicamente en PDF. Instale mediante el comando:
dnf install -y http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm

Dependencias del servidor

Con las dependencias de la consola ya instaladas es momento de instalar las dependencias del servidor:

dnf install -y \
 vim \
 fping \
 perl-IO-Compress \
 nmap \
 expect \
 sudo \
 perl-Time-HiRes \
 perl-Math-Complex \
 libnsl \
 net-snmp-utils \
 GeoIP \
 GeoIP-GeoLite-data \
 dwz \
 efi-srpm-macros \
 ghc-srpm-macros \
 go-srpm-macros \
 ocaml-srpm-macros \
 openblas-srpm-macros \
 perl \
 perl-Algorithm-Diff \
 perl-Archive-Tar \
 perl-Archive-Zip \
 perl-Attribute-Handlers \
 perl-B-Debug \
 perl-CPAN \
 perl-CPAN-Meta \
 perl-CPAN-Meta-Requirements \
 perl-CPAN-Meta-YAML \
 perl-Compress-Bzip2 \
 perl-Config-Perl-V \
 perl-DBD-MySQL \
 perl-DBI \
 perl-DB_File \
 perl-Data-Dump \
 perl-Data-OptList \
 perl-Data-Section \
 perl-Devel-PPPort \
 perl-Devel-Peek \
 perl-Devel-SelfStubber \
 perl-Devel-Size \
 perl-Digest-HMAC \
 perl-Digest-SHA \
 perl-Encode-Locale \
 perl-Encode-devel \
 perl-Env \
 perl-ExtUtils-CBuilder \
 perl-ExtUtils-Command \
 perl-ExtUtils-Embed \
 perl-ExtUtils-Install \
 perl-ExtUtils-MM-Utils \
 perl-ExtUtils-MakeMaker \
 perl-ExtUtils-Manifest \
 perl-ExtUtils-Miniperl \
 perl-ExtUtils-ParseXS \
 perl-File-Fetch \
 perl-File-HomeDir \
 perl-File-Listing \
 perl-File-Which \
 perl-Filter \
 perl-Filter-Simple \
 perl-Geo-IP \
 perl-HTML-Parser \
 perl-HTML-Tagset \
 perl-HTML-Tree \
 perl-HTTP-Cookies \
 perl-HTTP-Date \
 perl-HTTP-Message \
 perl-HTTP-Negotiate \
 perl-IO-HTML \
 perl-IO-Socket-INET6 \
 perl-IO-Zlib \
 perl-IO-stringy \
 perl-IPC-Cmd \
 perl-IPC-SysV \
 perl-IPC-System-Simple \
 perl-JSON \
 perl-JSON-PP \
 perl-LWP-MediaTypes \
 perl-Locale-Codes \
 perl-Locale-Maketext \
 perl-Locale-Maketext-Simple \
 perl-MRO-Compat \
 perl-Math-BigInt \
 perl-Math-BigInt-FastCalc \
 perl-Math-BigRat \
 perl-Memoize \
 perl-Module-Build \
 perl-Module-CoreList \
 perl-Module-CoreList-tools \
 perl-Module-Load \
 perl-Module-Load-Conditional \
 perl-Module-Loaded \
 perl-Module-Metadata \
 perl-NTLM \
 perl-Net-HTTP \
 perl-Net-Ping \
 perl-NetAddr-IP \
 perl-Package-Generator \
 perl-Params-Check \
 perl-Params-Util \
 perl-Perl-OSType \
 perl-PerlIO-via-QuotedPrint \
 perl-Pod-Checker \
 perl-Pod-Html \
 perl-Pod-Parser \
 perl-SelfLoader \
 perl-Socket6 \
 perl-Software-License \
 perl-Sub-Exporter \
 perl-Sub-Install \
 perl-Sys-Syslog \
 perl-Test \
 perl-Test-Harness \
 perl-Test-Simple \
 perl-Text-Balanced \
 perl-Text-Diff \
 perl-Text-Glob \
 perl-Text-Template \
 perl-Thread-Queue \
 perl-Time-Piece \
 perl-TimeDate \
 perl-Try-Tiny \
 perl-Unicode-Collate \
 perl-WWW-RobotRules \
 perl-XML-NamespaceSupport \
 perl-XML-Parser \
 perl-XML-SAX \
 perl-XML-SAX-Base \
 perl-XML-Simple \
 perl-XML-Twig \
 perl-autodie \
 perl-bignum \
 perl-devel \
 perl-encoding \
 perl-experimental \
 perl-inc-latest \
 perl-libnetcfg \
 perl-libwww-perl \
 perl-local-lib \
 perl-open \
 perl-perlfaq \
 perl-srpm-macros \
 perl-utils \
 perl-version \
 python-srpm-macros \
 python3-pyparsing \
 python3-rpm-macros \
 qt5-srpm-macros \
 redhat-rpm-config \
 rust-srpm-macros \
 systemtap-sdt-devel \
 perl-TermReadKey \
 perl \
 perl-DBD-MySQL \
 perl-DBI

Las siguientes dependencias adicionales de diferentes componentes será necesario instalarlas también desde el repositorio público de Pandora FMS:

  • Para NG 761 y versiones anteriores:
dnf install -y https://firefly.artica.es/centos8/wmi-1.3.14-4.el7.art.x86_64.rpm
dnf install -y https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm
  • Además:
dnf install -y https://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm
dnf install -y https://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm

Aunque se observe en el enlace de la instalación de xprobe que el paquete se encuentra en el repositorio de CentOS 7, funciona correctamente en ambas versiones.

Tras realizar los pasos anteriores, deshabilite SELinux y el cortafuego:

setenforce 0
sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld --now

Si usted decide hacer uso de Security-Enhanced Linux (SELinux) con Pandora FMS debe seguir estas instrucciones.

En caso de ser necesario deberá añadir todas las dependencias de Discovery para cada sección.

Llegados a este punto puede continuar con la configuración del sistema operativo y base de datos siguiendo este enlace

Instalación de dependencias en CentOS 7

Dependencias de la consola

Una vez con los repositorios y Percona instalados podrá comenzar a instalar todas las dependencias necesarias para la Consola ejecutando el siguiente bloque de comandos:

yum install -y \
 php \
 postfix \
 php-mcrypt \
 php-cli \
 php-gd \
 php-curl \
 php-session \
 php-mysqlnd \
 php-ldap \
 php-zip \
 php-zlib \
 php-fileinfo \
 php-gettext \
 php-snmp \
 php-mbstring \
 php-pecl-zip \
 php-xmlrpc \
 libxslt \
 wget \
 php-xml \
 httpd \
 mod_php \
 atk \
 avahi-libs \
 cairo \
 cups-libs \
 fribidi \
 gd \
 gdk-pixbuf2 \
 ghostscript \
 graphite2 \
 graphviz \
 gtk2 \
 harfbuzz \
 hicolor-icon-theme \
 hwdata \
 jasper-libs \
 lcms2 \
 libICE \
 libSM \
 libXaw \
 libXcomposite \
 libXcursor \
 libXdamage \
 libXext \
 libXfixes \
 libXft \
 libXi \
 libXinerama \
 libXmu \
 libXrandr \
 libXrender \
 libXt \
 libXxf86vm \
 libcroco \
 libdrm \
 libfontenc \
 libglvnd \
 libglvnd-egl \
 libglvnd-glx \
 libpciaccess \
 librsvg2 \
 libthai \
 libtool-ltdl \
 libwayland-client \
 libwayland-server \
 libxshmfence \
 mesa-libEGL \
 mesa-libGL \
 mesa-libgbm \
 mesa-libglapi \
 pango \
 pixman \
 xorg-x11-fonts-75dpi \
 xorg-x11-fonts-misc \
 poppler-data \
 php-yaml \
 openldap-clients \
 libzstd \
 chromium
  • Para NG 767 y versiones anteriores. Phantomjs es un compente especial que se utiliza para poder generar gráficas dinámicamente en PDF. Instale desde servidores de Pandora FMS mediante el comando:
yum install -y https://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm

Aunque se observe en el enlace de la instalación de phantomjs que el paquete se encuentra en el repositorio de CentOS 8, funciona correctamente en ambas versiones.

Dependencias del servidor

Para instalar todas las dependencias necesarias para el servidor ejecute el siguiente bloque de comandos:

yum install -y \
 vim \
 fping \
 perl-IO-Compress \
 nmap \
 sudo \
 perl-Time-HiRes \
 nfdump \
 net-snmp-utils \
 epel-release \
 GeoIP \
 groff-base \
 initscripts \
 iproute \
 iptables \
 libmnl \
 libnetfilter_conntrack \
 libnfnetlink \
 libpcap \
 lm_sensors-libs \
 mailcap \
 make \
 mariadb-libs \
 net-snmp \
 net-snmp-agent-libs \
 net-snmp-libs \
 net-tools \
 nmap \
 nmap-ncat \
 openssl \
 perl \
 perl-Business-ISBN \
 perl-Business-ISBN-Data \
 perl-Carp \
 perl-Compress-Raw-Bzip2 \
 perl-Compress-Raw-Zlib \
 perl-DBD-MySQL \
 perl-DBI \
 perl-Data-Dumper \
 perl-Digest \
 perl-Digest-MD5 \
 perl-Encode \
 perl-Encode-Locale \
 perl-Exporter \
 perl-File-Listing \
 perl-File-Path \
 perl-File-Temp \
 perl-Filter \
 perl-Font-AFM \
 perl-Geo-IP \
 perl-Getopt-Long \
 perl-HTML-Format \
 perl-HTML-Parser \
 perl-HTML-Tagset \
 perl-HTML-Tree \
 perl-HTTP-Cookies \
 perl-HTTP-Daemon \
 perl-HTTP-Date \
 perl-HTTP-Message \
 perl-HTTP-Negotiate \
 perl-HTTP-Tiny \
 perl-IO-Compress \
 perl-IO-HTML \
 perl-IO-Socket-INET6 \
 perl-IO-Socket-IP \
 perl-IO-Socket-SSL \
 perl-IO-stringy \
 perl-JSON \
 perl-LWP-MediaTypes \
 perl-Mozilla-CA \
 perl-Net-Daemon \
 perl-Net-HTTP \
 perl-Net-LibIDN \
 perl-Net-SSLeay \
 perl-Net-Telnet \
 perl-NetAddr-IP \
 perl-PathTools \
 perl-PlRPC \
 perl-Pod-Escapes \
 perl-Pod-Perldoc \
 perl-Pod-Simple \
 perl-Pod-Usage \
 perl-Scalar-List-Utils \
 perl-Socket \
 perl-Socket6 \
 perl-Storable \
 perl-Sys-Syslog \
 perl-Text-ParseWords \
 perl-Time-HiRes \
 perl-Time-Local \
 perl-TimeDate \
 perl-URI \
 perl-WWW-RobotRules \
 perl-XML-NamespaceSupport \
 perl-XML-Parser \
 perl-XML-SAX \
 perl-XML-SAX-Base \
 perl-XML-Simple \
 perl-XML-Twig \
 perl-constant \
 perl-libs \
 perl-libwww-perl \
 perl-macros \
 perl-parent \
 perl-podlators \
 perl-threads \
 perl-threads-shared \
 sudo \
 systemd-sysv \
 sysvinit-tools \
 tcp_wrappers-libs \
 cpanminus

A partir de la versión 768 PFMS es necesario contar con la versión 2.13 o superior de Thread::Semaphore para el correcto funcionamiento del servidor, se recomienda usar el gestor de paquetes cpanm para instalar una versión más reciente y compatible:

cpanm -i Thread::Semaphore

Las siguientes dependencias adicionales de diferentes componentes será necesario instalarlas también, desde nuestro repositorio público:

  • Para NG 761 y versiones anteriores:
yum install -y https://firefly.pandorafms.com/centos7/wmi-1.3.14-4.el7.art.x86_64.rpm
yum install -y https://firefly.artica.es/centos7/pandorawmic-1.0.0-1.x86_64.rpm
  • Y, además:
yum install -y https://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm

Tras realizar los pasos anteriores, deshabilite SELinux y el cortafuego:

setenforce 0
sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld --now

Si usted decide hacer uso de Security-Enhanced Linux (SELinux) con Pandora FMS debe seguir estas instrucciones.

Instalación de dependencias en Ubuntu Server 22.04

Dependencias de la consola

Una vez con los repositorios y MySQL instalados podrá comenzar a instalar todas las dependencias necesarias para la Consola ejecutando el siguiente bloque de comandos:

console_dependencies=" \
    bzip2 \
    ldap-utils \
    postfix \
    wget \
    graphviz  \
    xfonts-75dpi \
    xfonts-100dpi \
    xfonts-ayu \
    xfonts-intl-arabic \
    xfonts-intl-asian \
    xfonts-intl-phonetic \
    xfonts-intl-japanese-big \
    xfonts-intl-european \
    xfonts-intl-chinese \
    xfonts-intl-japanese \
    xfonts-intl-chinese-big \
    libzstd1 \
    gir1.2-atk-1.0 \
    libavahi-common-data \
    cairo-perf-utils \
    libfribidi-bin \
    php$PHPVER-mcrypt \
    php$PHPVER-gd  \
    php$PHPVER-curl \
    php$PHPVER-mysql \
    php$PHPVER-ldap \
    php$PHPVER-fileinfo \
    php$PHPVER-gettext \
    php$PHPVER-snmp  \
    php$PHPVER-mbstring \
    php$PHPVER-zip  \
    php$PHPVER-xmlrpc \
    php$PHPVER-xml \
    php$PHPVER-yaml \
    libnet-telnet-perl \
    chromium-browser \
    snmp-mib-downloader "
apt install -y $console_dependencies
  • Para NG 767 y versiones anteriores. Phantomjs es un componente especial que se utiliza para poder generar gráficas dinámicamente en PDF. Instale mediante el comando:
mkdir -p $WORKDIR
cd $WORKDIR

export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64"
wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
tar xvjf $PHANTOM_JS.tar.bz2
mv $PHANTOM_JS/bin/phantomjs /usr/bin

Dependencias del servidor

Para instalar todas las dependencias necesarias para el servidor ejecute el siguiente bloque de comandos:

server_dependencies=" \
    make \
    perl  \
    nmap  \
    fping \
    sudo \
    net-tools \
    nfdump \
    expect \
    openssh-client \
    postfix \
    unzip \
    xprobe \
    coreutils \
    libio-compress-perl \
    libmoosex-role-timer-perl \
    libdbd-mysql-perl \
    libcrypt-mysql-perl \
    libhttp-request-ascgi-perl \
    liblwp-useragent-chicaching-perl \
    liblwp-protocol-https-perl \
    snmp \
    libnetaddr-ip-perl \
    libio-socket-ssl-perl \
    libio-socket-socks-perl \
    libio-socket-ip-perl \
    libio-socket-inet6-perl \
    libnet-telnet-perl \
    libjson-perl \
    libencode-perl \
    libgeo-ip-perl \
    openjdk-8-jdk \
    arping "
apt install -y $server_dependencies

Las siguientes dependencias adicionales de diferentes componentes será necesario instalarlas también, desde nuestro repositorio público:

wget 'https://firefly.artica.es/pandorafms/utils/bin/wmic'
wget 'https://firefly.artica.es/pandorafms/utils/bin/pandorawmic'
chmod +x pandorawmic wmic
cp -a wmic /usr/bin/
cp -a pandorawmic /usr/bin/

Utilidades básicas:

apt install -y net-tools vim vim curl wget

Apache 2 y PHP-FPM:

apt update
apt install -y software-properties-common apt-transport-https
apt update
apt install -y php$PHPVER-fpm php$PHPVER-common libapache2-mod-fcgid php$PHPVER-cli apache2
a2enmod proxy_fcgi setenvif && a2enconf php$PHPVER-fpm
systemctl restart apache2

Utilidades IPAM:

ipam_dependencies=" \
    xprobe \
    libnetaddr-ip-perl \
    coreutils \
    libdbd-mysql-perl \
    libxml-simple-perl \
    libgeo-ip-perl \
    libio-socket-inet6-perl \
    libxml-twig-perl \
    libnetaddr-ip-perl"
apt install -y $ipam_dependencies

Utilidades SNMP:

cat> /etc/snmp/snmptrapd.conf <<EOF
authCommunity log public
disableAuthorization yes
EOF

Optimización para Pandora FMS:

cat>> /etc/sysctl.conf <<EO_KO
# Pandora FMS Optimization

# default=5
net.ipv4.tcp_syn_retries = 3

# default=5
net.ipv4.tcp_synack_retries = 3

# default=1024
net.ipv4.tcp_max_syn_backlog = 65536

# default=124928
net.core.wmem_max = 8388608

# default=131071
net.core.rmem_max = 8388608

# default = 128
net.core.somaxconn = 1024

# default = 20480
net.core.optmem_max = 81920
EO_KO

sysctl --system

Por último desactive AppArmor y UFW:

# Disabling apparmor and ufw
systemctl stop ufw.service
systemctl disable ufw
systemctl stop apparmor
systemctl disable apparmor

Ajustes del SO y creación de base de datos

Ajustes del SO y creación de base de datos en CentOS 7 y Rocky Linux 8

A partir de este punto la instalación para CentOS 7 y RHEL / Rocky Linux 8 es común para ambos sistemas, si hay algún paso que no sea común se indicará en negrita el sistema operativo para el que es válido.

Para configurar Pandora FMS por paquetes será necesario definir primero las siguientes variables y que utilizaremos en los siguientes pasos:

PANDORA_CONSOLE=/var/www/html/pandora_console
CONSOLE_PATH=/var/www/html/pandora_console
PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_SERVER_BIN=/usr/bin/pandora_server
PANDORA_HA_BIN=/usr/bin/pandora_ha
PANDORA_TABLES_MIN=160
DBHOST=127.0.0.1
DBNAME=pandora
DBUSER=pandora
DBPASS=pandora
DBPORT=3306

A continuación puede comenzar a configurar la base de datos:

systemctl start mysqld
mysql -uroot -p$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
echo """
SET PASSWORD FOR 'root'@'localhost' = 'Pandor4!';
UNINSTALL COMPONENT 'file://component_validate_password';
SET PASSWORD FOR 'root'@'localhost' = '$DBROOTPASS';
""" | mysql --connect-expired-password -uroot -p$MYSQL_PWD

echo "create database $DBNAME" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST

echo "CREATE USER  \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST

echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST

Genere también el fichero my.cnf:

POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{print $(NF-1)*0.4/1024}' | sed s/\\..*$/M/g)
cat> /etc/my.cnf <<EO_CONFIG_F
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
skip-character-set-client-handshake
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Mysql optimizations for Pandora FMS
# Please check the documentation in http://pandorafms.com for better results
max_allowed_packet = 64M
innodb_buffer_pool_size = $POOL_SIZE
innodb_lock_wait_timeout = 90
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_io_capacity = 100
thread_cache_size = 8
thread_stack    = 256K
max_connections = 100
wait_timeout = 900
key_buffer_size=4M
read_buffer_size=128K
read_rnd_buffer_size=128K
sort_buffer_size=128K
join_buffer_size=4M
sql_mode=""
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EO_CONFIG_F

Para MySQL versión 8, y versiones posteriores, el equipo de desarrollo de MySQL ha retirado el soporte para query cache, si desea obtener más información puede visitar el siguiente enlace web (en inglés):

https://dev.mysql.com/blog-archive/mysql-8-0-retiring-support-for-the-query-cache/

Una vez guardados los cambios, será necesario reiniciar el servicio mysqld.

systemctl restart mysqld

Habilite los servicios mysql y apache :

systemctl enable mysqld --now
systemctl enable httpd --now

Si utiliza RHEL / Rocky Linux 8 ejecute, además:

systemctl enable php-fpm --now
Ajustes del SO y creación de base de datos en Ubuntu Server 22.04

Para configurar Pandora FMS por paquetes será necesario definir primero las siguientes variables y que utilizaremos en los siguientes pasos:

POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")

cat> /etc/mysql/my.cnf <<EOF_DB
[mysqld]
datadir=/var/lib/mysql
user=mysql
character-set-server=utf8
skip-character-set-client-handshake
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Mysql optimizations for Pandora FMS
# Please check the documentation in http://pandorafms.com for better results

max_allowed_packet = 64M
innodb_buffer_pool_size = $POOL_SIZE
innodb_lock_wait_timeout = 90
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_io_capacity = 100
thread_cache_size = 8
thread_stack    = 256K
max_connections = 100

key_buffer_size=4M
read_buffer_size=128K

read_rnd_buffer_size=128K
sort_buffer_size=128K
join_buffer_size=4M

sql_mode=""

log-error=/var/log/mysql/error.log
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

EOF_DB

A continuación puede comenzar a configurar la base de datos:

systemctl restart mysql

export MYSQL_PWD=$DBROOTPASS
echo "CREATE USER  \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -uroot -P$DBPORT -h$DBHOST
echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -uroot -P$DBPORT -h$DBHOST
echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -uroot -P$DBPORT -h$DBHOST

export MYSQL_PWD=$DBPASS

Una vez guardados los cambios, será necesario reiniciar el servicio mysql.

systemctl restart mysql

Instalación de Consola y servidor de Pandora FMS

Instalación de Consola y servidor de Pandora FMS en CentOS 7 y Rocky Linux 8

Con todo el entorno preparado, es momento de instalar Pandora FMS. Lo primero será crear un directorio para almacenar todos los datos.

mkdir $HOME/pandora && cd $HOME/pandora

Será necesario descargar los paquetes de la Consola y Servidor desde Sourceforge (open) o los enlaces que provea el equipo de soporte o comercial (Enterprise).

En el caso de la versión open:

wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm
wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm
wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm

Con los paquetes ya preparados, puede comenzar la instalación. En el caso de la Consola Enterprise debe contar con dos paquetes adicionales más: el paquete el paquete de Consola Enterprise y el del servidor Enterprise (que es un fichero tarball que se instala al margen de los paquetes RPM).

Instalación de los paquetes (después de descargarlos):

yum install -y $HOME/pandora/pandorafms*.rpm

Para la instalación del tarball Enterprise será necesario ejecutar el siguiente comando:

tar xvfz $HOME/pandora/pandorafms_server* && cd pandora_server && ./pandora_server_installer --install --ha; cd -

Una vez instalados los paquetes, proceda a poblar la base de datos:

mysql -u$DBUSER -p$DBPASS -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb.sql
mysql -u$DBUSER -p$DBPASS -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb_data.sql

Después deberá configurar la Consola:

cat> $CONSOLE_PATH/include/config.php <<EO_CONFIG_F
<?php
\$config["dbtype"] = "mysql";
\$config["dbname"]="$DBNAME";
\$config["dbuser"]="$DBUSER";
\$config["dbpass"]="$DBPASS";
\$config["dbhost"]="$DBHOST";
\$config["homedir"]="/var/www/html/pandora_console";
\$config["homeurl"]="/pandora_console";
error_reporting(0);
\$ownDir = dirname(__FILE__) . '/';
include (\$ownDir . "config_process.php");
EO_CONFIG_F
cat> /etc/httpd/conf.d/pandora.conf <<EO_CONFIG_F
<Directory "/var/www/html">
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
EO_CONFIG_F
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/images/.htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/attachment/.htaccess
chmod 600 $CONSOLE_PATH/include/config.php
chown apache. $CONSOLE_PATH/include/config.php
mv $CONSOLE_PATH/install.php $CONSOLE_PATH/install.done

Prepare a continuación el fichero php.ini:

sed -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini
sed -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini
sed -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini
sed -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini
cat> /var/www/html/index.html <<EOF_INDEX
<meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/">
EOF_INDEX

Instale la utilidad gotty:

wget 'https://pandorafms.com/library/wp-content/uploads/2019/11/gotty_linux_amd64.tar.gz'
tar xvzf gotty_linux_amd64.tar.gz
mv gotty /usr/bin/

Si utiliza RHEL / Rocky Linux 8 debe ejecutar, además:

systemctl restart php-fpm
systemctl restart httpd

Se preparará el fichero de configuración del servidor:

sed -i -e "s/^dbhost.*/dbhost $DBHOST/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbname.*/dbname $DBNAME/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbuser.*/dbuser $DBUSER/g" $PANDORA_SERVER_CONF
sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF

En la versión Enterprise habilite también el servicio ha (HA):

systemctl enable pandora_ha --now
service tentacle_serverd start

En la versión Community, al no existir el servicio pandora_ha, será necesario ejecutar los siguientes comandos para habilitar el servidor:

systemctl enable pandora_server --now
systemctl start pandora_server
service tentacle_serverd start

Habilite el cron de la consola:

echo "* * * * * root wget -q -O - --no-check-certificate http://127.0.0.1/pandora_console/enterprise/cron.php>> /var/www/html/pandora_console/log/cron.log">> /etc/crontab

Configure logrotate:

cat> /etc/logrotate.d/pandora_server <<EO_LR
/var/log/pandora/pandora_server.log
/var/log/pandora/web_socket.log
/var/log/pandora/pandora_server.error {
        su root apache
        weekly
        missingok
        size 300000
        rotate 3
        maxage 90
        compress
        notifempty
        copytruncate
        create 660 pandora apache
}

/var/log/pandora/pandora_snmptrap.log {
        su root apache
        weekly
        missingok
        size 500000
        rotate 1
        maxage 30
        notifempty
        copytruncate
        create 660 pandora apache
}

EO_LR
chmod 0644 /etc/logrotate.d/pandora_server

Vaya a la dirección IP del servidor CentOS, debería poder acceder a la consola de Pandora FMS y ver el servicio corriendo correctamente:

Con estos pasos tendremos una instalación de Pandora FMS básica. En caso de ser necesario deberá añadir todas las dependencias de Discovery para cada sección.

Se recomienda la instalación del agente para la auto monitorización del servidor.

Si está utilizando EL8 (Enterprise Linux 8), aparte de habilitar la opción en la configuración general, debe modificar el fichero

/etc/php-fpm.d/www.conf

y comentar con un punto y coma el siguiente parámetro:

;php_admin_value[error_log] = /var/log/php-fpm/www-error.log
Instalación de Consola y servidor de Pandora FMS en Ubuntu Server 22.04

Con todo el entorno preparado, es momento de instalar Pandora FMS. Lo primero será entrar al directorio para almacenar todos los datos.

cd $WORKDIR

Será necesario descargar los paquetes de la Consola y Servidor desde nuestros repositorios o los enlaces que provea el equipo de soporte comercial (Enterprise).

En el caso de la versión open:

PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz"
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz"
curl -LSs --output pandorafms_console-7.0NG.tar.gz ${PANDORA_CONSOLE_PACKAGE}
curl -LSs --output pandorafms_server-7.0NG.tar.gz ${PANDORA_SERVER_PACKAGE}

Instalación de los paquetes (después de descargarlos):

tar xvzf pandorafms_console-7.0NG.tar.gz
cp -Ra pandora_console /var/www/html/
rm -f $PANDORA_CONSOLE/*.spec

useradd pandora
tar xvzf pandorafms_server-7.0NG.tar.gz
cd pandora_server
./pandora_server_installer --install
cd $WORKDIR

Una vez instalados los paquetes, proceda a crear y poblar la base de datos:

echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST
mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb.sql
mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb_data.sql

Después deberá configurar la Consola:

cat> $PANDORA_CONSOLE/include/config.php <<EO_CONFIG_F
<?php
\$config["dbtype"] = "mysql";
\$config["dbname"]="$DBNAME";
\$config["dbuser"]="$DBUSER";
\$config["dbpass"]="$DBPASS";
\$config["dbhost"]="$DBHOST";
\$config["homedir"]="$PANDORA_CONSOLE";
\$config["homeurl"]="/pandora_console";
error_reporting(0);
\$ownDir = dirname(__FILE__) . '/';
include (\$ownDir . "config_process.php");
EO_CONFIG_F
cat> /etc/apache2/conf-enabled/pandora_security.conf <<EO_CONFIG_F
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
EO_CONFIG_F
cat>> /etc/apache2/mods-enabled/00-proxy.conf <<'EO_HTTPD_WSTUNNEL'
ProxyRequests Off
<Proxy *>
    Require all granted
</Proxy>

ProxyPass /ws ws://127.0.0.1:8080
ProxyPassReverse /ws ws://127.0.0.1:8080
EO_HTTPD_WSTUNNEL

cat> /etc/apache2/conf-available/ssl-params.conf <<EOF_PARAM
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    SSLHonorCipherOrder On

    Header always set X-Frame-Options DENY

    Header always set X-Content-Type-Options nosniff

    # Requires Apache>= 2.4

    SSLCompression off

    SSLUseStapling on

    SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

    # Requires Apache>= 2.4.11

    SSLSessionTickets Off
EOF_PARAM

a2enmod ssl
a2enmod headers
a2enconf ssl-params
a2ensite default-ssl
a2enconf ssl-params
apache2ctl configtest

systemctl restart apache2

systemctl enable apache2
systemctl enable php$PHPVER-fpm
chmod 600 $PANDORA_CONSOLE/include/config.php
chown www-data. $PANDORA_CONSOLE/include/config.php
chown -R www-data. $PANDORA_CONSOLE
mv $PANDORA_CONSOLE/install.php $PANDORA_CONSOLE/install.done

Prepare a continuación el fichero php.ini:

ln -s /etc/php/$PHPVER/fpm/php.ini /etc/
sed --follow-symlinks -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini
sed --follow-symlinks -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini
sed --follow-symlinks -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini
sed --follow-symlinks -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini
sed --follow-symlinks -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini
sed --follow-symlinks -i -e "s/^disable_functions/;disable_functions/" /etc/php.ini

systemctl restart php$PHPVER-fpm
cat> /var/www/html/index.html <<EOF_INDEX
<meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/">
EOF_INDEX

Instale la utilidad gotty:

wget 'https://pandorafms.com/library/wp-content/uploads/2019/11/gotty_linux_amd64.tar.gz'
tar xvzf gotty_linux_amd64.tar.gz
mv gotty /usr/bin/

Se preparará el fichero de configuración del servidor:

sed -i -e "s/^dbhost.*/dbhost $DBHOST/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbname.*/dbname $DBNAME/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbuser.*/dbuser $DBUSER/g" $PANDORA_SERVER_CONF
sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF
sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF
# Adding group www-data to pandora server conf.
grep -q "group www-data" $PANDORA_SERVER_CONF || \
cat>> $PANDORA_SERVER_CONF <<EOF_G

#Adding group www-data to assing remote-config permission correctly
group www-data
EOF_G

Serán necesario ejecutar los siguientes comandos para habilitar el servidor:

/etc/init.d/pandora_server restart
systemctl enable pandora_server
systemctl enable tentacle_serverd
service tentacle_serverd start

Instale y habilite websocket:

mv /var/www/html/pandora_console/pandora_websocket_engine /etc/init.d/
chmod +x /etc/init.d/pandora_websocket_engine
/etc/init.d/pandora_websocket_engine start
systemctl enable pandora_websocket_engine

Habilite el cron de la consola:

echo "* * * * * root wget -q -O - --no-check-certificate http://127.0.0.1/pandora_console/enterprise/cron.php>> $PANDORA_CONSOLE/log/cron.log">> /etc/crontab

Configure logrotate:

cat> /etc/logrotate.d/pandora_server <<EO_LR
/var/log/pandora/pandora_server.log
/var/log/pandora/web_socket.log
/var/log/pandora/pandora_server.error {
        su root apache
        weekly
        missingok
        size 300000
        rotate 3
        maxage 90
        compress
        notifempty
        copytruncate
        create 660 pandora apache
}

/var/log/pandora/pandora_snmptrap.log {
        su root apache
        weekly
        missingok
        size 500000
        rotate 1
        maxage 30
        notifempty
        copytruncate
        create 660 pandora apache
}

EO_LR
chmod 0644 /etc/logrotate.d/pandora_server

Vaya a la dirección IP del servidor Ubuntu Server, debería poder acceder a la consola de Pandora FMS y ver el servicio corriendo correctamente:

Con estos pasos tendremos una instalación de Pandora FMS básica. En caso de ser necesario deberá añadir todas las dependencias de Discovery para cada sección.

Se recomienda la instalación del agente para la auto monitorización del servidor.

Aplicación de la licencia

Versión EnterpriseLa versión Enterprise de Pandora FMS viene asociada a una clave individual para cada instalación. Para poder usar las funcionalidades Enterprise y realizar actualizaciones automáticas de la Consola es necesario introducir el número de licencia proporcionado por Artica. A partir de la versión de Pandora FMS 748, el servidor se instala con una licencia trial válida para un máximo de 100 agentes y un mes de uso. Si desea expandir esta licencia, contacte con su comercial de confianza o rellene el siguiente formulario de contacto

La versión Community no requiere ninguna licencia para su uso.

Instalación por paquetes en RHEL 7/8

La instalación de Pandora FMS en sistemas RHEL 7 y RHEL 8 es un servicio Enterprise. Puede consultar cómo realizar la instalación en estos sistemas contactando a su comercial de confianza o rellenando el siguiente formulario de contacto.

Instalación bajo Docker

Este recurso solamente está pensado para entornos de prueba, aprendizaje e incluso preproducción.

Disponemos de una entrada en el sitio web de Docker Hub en el que se explica paso por paso cómo montar un stack de Pandora FMS, actualmente basado en Rocky Linux™ 8, en el siguiente enlace:

También es posible la instalación a través de un fichero yaml, como método de instalación rápida. A continuación se explica cómo realizar este despliegue mediante docker-compose.

Primero, es necesario tener instalado en el sistema Docker y Docker Compose. Puede consultar cómo realizar la instalación a través de la documentación oficial de Docker:

https://docs.docker.com/get-docker/

Una vez instalado, use el fichero yaml desde el repositorio oficial de Pandora FMS:

mkdir $HOME/pandorafms; cd $HOME/pandorafms
wget https://raw.githubusercontent.com/pandorafms/pandorafms/develop/extras/docker/centos8/docker-compose.yml
docker-compose -f $HOME/pandorafms/docker-compose.yml up

Espere algunos segundos para la descarga y la configuración del entorno. Una vez finalizado, podrá acceder a la consola de Pandora FMS a través de la URL:

http://127.0.0.1:8080/pandora_console

Utilice admin como usuario y pandora como contraseña.

Puede obtener más información en el vídeo tutorial «Instalación Pandora FMS en Docker».

Desinstalación de Pandora FMS

Desinstalación de Pandora FMS en CentOS o RHEL

Bastará con ejecutar la orden:

yum remove pandorafms_console pandorafms_server

Si desinstala la versión 761 o posterior:

yum remove pandorawmic

Véase también la desinstalación del agente software PFMS.

Si ha instalado MySQL y ya no lo necesita, puede borrarlo de manera similar:

yum remove Percona-Server*

Instalación personalizada

Instalación manual desde las fuentes en Linux / Unix / MAC OS

Será necesario tener todas las dependencias necesarias instaladas según el sistema operativo, descargar los ficheros en formato tarball (.tar.gz, .tgz o .tar.bz2) y descomprimirlo. Para ello, localice la última versión de Pandora FMS:

Instalación de la consola

Una vez que dispone del fichero comprimido en la Consola, por medio de una ventana terminal:

1. Eleve privilegios a root. Usted es el único responsable de dicha clave.

su -

2. Copie a un directorio donde pueda descomprimir el fichero (en este ejemplo se utiliza /tmp) y dentro de ese directorio ejecute:

tar xvzf pandorafms_console-X.Y.tar.gz
cd pandora_console
./pandora_console_install --install
Instalación del servidor

Una vez que disponga del fichero comprimido el servidor, que tendrá como nombre similar:

pandorafms_server-7.0NG.7xx.tar.gz

1. Eleve privilegios a root. Usted es el único responsable de dicha clave.

su -

2. Copie a un directorio donde pueda descomprimir el fichero (en este ejemplo se vuelve a utilizar /tmp) y dentro de ese directorio ejecute:

tar xvzf pandorafms_server-7.0NG.7xx.tar.gz
cd pandora_server
./pandora_server_installer --install

Si existen problemas de dependencias, debe resolverlas antes de intentar la instalación. Puede forzar la instalación ignorando el problema de dependencias, pero es muy posible que Pandora FMS no funcione correctamente.

Instalación manual (desde código fuente) del servidor

Alternativamente al script de instalación genérico, se puede compilar el código de Pandora FMS mediante el intérprete Perl de su sistema. Este proceso simplemente instala las librerías y los ejecutables mínimos, pero no toca el sistema de scripts de arranque, scripts de mantenimiento, configuración ni ninguna otra cosa sino estrictamente la aplicación y sus librerías. Este proceso es el indicado cuando tiene que actualizar el código del servidor, pero sin sobrescribir su configuración.

Para ello, descomprima el código de su servidor en un directorio (/tmp en este ejemplo) y tal y como se indica en la sección anterior:

1. Eleve privilegios a root. Usted es el único responsable de dicha clave.

su -

2. Copie al directorio donde está descomprimiendo los ficheros (/tmp en este ejemplo) y dentro de ese directorio ejecute:

tar xvzf pandorafms_server-X.Y.tar.gz
cd pandora_server
perl Makefile.PL
make
make install

Si falta alguna dependencia o existe algún otro problema, el sistema le advertirá de ello. Si observa un mensaje similar a:

Warning: prerequisiete Mail::Sendmail 0 not found
Warning: prerequisiete Net::Traceroute::PurePerl 0 not found

Significa que existen algunos paquetes de Perl que Pandora FMS necesita y que el sistema no tiene instalado. Revise los párrafos anteriores para saber como instalar las dependencias necesarias previas para instalar Pandora FMS. No obstante puede ignorar temporalmente esos avisos (son advertencias y no errores) y forzar así la instalación. Con seguridad tendrá problemas en un momento u otro ya que faltará algún componente necesario para funcionar. No obstante, si se conoce el componente que no está instalado y no se va a utilizar (p.e: traceroute se utiliza exclusivamente para Pandora FMS Recon Server), se puede continuar con seguridad.

Después de ese proceso, automáticamente se copian los ficheros

/usr/local/bin/pandora_server
/usr/local/bin/pandora_exec

Y varios ficheros .pm (librerías de Perl) que necesita Pandora FMS. Esas librerías .pm se copian a diferentes directorios, dependiendo de la versión de su distribución y de su distribución. Ejemplos:

/usr/local/share/perl/5.10.0/PandoraFMS/
/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/

Instalación de la Versión Enterprise

Versión EnterprisePara la instalación de la versión Enterprise de Pandora FMS, debe instalar los paquetes Open de la Consola y el servidor, y después añadir los paquetes Enterprise de cada uno. En el caso de la Consola usaremos unos paquetes u otros dependiendo de la distribución que tengamos instalada.

Instalación de la consola Enterprise

Si desea instalar la Consola Enterprise a través del código fuente:

Una vez que tenemos el fichero comprimido con la consola, que se tendrá como nombre pandorafms_console_enterprise-X.X.tar.gz o similar:

1. Eleve privilegios a root. Usted es el único responsable de dicha clave.

su -

2. Copie a un directorio donde pueda descomprimir el fichero (para este ejemplo se usa /tmp) y ejecute:

tar xvzf pandorafms_console-X.Xtar.gz

3. Copie al directorio donde esté instalada la Consola de Pandora FMS Open Source:

cp -R enterprise /var/www/html/pandora_console

4. Cambie los permisos para que los ficheros sean propiedad del usuario del servidor web, por ejemplo:

chown -R apache /var/www/html/pandora_console/enterprise
Instalación del servidor Enterprise

Estamos trabajando en una versión experimental que incluirá mejoras en el servidor Enterprise. A partir de la actualización 738 deberá utilizar preferiblemente la versión E7 del servidor de Pandora FMS Enterprise. Únicamente debería utilizar la versión E6 en caso de problemas de compatibilidad.

Para realizar la instalación del servidor Enterprise, primero hay que asegurarse de que la versión Open del servidor está instalada y después proceder a instalar la versión Enterprise.

Una vez que tenga el fichero comprimido en el servidor, que se llamará pandorafms_server_enterprise-X.X.tar.gz o similar:

1. Eleve privilegios a root. Usted es el único responsable de dicha clave:

su -

2. Copie al directorio para descomprimir los ficheros (/tmp en el siguiente ejemplo) y dentro de ese directorio ejecute:

tar xvzf pandorafms_server_enterprise-X.X.tar.gz
cd pandora_server/
# ./pandora_server_installer --install

En el caso de que el binario del servidor de Pandora FMS no se encuentre en el directorio por defecto (/usr/bin) habrá que indicar el directorio de la siguiente forma:

# PREFIX=/usr/local ./pandora_server_installer --install

Tras realizar la instalación reinicie el servidor:

/etc/init.d/pandora_server restart

Deben aparecer habilitados los servidores Enterprise.

No reinicie el servidor hasta que la instalación de la llave de licencia de Pandora FMS Enterprise esté completada, ya que si no el servidor no arrancará y su servicio de monitorización quedará interrumpido.

A partir de la versión NG 754 dispone de opciones adicionales en el arranque y parada manual de Entornos de Alta Disponibilidad (HA).

Instalación en una ruta diferente

Para instalar el servidor de Pandora FMS en una ruta diferente, utilice la opción:

./pandora_server_installer --install --destdir <path>

Después de la instalación, deberá configurar el servidor de Pandora FMS para que se inicie de forma automática durante el arranque y configurar el script de mantenimiento de la base de datos, pandora_db, para que se ejecute de forma periódica. Por ejemplo, en GNU/Linux (sustituya <destdir> por la ruta que le pasó a la opción destdir):

ln -s <destdir>/etc/init.d/pandora_server /etc/init.d/
echo "\"<destdir>/usr/share/pandora_server/util/pandora_db\" \
 \"<destdir>/etc/pandora/pandora_server.conf\">/dev/null 2>&1"> /etc/cron.hourly/pandora_db

Instalación con un usuario no privilegiado

Para instalar el servidor de Pandora FMS con un usuario no privilegiado, lance el siguiente comando con el usuario con el que se desea realizar la instalación:

./pandora_server_installer --install --no-root --destdir /opt/pandora

Este usuario debe tener permisos de escritura sobre la ruta que se le pase a destdir.

Instalación Agentes Pandora FMS

Para la instalación en línea del Agente Software de Pandora FMS consulte la sección “Instalación en línea del Agente Software de Pandora FMS”.

Tenga en cuenta que para cifrar las comunicaciones por medio del protocolo Tentacle entre los agentes software y sus respectivos servidores PFMS será necesario contar previamente con certificados y claves SSL. Visite la sección “Cifrado de la comunicación” en la referencia técnica del protocolo Tentacle.

Requisitos para el Agente

El Agente puede ejecutarse en cualquier equipo con el sistema operativo mínimo requerido, son válidos cualquiera de los siguientes:

Componente Sistema Operativo
Pandora Agent 4.0 o superior RedHat Enterprise (RHEL) 6.x y 8.
Fedora 34.
CentOS 6.x , 7 y 8.
AlmaLinux.
SLES 11 SP1 o posterior.
OpenSUSE 11.x o posterior.
Debian 5.x o posterior.
Ubuntu Server o Desktop versión 11 o posterior.
Linux Mint.
Elementary OS.
Manjaro.
HPUX B.11.11 o posterior, con Perl 5.8.
AIX 4.3.3 o posterior, con Perl 5.8.
AIX 7.1 y 7.2.
BSD Systems (NetBSD, OpenBSD, FreeBSD), con Perl 5.8.
MacOS X 10.6 o posterior.
Solaris 8 o posterior, con Perl 5.8.
Windows NT4 (ver notas especiales de esta version).
Windows XP.
Windows 2000.
Windows 2003.
Windows 2008.
Windows 7.
Windows 8.
Windows 10.
Windows 11.
Windows 2012.
Windows server 2016.
Windows server 2019.
Pandora Android Agent 2.0 o superior Android 6 o superior
Pandora Embedded Agent 4.0 o superior Dispositivos embebidos, requiere compilación

Existe un agente especial para Windows NT, que es básicamente el agente de Unix compilado para Windows, aunque el rendimiento es muy inferior al de un agente nativo Windows y las funcionalidades de acceso a la API nativa no están presentes.

Además en entornos UNIX debe estar instalado:

  • Perl 5.8 o superior
  • Será necesario también instalar las siguientes dependencias:
perl-YAML-Tiny-1.73-2
perl-Sys-Syslog
unzip
  • Configure logrotate:
cat> /etc/logrotate.d/pandora_agent <<EO_LRA
/var/log/pandora/pandora_agent.log {
        su root apache
        weekly
        missingok
        size 300000
        rotate 3
        maxage 90
        compress
        notifempty
        copytruncate
}

EO_LRA
chmod 0644 /etc/logrotate.d/pandora_agent

Instalación del Agente en CentOS 8 / Rocky Linux / AlmaLinux

Instalación de dependencias:

yum install dnf-plugins-core -y
yum config-manager --set-enabled powertools -y
yum install -y perl-YAML-Tiny perl-Sys-Syslog unzip

Si va a utilizar la opción server_ssl instale las siguientes dependencias, introduzca en la terminal:

yum install perl-IO-Socket-SSL -y

Instalación del Agente:

yum install -y https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm

Instalación del agente en CentOS 7

Instalación de dependencias:

yum install dnf-plugins-core -y
yum install -y perl-YAML-Tiny perl-Sys-Syslog unzip

Si va a utilizar la opción server_ssl instale las siguientes dependencias, introduzca en la terminal:

yum install perl-IO-Socket-SSL -y

Instalación del agente:

yum install -y https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm

Instalación del agente en Ubuntu Server 22.04

Instale el agente:

apt update
apt install -y perl coreutils wget curl unzip procps python3 python3-pip
wget http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz
tar xvzf pandorafms_agent_linux-7.0NG.tar.gz
cd unix
./pandora_agent_installer --install
cp -a tentacle_client /usr/local/bin/

Elimine el directorio unix .

Si va a utilizar la opción server_ssl instale las siguientes dependencias, introduzca en la terminal:

apt install libio-socket-ssl-perl -y

Configuración del agente:

sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF
/etc/init.d/pandora_agent_daemon start
systemctl enable pandora_agent_daemon

Instalación del Agente desde tarball

Esta versión del agente está preparada para su instalación en cualquier sistema Unix/Linux/macOS.

El agente no requiere compilación ni preparación, una vez haya descargado el agente en formato .tar.gz:

1. Eleve privilegios a root. Usted es el único responsable de dicha clave.

su -

2. Copie a /tmp, ingrese a ese directorio y ejecute:

tar xvzf pandorafms_agent_linux-7.0NG.tar.gz
cd unix
./pandora_agent_installer --install

3. Arranque manualmente el Agente:

/etc/init.d/pandora_agent_daemon start

Instalación personalizada del agente

El Agente puede ser instalado en un directorio definido por el usuario de forma integral, esto significa que se meterán en ese directorio todos los ficheros del agente: logs, ficheros de configuración, binarios, páginas de ayuda man, etc.

Para usar ese método, simplemente ejecute como el siguiente ejemplo:

./pandora_agent_installer --install /opt/pandora

El único fichero que Pandora FMS creará fuera de ese directorio definido por el usuario, es el lanzador del agente en /etc/init.d/pandora_agent_daemon (o equivalente en otros sistemas Unix), y el enlace en el directorio del nivel de arranque del sistema, por ejemplo /etc/rc.d/rc2.d/S90pandora_agent_daemon.

Además, puede configurar la instalación para que en vez de ejecutarse el Agente con usuario root, se pueda ejecutar con otro usuario. Por ejemplo para que el Agente se ejecute con el usuario Pandora, sería:

./pandora_agent_installer --install /home/pandora pandora

Cuando se especifica un usuario personalizado hay que instalar el Agente en una localización personalizada en la que el usuario tenga permisos de escritura (/home/pandora en el ejemplo anterior).

El usuario pandora viene desactivado por defecto, debe activarlo poniendo una shell válida en /etc/passwd si quiere usarlo para ejecutar el agente con dicho usuario.

Para los usuarios que se encuentren con una versión de MAC OS X 10.11 o superior (El Capitan o más reciente): Apple ha añadido una nueva capa de seguridad en OS X. Han desaparecido algunos privilegios de root. A la hora de instalar el Agente de Pandora FMS le aparecerá como un proceso restringido. Sólo los procesos restringidos que son firmados por Apple podrán modificar estos archivos. Sin embargo, puede desactivar este sistema de seguridad mediante el arranque en modo de recuperación y su desactivación en un terminal ejecutando: csrutil disable.

Instalación del agente en NetBSD y FreeBSD

La localización de los ficheros y la estructura del script de inicio son diferentes respecto a Linux.

Las peculiaridades de la instalación en FreeBSD serían las siguientes:

1. Adquiera permisos root

su -

2. Copie el fichero descargado a /tmp y una vez dentro de /tmp ejecute:

tar xvzf pandorafms_agent_linux-7.0NG.tar.gz
cd unix
./pandora_agent_installer --install

Después de la instalación, añada la siguiente línea a /etc/rc.conf.

pandora_agent_enable="YES"

Para habilitar el agente de Pandora FMS, se necesitan estos ajustes, si no, el proceso no se iniciará.

Si desea iniciar el agente manualmente, ejecute esto:

/usr/local/etc/rc.d/pandora_agent start

Agente:

/usr/local/bin/pandora_agent

Script de arranque:

/usr/local/etc/rc.d/pandora_agent

Fichero de configuración:

/usr/local/etc/pandora/pandora_agent.conf

Plugins:

/usr/local/share/pandora_agent/plugins/*

Ayudas man:

/usr/local/man/man1/*

Otros: Los directorios data_in y log son los mismos que en GNU/Linux.

Instalación del Agente en Windows

El agente se entrega como un autoinstalador en formato ejecutable ( .exe ). La instalación básica realiza todos los pasos necesarios y tan sólo es necesario aceptar todas las opciones.

Para instalar el agente de Pandora FMS en Windows® solo hace falta descargarlo y ejecutarlo. El instalador le guiará a través de los pasos necesarios en el idioma que seleccione. En el siguiente ejemplo se muestra la instalación para Windows 10®, recuerde que Pandora FMS funciona en cualquier plataforma moderna de Microsoft® (2000 o superior). También dispone de versiones de 32 y de 64 bits y a partir de la versión 761 está firmado digitalmente. Si ejecuta Windows como usuario estándar necesitará permisos de Administrador, introdúzcalos al ejecutar el instalador.

Seleccione el idioma:

Siga los pasos del instalador:

Acepte los términos de la licencia y pulse Next:

Seleccione la ruta donde se instalará el agente de Pandora FMS, por defecto se instala en:

%ProgramFiles%\pandora_agent), puede cambiarla pulsando Browse…. Luego pulse Next:

Espere a que se copien los ficheros.

Configure los datos para el agente como la dirección IP (o nombre) del servidor de Pandora FMS que recibirá los datos del Agente. Para poder cambiar otros parámetros, tales como cambiar el nombre del agente (por defecto toma el valor del hostname de la máquina) o la ruta de los ficheros temporales, tendrá que editar a mano la configuración del agente.

Versión EnterpriseEn la siguiente ventana aparece la opción de habilitar la configuración remota. Es importante tenerla activada mediante un 1 para tener una copia del agente en el servidor de Pandora FMS y desde ahí poder añadir, editar y borrar módulos locales directamente desde el agente.

Inicie el servicio del agente de Pandora FMS, de lo contrario tendrá que hacerlo de forma manual, o bien se iniciará cuando Windows se reinicie de nuevo.

La instalación ha finalizado, puede cambiar los parámetros del agente en el fichero pandora_agent.conf o bien a través del enlace directo en el menú Pandora FMS.

Instalación desatendida del Agente Windows

A partir de la versión 5.1 del Agente, el instalador soporta el modo desatendido. Para realizar la instalación simplemente habrá que ejecutar lo siguiente:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S

En el caso de que desee instalar el Agente en otra ruta diferente a la de por defecto:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S /D=C:\PFMS_agent

También se pueden pasar ciertos parámetros para que se escriban en el fichero de configuración del agente a crear. Gracias a estas opciones el despliegue de los agentes de Pandora FMS es mucho más personalizable. Las opciones por línea de comandos que se soportan son las siguientes:

--ip
  • Corresponde con el token llamado server_ip.
--group
  • Corresponde con el token llamado group.
--alias
  • Corresponde con el token llamado agent_alias.
--remote_config
  • Corresponde con el token llamado remote_configVersión Enterprise.

Por ejemplo, si se quiere crear un agente que pertenezca al grupo Applications, con nombre Mifunne y que apunte al servidor con la dirección IP 192.168.0.59, con la configuración remota habilitada, el comando sería:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S  --ip 192.168.0.59 --group Applications --alias Mifunne --remote_config 1

Desinstalación desatendida

El desinstalador que es un ejecutable llamado uninstall.exe que queda en el directorio de instalación de Pandora FMS también permite la desinstalación desatendida, para ello hay que ejecutar el desinstalador con la opción /S.

Por ejemplo, suponiendo que Pandora FMS esté instalado en el vía o path por defecto:

"%ProgramFiles%\pandora_agent\uninst.exe" /S

Utilizando PandoraAgent.exe desde la línea de comandos

Si ejecuta:

pandoraagent.exe --help

mostrará algo similar a esto:

C:\Users\Jimmy>"%ProgramFiles%\pandora_agent\pandoraagent.exe" --help
Pandora agent for Windows v7.0NG.761 Build 220427

Usage: C:\Program Files\pandora_agent\pandoraagent.exe [OPTION]

Available options are:
        --install:  Install the Pandora Agent service.
        --uninstall: Uninstall the Pandora Agent service.
        --test-ssh: Test the SSH Pandora Agent configuration.
        --test-ftp: Test the FTP Pandora Agent configuration.
        --process: Run the Pandora Agent as a user process instead of a service.

C:\Users\Jimmy>

Para instalar el servicio (si este no está instalado), basta con ejecutar lo siguiente dentro del directorio donde está el ejecutable (generalmente C:\Program Files o equivalente).

pandoraagent.exe --install

Esto instará el servicio en la máquina, basándose en el path donde se ubica el .exe

Para probar si conecta vía SSH con el servidor Pandora FMS:

C:\WINDOWS\system32>cd %PROGRAMFILES%

C:\Program Files>cd pandora_agent

C:\Program Files\pandora_agent>PandoraAgent.exe --test-ssh
Public key file C:\Program Files\pandora_agent\key\id_dsa.pub exists.
Private key file: C:\Program Files\pandora_agent\key\id_dsa exists.
Connecting with munchkin.artica.es.
Authentication successful.
Host fingerprint:
Created a blank XML file in C:\Program Files\pandora_agent\temp\ssh.test
Remote copying C:\Program Files\pandora_agent\temp\ssh.test on server munchkin.artica.es at /var/spool/pandora/data_in/ssh.test
Successfuly file copied to remote host
Successfuly disconnected from remote host
The SSH test was successful!

C:\Program Files\pandora_agent>

Si desea desinstalarlo, es el mismo proceso pero con diferente opción:

pandoraagent.exe --uninstall

Agente Windows de Pandora FMS como proceso

Es posible, por motivos de depuración, pruebas y otras circunstancias poco habituales, ejecutar el agente en modo “Proceso”. Esto se hace ejecutándolo desde línea de comando:

pandoraagent.exe --process

Existen algunas limitaciones en la ejecución al modo proceso, ya que Pandora FMS está pensado para ejecutarse como servicio y bajo el usuario SYSTEM. Si lo ejecuta con otro usuario sin privilegios, habrá funcionalidades que no operen correctamente.

Volver al Índice de Documentación Pandora FMS