Un Servicio en Pandora FMS es una agrupación de recursos de Tecnología de Información (Information Technology, abreviado IT) basándose en sus funcionalidades.
Los Servicios PFMS son agrupaciones lógicas que incluyen hosts, routers, switches, firewalls, webs e incluso otros Servicios. Por ejemplo, el sitio web oficial de la empresa, el Customer Relationship Management (CRM), alguna aplicación de soporte o incluso todas las impresoras de una empresa u hogar.
La monitorización básica en Pandora FMS consiste en la recogida de métricas de diferentes orígenes, representándolas como monitores (llamados Módulos). La monitorización basada en Servicios permite agrupar los anteriores elementos de tal manera que, al establecer ciertos márgenes basados en la acumulación de fallos, se puede monitorizar grupos de elementos de diferente índole y su relación en un servicio mayor y general.
Las monitorizaciones de Servicios están representados bajo tres conceptos: de manera simple, por sus pesos de importancia y encadenados por eventos en cascada.
En este modo solamente es necesario indicar cuales elementos son críticos. Se accede a Operation → Topology maps → Services → Service tree view → Create service.
Solo los elementos marcados como críticos serán tenidos en cuenta para realizar los cálculos y solo el estado critical
de dichos elementos tendrá valor.
critical
, el servicio entrará en estado de advertencia warning
.critical
, el servicio entrará en estado critical
.Se debe definir un Árbol de Servicio en el que se indiquen tanto los elementos que afectan a las aplicación o aplicaciones, como el grado en que afectan.
Todos los elementos que se añadan a los árboles de servicio se corresponderán a información que ya está siendo monitorizada, ya sea en forma de módulos, agentes concretos u otros servicios.
Para indicar el grado en que afectan los estados de cada elemento al estado global, se utilizará un sistema de suma de pesos, de modo que los más importantes (con más peso) serán más relevantes para ajustar el estado global del servicio completo a un estado incorrecto antes que los elementos menos importantes (con menos peso).
Un Servicio root (servicio raíz) es aquel que no forma parte de otro Servicio. Esto aporta una lógica distribuida más eficiente y permite aplicar un sistema de protección en cascada basado en servicios.
Los Servicios en Command Center (Metaconsola) permiten agregar como elementos de un Servicio tanto otros Servicios, como Módulos y/o Agentes.
El Prediction server sigue una cadena de cálculo de manera jerárquica, de arriba hacia abajo, para obtener el estado de todos y cada uno de los componentes del servicio root. Para servicios con hasta mil elementos, es una solución satisfactoria.
Al marcar Asynchronous mode el servicio se evaluará de forma independiente, en su propio intervalo, incluso si es parte de otro servicio, siendo una excepción al comportamiento por defecto síncrono en el que la evaluación se hace en cascada desde el servicio raíz. Se puede forzar la ejecución de un servicio asíncrono de forma independiente, aunque forme parte de un servicio superior (servicio raíz)
Si se marca como asíncrono un servicio que es parte de otro servicio (subservicio) en el momento de la evaluación del servicio raíz, este no ejecutara el cálculo del estado del servicio asíncrono, sino que tomará como válido el último valor almacenado por este desde la última vez que se ejecutó. Esta configuración puede ser de gran ayuda en la evaluación de elementos en servicios de gran tamaño para mejorar su rendimiento, además de permitir dar prioridad de ejecución a servicios que son elementos de un servicio raíz.
El componente PredictionServer debe estar habilitado para poder utilizar los Servicios.
Es necesario que el componente PredictionServer esté instalada y funcionando en el Pandora FMS server.
Una vez que tiene todos los dispositivos monitorizados, dentro de cada Servicio añada todos los módulos, agentes o subservicios necesarios para monitorizar el Servicio. Para crear un nuevo Servicio se accede a Operation → Topology maps → Services → Service tree view → Create service.
Tenga en cuenta que el intervalo en el que se realizarán todos los cálculos de los módulos del servicio dependerán del intervalo del agente configurado como contenedor.
Una vez se haya creado un Servicio vacío se accede al formulario de edición del Servicio y se selecciona la pestaña Configuration elements. Se hace clic en el botón Add element y aparecerá una ventana emergente con un formulario. El formulario será ligeramente distinto si el servicio está en modo smart o en modo manual. En Type se ha de seleccionar módulo, agente, servicio o dinámico.
Si se elige Service en Type se sebe tener en siempre cuenta que los servicios que aparecerán en la lista desplegable son los que no sean ancestros del servicio, esto es necesario para mostrar una correcta estructura arborescente de dependencia entre servicios.
Para calcular el estado de un servicio, se sumará el peso de cada uno de sus elementos en base a su estado, y si supera los umbrales establecidos en el servicio para advertencia o para crítico, el estado del servicio pasará a advertencia o crítico según corresponda.
Los siguientes campos solamente estarán disponibles para los servicios en modo manual:
critical
warning
unknown
normal
En los servicios en modo Smart se calculan su estado de la siguiente manera:
Modo Dynamic
Los siguientes campos solo estarán disponibles para los elementos de tipo Dynamic (Servicios en modo Smart):
Debe colocar texto en ambos campos para que sea considerado el realizar búsqueda en campos personalizados.
En la pestaña superior derecha, al crear o editar un servicio, aparece el asistente para agregar elementos con las siguientes opciones:
Para adicionar elementos, el asistente presenta una lista desplegable en Item type to be added y por defecto presenta la opción de agregar agentes al servicio. Para ello se debe hacer clic en Agents e inmediatamente, justo al lado, se desplegarán los agentes disponibles por su nombre. También puede escribir en dicho elemento (búsqueda libre) y automáticamente mostrará las coincidencias de agentes por nombre. Si la lista de agentes es extensa, bien puede filtrar por grupos en la lista desplegable denominada Group.
Para los módulos y servicios el proceso de selección es parecido, excepto que en el caso de los módulos no se dispone de una búsqueda libre de elementos.
Para el caso de los servicios siempre se debe primero filtrar por grupo para que aparezcan los servicios disponibles. Seleccione el grupo All para ver todos los servicios.
En todos los casos se debe elegir uno o varios elementos y luego pulsar el botón Add selected. Abajo, en Service items summary se tendrá un resumen con los agentes, módulos y servicios agregados al servicio.
Una vez se tengan seleccionados los elementos deseados en Service items summary se pulsa Add elements para agregar y guardar los nuevos componentes al servicio en edición.
async_data
).async_proc
).async_data
).Es la lista de operación que muestra todos los servicios creados y a los cuales el usuario tenga derecho de acceso en la Consola de Pandora FMS. Haga clic en Operation → Topology map → Servicio tree view y dentro de este List of services.
Para añadir elementos se dispone de un cuadro de diálogo que permite seleccionar agentes, módulos u otros servicios y al hacer clic en cada uno de ellos en la parte inferior mostrará los elementos disponibles para seleccionar y ser agregados con Add selected. Una vez haya finalizado de agregar elementos haga clic en el botón Add elements para guardar los cambios. Para la edición y eliminación funciona de manera similar.
Esta vista permite la visualización de los servicios en forma de árbol. Se accede por el menú Operation → Topology maps → Services → Service tree view.
La restricción de permisos ACL sólo se aplica al primer nivel.
Las paradas planificadas recalculan el valor de los informes de SLA teniendo en cuenta que se permita el recálculo “atrás en el tiempo” con paradas planificadas añadidas a posteriori (eso es una opción que se debe activar a nivel global en el General setup). Cuando se trata de un informe de SLA de servicio, si existe una parada planificada que afecta a uno o más elementos del servicio, se considera que la parada planificada afecta a todo el servicio, al no poder definir el impacto que tiene la parada en el global del servicio.
Es importante destacar que esto es a nivel de informe, los árboles de servicio, y la información que presentan en la consola visual no se alteran respecto a paradas planificadas creadas después de su supuesta ejecución. Estos valores de cumplimiento % de servicio se calculan en tiempo real sobre datos del histórico del mismo servicio.
Los pesos se tratan de forma algo diferente en el modo simple al solo existir el peso crítico y tener la posibilidad de caer en dos estados a parte del normal. A cada elemento se le da peso 1 en critical y 0 en el resto, y cada vez que se hace un cambio en los elementos del servicio, se recalculan los pesos del servicio. El peso warning del servicio es despreciable, tiene valor 0,5 siempre por que si se deja a 0 el servicio siempre va a estar mínimo en warning (pero el peso de warning no se usa en el modo simple).
El peso critical se calcula de manera que sea la mitad de la suma de los pesos críticos de los elementos, que es 1. Si hay 3 elementos el peso critical del servicio es 1,5 entonces el servidor se encarga de decidir si se ha superado o igualado el peso critical para pasar el servicio a estado critical o warning.
Es posible silenciar aquellos elementos de un Servicio de manera dinámica. Esto permite evitar una avalancha de alertas por cada elemento que pertenezca al Servicio o subservicios.
Al activar la característica Cascade protection enabled, se ejecutará la acción asociada a la plantilla que se haya configurado para el servicio raíz, informando así de los elementos que tienen un estado incorrecto dentro del Servicio.
Es importante tener en cuenta que este sistema permite que se utilicen las alertas de los elementos que vayan a crítico dentro del Servicio, aunque el estado general del mismo sea correcto.
La protección en cascada de servicios avisará con exactitud de los elementos raíz que hayan fallado sin importar la profundidad del Servicio definido.
Está disponible una macro llamada _rca_
que indicará la causa raíz del estado del servicio. Para usarla se agregará a la plantilla que se haya asociado al servicio. Esta macro devolverá una salida similar a la que sigue:
[Aplicación Web → HW → Apache server 3]
[Aplicación Web → HW → Apache server 4]
[Aplicación Web → HW → Apache server 10]
[Aplicación Web → DB Instances → MySQL_base_1]
[Aplicación Web → DB Instances → MySQL_base_5]
[Aplicación Web → Balanceadores → 192.168.10.139]
Este ejemplo indica que:
Esta información añadida permite depurar el porqué del estado del servicio, reduciendo las tareas de investigación.
Los servicios son agrupaciones lógicas que conforman parte de la estructura de negocio de una organización. Por ello puede tener cierto sentido la agrupación de servicios, ya que en muchos casos puede haber dependencias entre unos y otros, conformando por ejemplo un servicio general (la compañía) varios servicios más particulares (web corporativa, comunicaciones, etcétera).
Para agrupar servicios es necesario que estén creados tanto el servicio general o superior, como los servicios inferiores que se agregarán a éste para crear la estructura lógica en forma de árbol.