====== Discovery ====== {{indexmenu_n>4}} //Discovery PFMS// fue eliminada en la versión 777, todas sus tareas fueron migradas automáticamente al nuevo **Discovery .disco PFMS**. ===== ¿Qué es Pandora FMS Discovery? ===== Versión NG 773 o posterior. **Discovery PFMS** aporta un conjunto de herramientas para simplificar la monitorización a través de asistentes. * **Task list**: La herramienta **Discovery** de Pandora FMS permite ver un listado de todas las tareas programadas en nuestro entorno tanto a nivel de consola como a nivel de servidor. * **Host & devices**: Incluye las herramientas necesarias para descubrir o importar dispositivos y equipos en la red. * **Console Tasks**: Incluye las herramientas necesarias para ejecutar tareas programadas desde la consola de Pandora FMS, tales como: - Respaldos de la base de datos de Pandora FMS. - Ejecutar funciones de PHP. - Ejecutar //scripts// personalizados. - Guardar informes personalizados. - Enviar informes personalizados (a partir de una plantilla) por correo. - Enviar informes personalizados por correo. * **Applications**: Incluye las herramientas necesarias para monitorizar distintas aplicaciones a partir de //plugins// cargados en el sistema, como por ejemplo MySQL®, Oracle® o VMware®. * **Cloud**: Incluye las herramientas necesarias para monitorizar distintos entornos de cloud a partir de //plugins// cargados en el sistema, como por ejemplo Amazon Web Services® o Azure Microsoft Compute®. * **Custom**: Incluye las herramientas necesarias para monitorizar distintos entornos o aplicaciones personalizadas a partir de //plugins// cargados en el sistema. * **Manage disco packages**: La herramienta **Discovery** de Pandora FMS permite cargar plugins a partir de paquetes ''.disco'' que pueden ser usados para monitorizar entornos o aplicaciones. Véase también "[[:es:documentation:pandorafms:technical_reference:12_disco_development|.Disco development]]|". {{ :wiki:discovery_start_2.png }} ===== Task list ===== La herramienta **Discovery Pandora FMS** permite ver un listado de todas las tareas programadas en el entorno tanto a nivel de Consola web como a nivel de servidor. Estas tareas se distribuyen en bloques, según el tipo de tarea configurada. * Console tasks. * Host & devices tasks. * Applications tasks. * Cloud tasks. * Custom tasks. {{ :wiki:discovery_task_list_all_tasks_2.png }} ==== Console tasks ==== {{ :wiki:discovery_task_list_console_tasks_2.png }} Para cada tarea de consola listada veremos: * **User**: Quien creó la tarea. * **Task**: Resumen de la tarea. * **Scheduled**: Planificación de calendario. * **Next Execution**: Especifica la siguiente ejecución. * **Last Execution**: Indica cuándo se ejecutó por última vez. * **Group**: El grupo al que pertenece. * **Operations**: Muestra las acciones que se pueden realizar para el usuario actual: editar, borrar o deshabilitar. * **Console ID**: Para balancear la carga en la ejecución de tareas, podrá declarar y agregar consolas en la sección ''config.php''. Utilice el **Console ID** para identificar y asignar dichas consolas al crear o editar **Console Tasks**. * Versión 770 o posterior. * Se puede indicar la consola que ejecutará la tarea mediante **Console ID**. * **Cada consola tiene su propio CRON que ejecuta las tareas respectivas**. Solamente se podrá forzar la ejecución de una tarea de una consola en su respectivo botón. Por ejemplo, si tiene dos consolas llamadas A y B, dichas consolas trabajan de manera independiente una de la otra, ambas está incomunicadas entre sí. * Véase también [[:es:documentation:pandorafms:management_and_operation:11_managing_and_administration#consolas|Manage Consoles]]. * Véase también [[:es:documentation:pandorafms:management_and_operation:12_console_setup#consola_dedicada_para_informes|Consolas dedicada a informes]]. === Crear o editar tareas de consola === Para //**crear**// una tarea de Consola vaya al menú **Management →** **Discovery** → **New console task**. {{ :wiki:discovery_create_console_task_2.png }} Para **//editar//** una tarea de Consola vaya al menú **Management →** **Discovery** → **Task list** y haga clic en el icono de lápiz correspondiente a cada tarea. {{ :wiki:icon_pencil_edit.png?nolink& }} En ambos casos la interfaz es la misma excepto el botón respectivo para crear (**Create**) o editar (**Update**) y guardar los cambios. {{ :wiki:pfms-discovery-create_new_console_task_2.png }} Los campos comunes para cada tarea son: - **Scheduled**: Periodicidad de la tarea, diariamente (**Daily**), cada hora (**Hourly**), mensualmente (**Monthly**), una sola vez (**Not scheduled**, ver siguiente punto), semanalmente (**Weekly**) y anualmente (**Yearly**). - **Next execution**: Próxima ejecución de la tarea, seleccione fecha en el primer campo y hora en el segundo campo (menú emergente al hacer clic en cada uno). - **Group**: Grupo al que pertenecerá la tarea. Los parámetros a rellenar cambian según la tarea que usted escoja en la lista desplegable de **Task**: * **Backup Pandora FMS database** Tarea de respaldo (//backup//) de base de datos de Pandora FMS: **Save to disk in path**: Ruta en la que se almacenará el respaldo de información. **Active backups**: Número específico de respaldos a mantener para conservar espacio de almacenamiento. * **Call PHP function** Tarea de ejecución de función escrita en lenguaje PHP: **Function name**: Nombre de la función PHP a ejecutar una sola vez o periódicamente. * **Execute custom script** Tarea de ejecución de guion (//script//) **Custom script**: Nombre del guion a ejecutar. * **Save custom report to disk** Tarea de generación y guardado de informes personalizados. **Report pending to be created**: Informe personalizado (lista desplegable) a partir del cual se generará este informe. Consulte “[[:es:documentation:pandorafms:management_and_operation:08_data_presentation_reports#creacion_de_un_informe|Creación de un informe (personalizado)]]”. **Save to disk in path**: Ruta donde se almacenará el informe creado (el usuario ''apache'' debe tener derechos de lectura y escritura en ese directorio) **File name prefix**: Prefijo de nombre para informes sucesivos. **Report Type**: Para ser guardado en formato XML, PDF, JSON o CSV. * **Send CSV log** Tarea de envío de registro de eventos (//logs//) en formato CSV, por medio de correo electrónico. **Send to e-mail**: Buzón de correo al cual enviar los registros de eventos (//logs//) en formato CSV. * **Send custom report (from template) by email** Informes (creados a partir de una plantilla) a ser enviados por correo electrónico: * Plantilla personalizada para creación del informe, **Template pending to be created**. * Información de los Agentes para el informe, **Agents**; si se desea generar informes separados para cada informe, **Report per agent**. * Direcciones de correo (separadas por medio de comas) para enviar el informe, **Send to email addresses**. * Tema del correo que se enviará, **Subject**. * Cuerpo del mensaje con el que se enviarán los informes, **Message** . * Tipo de informe que será enviado, **Report Type**. * **Send custom report by email** Informes a ser enviados por correo electrónico: * Reporte personalizado (consulte “[[:es:documentation:pandorafms:management_and_operation:08_data_presentation_reports#creacion_de_un_informe|Creación de un informe]]” ) para creación del informe, **Report pending to be created**. * Información de los Agentes para el informe, **Agents**; si se desea generar informes separados para cada informe, **Report per agent**. * Direcciones de correo (separadas por medio de comas) para enviar el informe, **Send to email addresses**. * Tema del correo que se enviará, **Subject**. * Cuerpo del mensaje con el que se enviarán los informes, **Message** . * Tipo de informe que será enviado, **Report Type**. ==== Host & devices tasks ==== {{ :wiki:discovery_task_list_network_tasks_2.png }} Para cada tarea listada: * **Force**: Forzar ejecución. * **Task name**: Nombre. * **Server name**: Servidor que la ejecutará. * **Interval**: Intervalo de tiempo en que se realizará. * **Network**: Red donde se realizarán los chequeos. * **Status**: Estado de la tarea programada. * **Task type**: Tipo * **Progress**: Progreso, si está en ejecución. * **Updated at**: Última actualización. * **Operations**: Los iconos permiten realizar acciones como edición o borrado de la tarea, entre otras. A partir de la versión NG 752 está disponible un icono que permite habilitar o deshabilitar cada tarea en la vista de tareas. ==== Applications tasks, cloud tasks y custom tasks ==== {{ :wiki:discovery_task_list_apps_cloud_tasks_2.png }} Para cada tarea listada: * **Force**: Forzar ejecución. * **Task name**: Nombre. * **Server name**: Servidor que la ejecutará. * **Interval**: Intervalo de tiempo en que se realizará. * **Status**: Estado de la tarea programada. * **Task type**: Tipo. * **Progress**: Progreso, si está en ejecución. * **Updated at**: Última actualización. * **Operations**: Los iconos permiten realizar acciones como edición o borrado de la tarea, entre otras. ===== Discovery Host&Devices ===== ==== NetScan ==== NetScan permite descubrir dispositivos en una red y aplicarles diferentes reglas de monitorización. Al crear una tarea se establece de antemano el grupo al cual pertenecerá y debe seleccionar, en el reconocimiento, entre cargar un archivo en formato CSV con los dispositivos concretos a comprobar (**Use CSV file definition:**) o la red (**Network:**). Los intervalos seleccionados como manuales deberán lanzarse manualmente. **Discovery no lanzará una tarea manual automáticamente.** * **Auto discover known hardware**: El autodescubrimiento de hardware conocido aplica de forma dinámica las plantillas añadidas que se hayan añadido por medio de Private Enterprise Number. * **Modules templates**: Intenta aplicar los módulos de las plantillas seleccionadas. Si la ejecución no pasa la prueba, no se agregarán a la lista de monitorización. * **Review results**: El usuario deberá validar los resultados seleccionando qué agentes se crearán de los encontrados por la tarea de descubrimiento. * **Apply autoconfiguration rules**: Aplica las reglas de configuración automática definidas previamente a los agentes detectados. La configuración automática permite aplicar políticas, cambios de grupo y configuración, así como lanzar eventos personalizados o ejecutar scritps en acciones. Los agentes detectados por NetScan son agentes remotos sin fichero de configuración. No podrá aplicar políticas de monitorización locales ni agregar cambios de configuración en bloque si no despliega un agente en los objetivos. * **SNMP enabled**: Para completar la información obtenida de los dispositivos de red descubiertos se debe de habilitar SNMP. Con ello se mejora la detección explorando la información SNMP disponible en los objetivos descubiertos. Al habilitar este //token// aparecerán dos opciones adicionales: * **Versión SNMP**: Se deberá seleccionar la versión SNMP (1,2, 2c y 3) configurada en los dispositivos de la red escaneada. * **SNMP communities to try with**: Se debe indicar la comunidad configurada en el entorno. Se pueden añadir tantas comunidades como se necesiten en la recuadro contiguo. * **WMI enabled**: Se puede habilitar el escaneo WMI. Se deben seleccionar las credenciales en **Credentials to try with**, las cuales fueron previamente cargadas en el almacén de claves. Se probarán las diferentes credenciales provistas contra los objetivos detectados que soporten WMI, complementando la monitorización con módulos que informarán sobre el uso de CPU, memoria y disco. * **OS detection**: Detectar el sistema operativo del objetivo. * **Name resolution**: Resolver el nombre del objetivo. * **Parent detection**: A través de la información recolectada mediante SNMP, se calcularán las diferentes interconexiones entre dispositivos, para poder representar su infraestructura de red. * **Parent recursion**: Mejora la detección de padres agregando recursión al proceso. * **VLAN enabled**: Detecta las VLAN a las que están conectados los diferentes dispositivos. Una vez se complete el asistente, Discovery empezará a ejecutarlo en cada intervalo definido. Si el intervalo es manual se deberá iniciar manualmente la tarea. Una vez finalizada la tarea, si se accede desde **Review**, se verá un resumen de los dispositivos encontrados y que respondan a **ping** o **fping** y al resto de métricas disponibles a través de SNMP o WMI. Se mostrarán todas las direcciones IP, cada una en alguno de estos dos estados: * **Deshabilitado**: Ya existe un agente o módulo en el entorno monitorizándose y no se creará ni modificará. * **Habilitado**: Se trata de un elemento nuevo que no se está monitorizando o dentro de las métricas que se obtienen ha respondido un nuevo módulo que se verá en un desplegable. En los dispositivos que se encuentren en este estado se podrá seleccionar agregarlo a la lista de agentes monitorizados o si se quiere agregar alguna de las nuevas métricas habilitadas. Una vez seleccionados los objetivos a monitorizar, el sistema los creará sistemáticamente. Durante este proceso, se detectará el sistema operativo del objetivo para complementar la información ya recabada. ==== Despliegue automático de agentes ==== Los pasos para [[es:documentation:pandorafms:management_and_operation:17_software_agents_deployment|desplegar Agentes de Software desde la Consola web]] son: * **Registrar las versiones de Agentes Software a desplegar en el repositorio de agentes**: Necesitará los instaladores de los agentes a desplegar. También puede utilizar agentes personalizados. * **Registre las credenciales que se utilizarán para conectarse a los objetivos en el gestor de credenciales**: Deberá especificar las credenciales con las que se comprobará el acceso a los objetivos encontrados o especificados. * **Explorar, añadir o cargar objetivos**. * **Despliegue de agentes de software con un elemento en Task List**. Este sistema no realiza operaciones de tipo PUSH; todos los despliegues son broadcast ofreciendo el software y ordenando al objetivo que lo instale. ==== Custom NetScan ==== Permite la ejecución de //scripts// personalizados para la ejecución de tareas de reconocimiento de red. Especifique: * **Task name**: Nombre de la tarea de reconocimiento. * **Comment**: Permite añadir comentarios. * **Discovery server**: Servidor que ejecutará la tarea. * **Group**: Grupo al que pertenece. * **Interval**: Intervalo de ejecución. Una vez completado el proceso de creación de la tarea será necesario especificar el //script// que se quiera correr, así como el fichero de configuración necesario para su ejecución. ==== Net scan scripts ==== Esta sección muestra los diferentes //scripts// que se hayan creado para las tareas de reconocimiento personalizadas. Se muestra una vista en la que se definen el nombre y la descripción de la tarea. Pandora FMS permite añadir //scripts// adicionales para facilitar la monitorización y el reconocimiento de las redes requeridas. Parámetros a definir: * **Name**: Nombre del //script//. * **Script fullpath**: Ruta en la que se encuentra el //script//. * **Description**: Descripción del //script//. Se pueden definir descripciones de los distintos campos, así como valores por defecto para los mismos. * **Hide value**: Si se desea ocultar el valor de un campo. * **Help**: Campos de ayuda. La creación de //scripts// permite añadir macros con las que definir todos los parámetros que sean necesarios para la correcta ejecución del //script//. ===== Applications, cloud y custom ===== Versión NG 773 o posterior. Con Pandora FMS es posible monitorizar aplicaciones y entornos de cloud de manera remota utilizando **Discovery PFMS**. Para ello será necesario cargar los //plugins// que se quieran usar para la monitorización, los cuales podrán ser //plugins// personalizados u oficiales de Pandora FMS. Estos //plugins// se cargan en paquetes ''.disco'' los cuales incluirán su propia interfaz de configuración y ejecutables necesarios para el correcto funcionamiento. {{ :wiki:discovery_apps_2.png }} ==== Creación y edición de tareas ==== Al crear o editar una tarea para applications, cloud o custom el formulario que deberemos rellenar se ajustará de acuerdo al //plugin// utilizado en la tarea. Esto significa que, por ejemplo, el formulario para tareas de VMware será distinto del formulario para tareas de XenServer. Sin embargo para todas las tareas se deberá indicar una información mínima necesaria. {{ :wiki:discovery_task_definition_2.png }} * **Task name**: Nombre. * **Description**: Descripción de la tarea. * **Discovery server**: Servidor que la ejecutará, parámetro obligatorio. * **Group**: Grupo. * **Interval**: Intervalo de ejecución de la tarea. * **Timeout**: Tiempo de expiración para la ejecución de los //scripts// de la tarea. Rellenada esa información mínima los siguientes pasos del formulario se ajustarán de acuerdo al //plugin utilizado//, pudiendo tener tareas con más pasos de configuración que otras. {{ :wiki:discovery_task_first_step_2.png }} Durante la definición de la tarea podremos ir avanzando de un paso al siguiente mediante el botón **Next**, el cual actualizará los parámetros de cada paso para la tarea. También podremos finalizar la definición de la tarea mediante el botón **Complete setup**, el cual actualizará los parámetros del paso en el que nos encontremos y marcará la tarea como configurada por completo para que el servidor pueda ejecutarla. Una tarea que no se haya configurado por completo no será ejecutada por el servidor de Pandora FMS, motivo por el cual el último paso de configuración de cualquier tarea siempre nos dará solo la opción del botón **Complete setup**. {{ :wiki:discovery_task_last_step_2.png }} Cuando una tarea no esté configurada por completo, se mostrará en el listado de tareas con un icono que lo indique. {{ :wiki:discovery_task_list_task_incomplete_2.png }} ==== Resultado de ejecución de tareas ==== Cuando una tarea haya finalizado su ejecución, desde el listado de tareas podremos ver el resultado de la misma. Todas las tareas finalizadas tendrán asociado un estado, que podrá ser: * **Done**: El servidor ha completado la tarea sin encontrar errores durante su ejecución. * **Failed**: El servidor ha encontrado al menos 1 error durante la ejecución de la tarea. {{ :wiki:discovery_task_list_failed_task_2.png }} Para cualquier tarea finalizada podremos consultar su sumario de ejecución, el cual dependiendo de como esté definido el //plugin// usado para la tarea, se mostrará con distinta información. {{ :wiki:discovery_task_list_summary_success_2.png }} En los casos en los que la tarea finalice con un estado **failed** también podremos ver el sumario de ejecución para consultar los errores producidos. {{ :wiki:discovery_task_list_summary_failed_2.png }} El resultado de la ejecución de una tarea dependerá siempre del //plugin// utilizado por la misma, de modo que es posible que incluso habiendo terminado con un estado **failed** la tarea sea capaz de generar monitorización para un conjunto de agentes. ==== Applications ==== Las **aplicaciones** disponibles para monitorizar oficialmente con Pandora FMS son: * [[https://pandorafms.com/guides/public/books/vmware/page/discovery|VMware®]]. * [[https://pandorafms.com/guides/public/books/xenserver/page/discovery|XenServer®]]. * [[https://pandorafms.com/guides/public/books/mysql/page/discovery|MySQL®]]. * [[https://pandorafms.com/guides/public/books/sqlserver/page/discovery|Microsoft SQL Server®]]. * [[https://pandorafms.com/guides/public/books/oracle/page/discovery|Oracle®]]. * [[https://pandorafms.com/guides/public/books/db2-f74/page/discovery|DB2®]]. * [[https://pandorafms.com/guides/public/books/sap/page/discovery|SAP R3®]]. ==== Cloud ==== Los entornos de **cloud** disponibles para monitorizar oficialmente con Pandora FMS son: * [[https://pandorafms.com/guides/public/books/aws-ec2/page/discovery|Amazon Web Services EC2®]]. * [[https://pandorafms.com/guides/public/books/aws-rds/page/discovery|Amazon Web Services RDS®]]. * [[https://pandorafms.com/guides/public/books/aws-s3/page/discovery|Amazon Web Services S3®]]. * [[https://pandorafms.com/guides/public/books/azure/page/discovery|Azure Microsoft Compute®]]. * [[https://pandorafms.com/guides/public/books/google-cloud-platform-compute-engine/page/discovery|Google Cloud Compute Engine®]]. === Custom === Pandora FMS actualmente no cuenta con plugins oficiales **custom**. ===== Manage disco packages ===== Esta sección permite cargar //plugins// a partir de paquetes ''.disco'' que pueden ser usados para monitorizar entornos o aplicaciones. Versión NG 773 o posterior. Desde la consola se podrá ver el listado de //plugins// disponibles para **Discovery PFMS** y se podrán cargar nuevos, ya sean oficiales de Pandora FMS o personalizados. {{ :wiki:discovery_manage_extensions_list_2.png }} Para cada //plugin// listado: * **Name**: Nombre del //plugin// acompañado de un icono que permita distinguirlo. Este nombre e icono son con los que se mostrará el //plugin// a la hora de crear nuevas tareas. * **Short name**: Nombre identificador del //plugin//. Este nombre es un identificador único que permite distinguir al //plugin// de otros, por lo que no podrá haber más de un //plugin// con el mismo nombre corto cargado en el sistema. Los nombres cortos que comienzan por ''pandorafms.'' son usados por Pandora FMS para distinguir los //plugins oficiales//, por lo que nunca se deberán usar nombres cortos que comiencen de esa forma para //plugins// personalizados. Además estos nombres cortos son usados para nombrar el directorio que contendrá todos los ficheros necesarios tanto por la consola como por el servidor de Pandora FMS. * **Section**: Sección del interfaz de **Discovery** en el que se mostrará el //plugin// para crear y listar tareas. Podrá ser **app**, **cloud** o **custom** para que las tareas del //plugin// se encuentren dentro de **Applications**, **Cloud** o **Custom** respectivamente. * **Description**: Información adicional del //plugin//. * **Version**: Versión del //plugin// cargada. * **Actions**: Se podrá eliminar un //plugin// de la lista (junto con todas las tareas que lo utilicen) o bien sincronizar manualmente los ficheros del //plugin// encontrados en la consola con los servidores de Pandora FMS del entorno. {{ :wiki:discovery_manage_extensions_list_actions_2.png }} ==== Sincronización de ficheros ==== Es necesario, para que las tareas de un //plugin// funcionen, que tanto la consola como el servidor de Pandora FMS cuenten con el contenido del paquete ''.disco'' en un directorio accesible. Es por ello que en el listado de //plugins// se incluye el botón de acción para sincronizar los ficheros con el servidor en cada //plugin//. Dado que es la consola la encargada de subir nuevos ficheros ''.disco'', es la misma consola la que se encarga de sincronizar los ficheros necesarios con el servidor. En el momento en que se carga un fichero ''.disco'', la consola automáticamente sincroniza los ficheros con el servidor. Sin embargo, por si fuera necesario, el botón para sincronizar los ficheros del //plugin// forzará en el momento en que se pulse que la sincronización se realice en ese momento. ==== Ficheros en la consola ==== Como punto de entrada, la consola almacena los ficheros de cada //plugin// en un directorio con el nombre corto del //plugin// dentro de: ''pandora_console/attachment/discovery'' Por ejemplo, el directorio para la aplicación ''pandorafms.vmware'' sería: ''/var/www/html/pandora_console/attachment/discovery/pandorafms.vmware'' En caso de no encontrarse para un //plugin// los ficheros mínimos necesarios dentro de su directorio, se mostrará el siguiente icono, impidiendo realizar la sincronización de ficheros con el servidor, y será necesario subir de nuevo su paquete ''.disco'' para solucionar el error. {{ :wiki:discovery_manage_extensions_list_deleted_folder_2.png }} ==== Ficheros en el servidor ==== Para poder ejecutar las tareas definidas para un //plugin//, el servidor de Pandora FMS debe contar con los ficheros del //plugin//. Para lograrlo, la consola sincroniza los ficheros de cada //plugin// cargado con un directorio accesible para ambos, consola y servidor. Dicho directorio, llamado ''discovery'', se encuentra dentro del configurado en la **configuración general** de la consola de Pandora FMS, en el campo **Remote configuration directory**. {{ :wiki:general_setup_2.png }} Por defecto la ruta en la que la consola sincronizaría los ficheros con el servidor sería: ''/var/spool/pandora/data_in/discovery'' Dentro de dicho directorio, se creará uno por cada //plugin//, usando sus nombres cortos, y dentro se encontrarán los ficheros del //plugin// que pueda necesitar el servidor. Por ejemplo, el directorio para la aplicación **pandorafms.vmware** sería: ''/var/spool/pandora/data_in/discovery/pandorafms.vmware'' Véase también "[[:es:documentation:pandorafms:technical_reference:12_disco_development|.Disco development]]|". [[:es:documentation:start| Volver al índice de documentación de Pandora FMS]]