MANUAL DE LIVE MONITOR

Índice de Contenido Introducción .................................................................................................................................................... 4

Objetivo de la herramienta............................................................................................................................................... 4 Que se puede medir? ......................................................................................................................................................... 4 Indicadores SNMP........................................................................................................................................................ 5 Indicadores de base de datos....................................................................................................................................... 6 Indicadores scriptables ................................................................................................................................................. 6 Usuarios............................................................................................................................................................................... 7 Configuración .................................................................................................................................................. 9

Indicadores ......................................................................................................................................................................... 9 Indicador SNMP....................................................................................................................................................... 9 Indicador SNMP a partir de tabla ........................................................................................................................10 Indicador de base de datos....................................................................................................................................12 Indicador de script .................................................................................................................................................12 Atributos ...........................................................................................................................................................................13 Alarmas .........................................................................................................................................................................14 Alarmas de muestreo .............................................................................................................................................14 Alarmas de eventos ................................................................................................................................................15 Acciones ante alarmas ................................................................................................................................................15 Acciones ...................................................................................................................................................................16 Visualizacion y análisis .................................................................................................................................. 19

Gráficas .............................................................................................................................................................................19 Agregar una nueva grafica al panel ...........................................................................................................................19 Cortar dos atributos monitoreables dentro de una misma grafica ......................................................................20 Controles de las Gráficas ...........................................................................................................................................21 Escritorios ....................................................................................................................................................................23 Avisos de Alarma .............................................................................................................................................................23 Panel Principal .............................................................................................................................................................23 Gráfica con Alarma.....................................................................................................................................................24 Integración con Supervisor........................................................................................................................................25 Apendice A - Indicadores Predefinidos ......................................................................................................... 26

Monitoreo de la actividad del negocio .....................................................................................................................26 Performance ............................................................................................................................................................26

Monitoreo de la Infraestructura ................................................................................................................................27 De Uso Común.......................................................................................................................................................27 Generales .................................................................................................................................................................27 Licencias ...................................................................................................................................................................28 Administrador de Usuarios ...................................................................................................................................28 Motor de Marcación (MM) ...................................................................................................................................29 Web Handler ...........................................................................................................................................................30 Asterisk.....................................................................................................................................................................32 Apendice B - Ejemplos de indicadores custom ............................................................................................. 34 Apendice C - Como agregar un nuevo MIB a los disponibles del sistema .................................................... 36 Apendice H - Configuración de ventanas historicas de atributos ................................................................. 37

INTRODUCCIÓN Este documento describe de forma detallada el objetivo, conceptos y funcionalidades disponibles en la aplicación "Live Monitor".

Objetivo de la herramienta La aplicación Live Monitor se puede usar con dos propósitos diferentes, uno es proveer un mecanismo de monitoreo preventivo de la operación. De forma que los administradores y supervisores puedan detectar y corregir fallas o condiciones de riesgo antes que se tornen críticas. Ejemplos de esto sería poder monitorear los dispositivos de almacenamiento y recibir un aviso cuando lleguen a un cierto punto de saturación o ser advertidos que cierto troncal telefónico está fallando. El segundo propósito tiene que ver con ser capaz de tomar decisiones en tiempo real a partir de datos altamente dinámicos originados en la operación, donde tener capacidad de respuesta en base a información sólida y al instante permite optimizar al máximo los recursos que se disponen - por ejemplo asignando mayor cantidad de operadores a una campaña de ventas de seguros si la operación durante la tarde está teniendo un ratio de ventas con tendencia positiva. Esto se logra mediante un mecanismo flexible de configuración y respuesta que permite: 



 

Efectuar mediciones predefinidas y customizadas o Sobre elementos de hardware e infraestructura o Sobre indicadores del negocio Definir alarmas o En base a resultados de alguna medición o En base a eventos Ejecutar acciones automáticas Visualización gráfica de los distintos indicadores del sistema para una mayor comprensión de la operación

Que se puede medir? InConcert provee mecanismos de medición predefinidos para distintos orígenes de información, pudiendo extender el conjunto de mediciones disponibles mediante el uso de scripts. Clasificando las fuentes podemos decir que la información que utilizará el Live Monitor puede provenir de:    

Información SNMP publicada por los dispositivos del sistema. (Ej. memoria libre en un host, uso de CPU, etc.) Tablas de información mantenida en memoria por servicios de inConcert. (Ej. "total de llamadas en ACD", "errores de ejecución de SP" ) Información contenida en las bases de datos del sistema. (Ej. "estatus de los agentes", "cantidad de ventas realizadas") Cualquier valor numérico generado a partir de la ejecución de consultas o scripts. (Ej. "tamaño de un archivo en un Host", "Cantidad de conexiones entre la PBX y el Servidor de inConcert")

Uno de los mayores beneficios de tener disponible una herramienta de estas características es la posibilidad de visualizar en el tiempo la evolución y tendencia de algún valor que nos interese, por lo que es importante recalcar que se asume que sin importar el tipo de indicador utilizado el valor a medir será en la mayoría de los casos un valor numérico (*) Los motivos principales de que los valores sean numéricos son: 



Flexibilidad en la definición de alarmas o Prender alarma si la cantidad de llamadas encoladas subió un 40% respecto la última hora. o Prender alarma si el espacio en disco es < al 10% Visualización histórica de la evolución del valor en el tiempo

La herramienta Live Monitor permite medir distintos "tipos" de indicadores según el origen de la información a medir. (*) Nota: Si bien la herramienta permite potencialmente medir valores que no sean necesariamente numéricos no es donde está el potencial de análisis de la misma.

Indicadores SNMP El protocolo SNMP (Simple Network Management Protocol) facilita la comunicación entre dispositivos de red permitiendo a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. Dicho protocolo es adoptado como estándar por la mayoría de los fabricantes de dispositivos, switches, routers o fabricantes de sistemas operativos, por lo que podemos esperar que dentro de una red la mayoría de los dispositivos sean supervisables utilizando el protocolo SNMP. Cada dispositivo publica qué tiene supervisable utilizando SNMP, mediante un MIB (Management Information Base)(*), que es una colección de información organizada jerárquicamente. Por lo tanto un switch publicará por ejemplo dentro de la jerarquía de su MIB un valor monitoreable "ancho de banda", y un servidor podrá publicar en su MIB un valor monitoreable "espacio libre en disco". De la misma forma ocurre con los servicios de inConcert los cuales también poseen un MIB donde publican los valores que tienen disponibles tales como "agentes ocupados", "cantidad de llamadas en ACD", etc. A continuación vemos una sección de un MIB del servicio OutboundEngine de inConcert, donde se aprecia que dentro de los valores publicados para consultar se encuentran: "Cantidad de llamadas activas", "Cantidad de conexiones al middleware", etc. -------------- Extracto de OUTBOUNDENGINE/MIB --------------------------outboundengineConnectedCalls OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of calls that the Outbound Engine connected and are in course. This includes all calls connected through the loaded processes' routing groups." ::= { outboundengine 2 } outboundengineAwaitingAgent OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of predictive/progressive calls awaiting for agent."

::= { outboundengine 4 } outboundengineExecutingOnMW OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of middleware processes currently running for the engine." ::= { outboundengine 5 } ----------------------------------------------------------------------------------------------* Nota: Los MIB se encuentran especificados en el formato ASN.1.

Y a continuación se visualiza una imagen dentro del Live Monitor donde se puede apreciar la jerarquía

Indicadores de base de datos Los indicadores de base de datos nos permiten extraer valores de la lógica de negocios, pudiendo integrar el mecanismo de monitoreo preventivo a cualquier aplicación o lógica de negocio que tenga una empresa. En los indicadores de base de datos se podrá especificar un store procedure o sentencia a ejecutar. Dicha sentencia se asume que puede ir contra cualquier origen de datos y realizar la medición que considere pertinente, siempre que respete el criterio de proyectar un valor numérico para la evaluación. Para visualizar la utilidad con un ejemplo, supongamos un call center que se dedica a la venta de seguros de vida, donde tiene una base de datos con una tabla con la siguiente estructura: VentasSeguros

IdCliente FechaVenta TipoSeguro MontoTotal

Y quiere monitorear la evolución de las ventas durante el día, de forma de recibir un aviso en caso que las ventas de la última hora no superen los 5000 dólares. Podrá definirse un indicador de base de datos, utilizando una sentencia de la forma: SELECT SUM(MontoTotal) TotalVentasHora FROM [VentasSeguros] WHERE datediff(hour, FechaVenta, getdate()) < 1

Indicadores scriptables Los indicadores scriptables como su nombre lo indica, son indicadores que se miden a partir de la ejecución de un script, entendiéndose por script un trozo de código que al ejecutarse retorne un valor numérico como resultado.

Se aplican en situaciones donde el elemento que queremos supervisar no provee información mediante SNMP, o no es un elemento de base de datos. Para esos casos, programando un script (*) podemos monitorear prácticamente cualquier cosa. Dentro de la solución inConcert algunos de las entidades que se podrían medir de esta forma son:    

Numero de errores en el log de asterisk Revisar el tamaño de los archivos de log de inConcert Validar la cantidad de archivos en una carpeta donde se reciben faxes Consultar un web-service que reporta el estado de un sistema de backoffice en una empresa (*) Nota: El lenguaje de programación que se debe utilizar para el desarrollo de scripts es LUA. (http://www.LUA.org)

Usuarios Existen dos perfiles de usuarios claramente definidos interesados en utilizar la solución:  

Encargado de soporte IT o Interés en monitoreo de infraestructura y disponibilidad de la solución Supervisores de campaña o Foco en el negocio, indicadores de performance y productividad.

Dentro de los indicadores predefinidos (Ver Apéndice A) que dispone la solución, se encuentran ya disponibles valores de interés para ambos roles. A su vez el rol supervisor, como veremos más adelante,tiene la posibilidad de integrar valores monitoreados desde Live Monitor directamente en su consola de supervisión. Para ingresar al Live Monitor, luego de registrarse se debe abrir la solapa correspondiente de su panel principal que en caso de ser la primera vez mostrará la siguiente pantalla del escritorio:

Como se aprecia está vacía ya que aún no se ha configurado ni asociado ningún atributo monitoreable. Cuando se lo haga, aparecerán aquí las gráficas de los mismos. Presionando en el botón “Configuración” se abrirá la consola de la aplicación (*):

(*) Nota: presionando en la opción “Home” del menú se volverá al “escritorio”

CONFIGURACIÓN En esta sección se encuentra la referencia detallada de como configurar cada uno de los elementos que componen la solución de monitoreo.

Indicadores Un indicador no define una medición en sí misma, sino que define una forma de medir algo. Por lo tanto cuando queramos monitorear algún elemento lo primero que tenemos que hacer es definir un indicador para el mismo en caso que no esté ya definido (Ver Apéndice A). Algunos ejemplos de indicadores son:    

Espacio en disco Uso de CPU Llamadas encoladas Ratio de abandono del discador

Cada uno de estos indicadores define un concepto y una forma de medirlo, no una medición explicita. El espacio en disco es un indicador que de hecho puede medirse en 20 equipos, el proceso de definir contra que hosts de la infraestructura quiero realizar cuales mediciones, se verá en la sección de definición de atributos. En el caso de los indicadores nos vamos a concentrar en el detalle de definir como se debe medir. En todos casos para crear un nuevo indicador se puede realizar desde la vista correspondiente

Indicador SNMP Para configurar un indicador SNMP debemos especificar la siguiente información:   

Un nombre y descripción para el indicador El MIB a partir del cual queremos tomar el valor El OID (*) del elemento que queremos monitorear dentro de ese MIB

En la siguiente pantalla se muestra la configuración de un indicador SNMP que permite consultar contra una asterisk la cantidad de llamadas que están siendo grabadas.

Indicador SNMP a partir de tabla En muchos casos la información que publica un servicio de SNMP no es un valor único consultable, como lo es el número de threads o consumo de CPU, sino que es una lista de valores. Esta lista de valores tiene el nombre de Tabla SNMP. Usualmente los servicios monitoreables publican Tablas SNMP cuando tienen más de un elemento de un mismo tipo al cual consultar, por ejemplo, una central telefónica tendrá una lista de llamadas, y el servicio de ACD tendrá una lista de las llamadas en espera que tiene para cada una de sus campañas. La aplicación Live Monitor nos permite consultar Tablas SNMP, con la restricción que tenemos que especificar qué elemento de la tabla queremos consultar. Siguiendo con el ejemplo del servicio de ACD (Ver Apéndice A Indicadores Predefinidos) , dicho servicio publica una tabla que contiene los valores: Nombre de la campaña, Llamadas en espera, Histórico de llamadas.

Campaña

Llamadas en espera

Histórico

SOPORTE@DIRECTV 10

789

VENTAS@DIRECTV

4

41

Personal@DIRECTV

2

23

Dicha estructura surge a partir de la definición de la tabla que podemos encontrar en el MIB del servicio: ActorserviceAcdCallsEntry ::= SEQUENCE { actorserviceAcdCallsCampaign DisplayString, actorserviceAcdCallsCount Unsigned32, actorserviceAcdLastCallsHistory Unsigned32 } Al momento de definir un indicador SNMP contra un atributo del tipo Tabla SNMP, debemos especificar los siguientes datos:   

IndexOID, con qué campo deseo filtrar al elemento de la tabla a consultar. IndexTemplate, valor para filtrar el campo anterior. FieldOID, valor a ser proyectado en la medición.

Por lo tanto, si quisiéramos consultar la cantidad de llamadas en espera de la campaña SOPORTE, tenemos que realizar la siguiente definición:   

IndexOID => actorserviceAcdCallsCampaign, ya que quiero filtrar la tabla por campaña. IndexTemplate => "SOPORTE@DIRECTV", el valor a usar para filtrar. FieldOID => actorserviceAcdCallsCount, el valor a medir.

Viéndolo en la pantalla de configuración:

Observar que en el campo IndexTemplate del form se especifica de manera explícita el ID de la campaña y del VCC.

Si se deseara reutilizar este indicador para monitorear el mismo valor pero en otra campaña se debería modificar el string del campo "IndexTemplate" usando caracteres comodines de la forma "%1@%VCC". Así se reemplazaran variables "%1" y "VCC" según la configuración del atributo monitoreable que use el Indicador. De esta manera el ejemplo quedaría así:

Donde %VCC se reemplazara automáticamente por el VCC en el que se defina el Atributo Monitoreable que use este Indicador y %1 se reemplazará por el valor ingresado en el campo parámetro de dicho Atributo Monitoreable.

Indicador de base de datos Para configurar un indicador de base de datos debemos especificar la siguiente información:     

Un nombre y descripción para el indicador Un origen de datos ODBC (*) a utilizar para ejecutar la consulta Usuario y clave que tenga permiso para utilizar el origen de datos Sentencia a ejecutar Campo proyectado en el resultado de la sentencia que se desee utilizar como dato de la medición

En la siguiente pantalla se muestra un ejemplo donde se configura un indicador utilizando el datasource 'DATASOURCE' que ejecuta la sentencia {Call GetVentasHora()} asumiendo que existe un store procedure con ese nombre que proyecta un campo TotalVentasHora con el valor que interesa monitorear.

Indicador de script Para configurar un indicador del tipo script debemos especificar:  

Un nombre y descripción para el mismo El código del script LUA que deseamos ejecutar.

En la siguiente pantalla se muestra un ejemplo donde se configuró un indicador llamado "PING", el cual ejecuta un script que devuelve el resultado de un PING al host que se reciba por parámetro.

Nota: El PING es un indicador disponible predefinido en cada instalación de inConcert. Por más información sobre indicadores predefinidos ver APENDICE A.

Atributos Un Atributo Monitoreable (de acá en más, Atributo a secas) define una medición que se va a realizar contra un host real. Hasta ahora la definición de indicadores nos había permitido definir formas de medir elementos, sin especificar donde queríamos medirlos concretamente. Un Atributo es precisamente eso, una medición concreta que se va a realizar. Podemos suponer que el indicador es el metro del sastre y el atributo es la medición contra un sujeto concreto que precisa un traje. Por lo tanto a la hora de especificar un Atributo debemos definir el siguiente conjunto de valores:   

 



Una descripción que nos ayude luego a identificar la medición. Un indicador previamente definido que se utilizara en la medición Uno o más hosts, indicando contra que equipos se debe medir. En el caso que se especifique más de un host en el combo de los disponibles, esto dará origen a una medición por host para el intervalo configurado. Cada cuanto tiempo se desea realizar la medición Existe un intervalo alternativo a utilizar si el atributo no se puede medir. Por ejemplo si un servidor esta caído y no se puede medir el espacio en disco cada 1 minuto, se puede especificar un intervalo alternativo de 1 hora hasta que el host vuelva a la normalidad, junto con el intervalo de medición.

Ventana histórica de mediciones que se quiere persistir (Ver APENDICE H por configuraciones de intervalo histórico )



Un conjunto de alarmas opcionales que se activarán al cumplirse la condición especificada sobre el Atributo (por más información ver abajo)

Alarmas Las alarmas permiten al usuario especificar en qué condiciones quiere recibir un llamado de atención, tanto producto de un problema existente, como de una situación que si no es atendida puede derivar en un problema mayor. Existen dos tipos de alarmas configurables en inConcert Live Monitor:  

Alarmas de muestreo Alarmas de eventos o traps

Alarmas de muestreo Las alarmas de muestreo se asocian a un Atributo Monitoreable, y se dispararán si se cumple una condición sobre la muestra de valores medidos, de ahí el nombre de alarma de muestreo. Un ejemplo de lo anterior seria, si se está midiendo el porcentaje de llamadas abandonadas cada 5 minutos, podríamos definir una alarma con la condición: "Porcentaje de llamadas abandonadas es mayor que 25 por más de 30 minutos". Y en el caso que se cumpla dicha condición, ejecutar un conjunto de acciones predefinidas, por ejemplo notificar a algún supervisor.

Pulsando con el mouse en cualquiera de los términos de la condición aparecerá una serie de opciones por las cuales se podrá cambiar el valor actual.

Alarmas de eventos Las alarmas de eventos se refieren a traps o notificaciones SNMP, por lo que no tienen un Atributo Monitoreable asociado. Como se mencionó en la sección de configuración de indicadores SNMP, cada dispositivo de la red que soporte el protocolo de monitoreo SNMP, publica la información que es monitoreable del mismo en un archivo MIB donde se describe y jerarquiza dicha información. Dentro de la información monitoreable del MIB, categorizada en distintos OID (object identifiers), se encuentra un tipo especial de objeto son los llamados eventos o TRAPS SNMP. Estos eventos no son valores que se puedan consultar del dispositivo, sino que son eventos que el dispositivo envía ante determinadas circunstancias. Dependiendo del tipo de dispositivo existen distintos eventos que tienen relevancia para ser enviados como traps. Por ejemplo una impresora de red inteligente, que lance el trap OutOfPaper cuando esta se queda sin papel mientras imprime, nos permitiría configurar una alarma de Trap que intercepte dicho evento, y le envie un mail al encargado de infraestructura para que le cargue más papel. En la imagen vemos la trap asteriskicConnectionFailed, que lanza la Asterisk de InConcert cuando detecta un fallo en la conexión contra el servidor de inConcert.

Acciones ante alarmas Cualquiera sea el tipo de alarma, tenemos la opción de configurar acciones a ejecutar cuando se activa la alarma. Dichas acciones tienen que estar previamente ingresadas y podrán ser compartidas entre distintas alarmas. Se podrá especificar el máximo número de reintentos en caso de que falle la ejecución de la acción, y el intervalo de espera entre reintentos

Por último, se podrá establecer una reconfiguración dinámica de las alarmas que se ejecutan. Es decir, son acciones que modifican la configuración de la propia alarma o de otra alarma diferente una vez que se ha ejecutado. Las alarmas de evento admiten las siguientes reconfiguraciones:  

Sleep - Duerme la alarma, indefinidamente o por un intervalo de tiempo especificado. La alarma no vuelve a ejecutar hasta despertase Wake Up - Levanta otra alarma que estuviera dormida. Si la alarma no estaba dormida cuando se ejecuta la reconfiguracion, entonces no tiene efecto

Mientras que las alarmas de muestreo admiten además de las dos anteriores las siguientes:  

Sleep Until - Duerme la alarma hasta que se cumple la condición establecida New Condition - Establece una nueva condición de ejecución. Esta se restaura a la condición original una vez que deja de cumplirse

Acciones Las acciones son lo que ejecuta el Live Monitor como reacción a la activación de una alarma. Existen 2 tipos de acciones:  

Mail - Envió de mail Script - Ejecución de script de LUA

Mails Las acciones de mail, permiten enviar un mail a un destinatario, especificando un subject, un contenido, y opcionalmente archivos a adjuntar. Dado que la acción se ejecutara en el contexto de la alarma que se activó, es posible personalizar la acción de mail con "variables" dependientes de la alarma. Las variables que se pueden utilizar tanto en el subject, como en el asunto son:       

Host (ip de la máquina que hizo disparar la alarma (si es trap o query snmp) ó datasource si es ODBC) AttributeType (para cuando es alarma de muestreo, el tipo de atributo: "SNMP", "ODBC", "LUA") VCC (Virtual Call Center asociado) AlarmDate (fecha en la que se disparó la alarma) AlarmTime (hora y minutos en que se disparó la alarma) AlarmDescription (descripción de la alarma) AlertCondition (descripción del evaluador de muestras que hizo disparar la alarma)

  

ActualCondition (descripción del evaluador de muestras que se utilizara a partir de ahora [puede ser el mismo que alerto la alarma]) LastValue (ultimo valor tomado) Index (aplicable a las alarmas samplers de tipo SNMPTable únicamente)

Para indicar que se trata de una variable, se debe escribir entre paréntesis rectos "[" y "]" Ej: "Atención: el equipo [Host] activo la alarma [AlarmDescription] debido a que la muestra tomada cumple [AlertCondition]"

Nota(*): Para poder adjuntar archivos contenidos en el host que activó la alarma, el mismo deberá tener instalado y ejecutandose el servicio RemoteExecutionServer cuyo setup está disponible a demanda.

Se puede especificar un único o varios archivos (separados por comas), o varios patterns con comodines "*" y "?" Un ejemplo de configuración de mail:

Notar que hay que configurar el servidor SMPT a utilizar, nombre de usuario y contraseña para que se pueda enviar el mail. Scripts Las acciones de script, permiten correr un script de LUA en un ambiente controlado, que evita que el mismo se ejecute indefinidamente y consuma toda la memoria del servicio. Dicho script al correr en el contexto de activación de una alarma, también puede acceder a variables dependientes de dicha alarma (como pasaba en el caso del mail) En este caso lo hace accediendo a los campos de la tabla global Action, cuyos miembros tienen el mismo significado que en el caso de las acciones de mail:    

Action.Host Action.AttributeType Action.VCC Action.AlarmDate

     

Action.AlarmTime Action.AlarmDescription Action.AlertCondition Action.ActualCondition Action.LastValue Action.Index

Además se cuenta con las siguientes funciones especiales:     

SNMPGet(oid, server) -- Obtiene un valor snmp escalar SNMPGetTable(oid, server) -- Obtiene una tabla snmp ODBCGet(statement, source, username, password) -- Obtiene un valor a través de una conexión ODBC ODBCGetCursor(statement, source, username, password) -- Obtiene un cursor para recorrer las rows de una consulta RemoteExecution(host, port, method, params) -- Ejecuta remotamente un metodo y devuelve el resultado o lanza un error si no es posible conectar

El metodo RemoteExecution se utilizara cuando es necesario ejecutar una acción de manera remota (*). Incluso es posible ejecutar un script remotamente, por ejemplo, si se quiere un script que elimine archivos temporales del disco para liberar espacio. (*) Nota: Para esto también es necesario que el servicio RemoteExecutionServer este levantado en la maquina remota.

Los metodos que soporta son:       

ShutdownSystem (force) -- Apaga el sistema, si force == true, fuerza a cerrar todas las aplicaciones RestartSystem (force) -- Reiniciar el sistema, si force == true, fuerza a cerrar todas las aplicaciones StartService (name) -- Inicia un servicio de windows o proceso de linux cuyo nombre sea el valor de name StopService (name) -- Detiene un servicio de windows o proceso de linux cuyo nombre sea el valor de name GetFile (path) -- Obtiene un string binario del archivo remoto cuya ruta sea el valor de path GetDirFilenames (pattern) -- Obtiene una lista de los archivos que cumplan con el pattern especificado ExecuteScript (script) -- Devuelve el resultado de la ejecucion del script remoto

Un ejemplo de detención de un servicio:

VISUALIZACION Y ANÁLISIS La aplicación de monitoreo cuenta con un mecanismo de visualización de los datos monitoreados, que permite asistir tanto en el diagnóstico de potenciales problemas como en la comprensión general de cómo funciona una instalación. Relaciones entre atributos no detectables a simple vista pueden resultar evidentes viéndolas reflejadas gráficamente. Si una imagen vale más que mil palabras, una gráfica vale más que mil planillas excel. Ya que teniendo los atributos relevantes graficados podemos detectar que el número de abandonos sube a la hora de día que el motor de marcación tiene mejor ratio de contactación o monitorear simultáneamente el uso de CPU y de memoria física de un servidor que está teniendo problemas de caídas.

Gráficas Apenas entrar a la aplicación de Live Monitor, se nos presenta un panel principal donde podemos insertar graficas de distintos atributos que estén siendo monitoreados.

Agregar una nueva grafica al panel Presionando el botón , se nos presenta el panel de agregado de nueva gráfica, en dicho panel debemos especificar los siguientes datos para graficar:   

Un nombre para la grafica Que atributo queremos graficar (el cual ya debe estar configurado). De que HOST queremos graficar la medición del atributo.

Como vimos al momento de crear un atributo monitoreable, éste puede configurarse para medirse en más de un HOST dando lugar a distintas mediciones. Por lo que a la hora de visualizar la medición debemos decidir cuál de las mediciones queremos ver (en caso que se quieran ver todas se puede seleccionar todos los hosts). Para ejemplificar y que sea comprensible, si creamos un atributo monitoreable que se llama "Espacio en disco de servidor" que está midiendo el espacio libre en disco sobre 4 servidores disponibles, tenemos 4 potenciales graficas distintas, para la evolución en el tiempo del espacio en disco de cada uno de los servidores. A continuación se muestra una imagen de agregado de grafica seleccionando los valores antes comentados

Cortar dos atributos monitoreables dentro de una misma grafica Hay determinadas situaciones en las que es útil poder visualizar dos atributos monitoreables juntos en el tiempo de forma de entender si una variación en uno de los atributos puede estar afectando el comportamiento de otro. Para esto la aplicación de Live Monitor permite superponer atributos secundarios agregando nuevas series sobre una gráfica existente. Lo hacemos presionando el botón de queremos agregar un nuevo valor:

(Agregar nueva serie) en el panel derecho de la gráfica a la cual le

Al presionarlo se despliega el panel de agregado de gráfica, destacando que estamos agregando la gráfica a la preseleccionada. En el caso del ejemplo vamos a comparar el consumo de memoria con el porcentaje de uso de CPU para analizar si ambos pueden estar relacionados.

Al agregar la gráfica vemos como se visualizan ambos atributos dentro del mismo panel, y que los atributos en este caso no presentan relación aparente.

Controles de las Gráficas Además del mencionado botón (Agregar nueva serie) disponemos de otros controles que nos permitirán modificar la forma en que se visualiza la misma.

El control “Range” muestras.

El botón “Show/Hide Config” El botón Y el botón

permite cambiar el rango temporal en el que se visualizarán las

sirve para mostrar u ocultar el panel lateral de cada gráfica.

“Colapse/Expand Chart” modifica el tamaño de la ventana donde se muestra la gráfica. elimina la gráfica del escritorio.

A la izquierda de cada una de las series de la gráfica se encuentra el botón “+” controles de la serie de que se trate:

que despliega los

marcando la casilla “Show Average” se visualizará en la gráfica una línea superpuesta que representa el promedio de las mediciones que se está mostrando.

Mediante el botón “Change Serie Type” se intercala entre visualización en forma de barras o de líneas.

Para agrandar momentáneamente un sector de una gráfica basta con “pintarla” con el mouse y soltar el botón. El sector marcado se mantendrá agrandado hasta que llegue la siguiente medición.

Escritorios Si tuviéramos que monitorear un amplio conjunto de gráficas de diferente índole, digamos por ejemplo las referidas a infraestructura y las de performance de negocios o las de la campaña “Ventas” y las de la campaña “Atención al Cliente”, podemos separarlas en grupos diferentes y tener una vista para cada uno de ellos. Para hacerlo crearemos un “escritorio” para cada conjunto de gráficas mediante el botón “Create New Desk”

Avisos de Alarma Como ya se indicó, podemos indicar acciones a efectuarse ante la activación de una alarma tales como el envío de un mail o cualquier otra acción como ejecutar un proceso. No obstante ello, Live Monitor nos indicará la activación mediante dos procedimientos que detallaremos.

Panel Principal Cada vez que se dispare una alarma se nos indicará en panel principal del Live Monitor en la sección “Alarm Events” de su menú. Esto ocurrirá con todas las alarmas disparadas tengan o no asociada alguna acción. En la imagen inferior vemos que se nos está avisando que se han producido 13 eventos de alarma (*).

Nota (*) (Puede que sean diferentes alarmas y también ocurrir que una misma alarma haya disparado más de una vez)

Pulsando con el mouse en el sector de Eventos Pendientes se desplegará la vista con las alarmas disparadas. En este ejemplo se observa que los avisos son de la misma alarma.

Inicialmente las alarmas generan eventos que quedan en estado de “UnRead” y “Pending”. El total de los eventos “UnRead” aparecerá al lado de la de eventos pendientes del menú de la consola. (Ver imagen anterior). Pulsando con el mouse una vez en un evento, éste pasa a estar “Read” pero permanecerá en estado de “Pending” Mediante los botones de edición o haciendo doble clic se puede cambiar el estado de un evento. Los posibles estados son “Hot” o “Fix” además del mencionado “Pending”. Si se considera que el evento es de una gravedad que requiera una atención urgente se lo puede cambiar a “HOT” para que sea visualizado en ese sector del menú. Cuando se haya solucionado la situación se le podrá cambiar el estado a “Fixed” con lo cual se lo moverá a ese sector. En todos los casos será obligatorio ingresar un comentario del motivo de cambio de estatus.

Gráfica con Alarma Si se dispara una alarma asociada a un atributo que se está monitoreando se observará que la gráfica de dicho atributo se tornará de color rojo alternadamente para llamar la atención. En la imagen siguiente, vemos que la gráfica de uso de CPU está en esa situación (*).

Nota (*) Esto no ocurrirá con las alarmas configuradas para apagarse una vez disparadas.

Integración con Supervisor La aplicación Live Monitor está integrada de forma nativa con el Supervisor de inConcert, lo que permite que un supervisor comparta gráficos configurados en el Live Monitor, directamente desde la consola de administración. El mecanismo de integración es automático, y todas las gráficas que estén en el escritorio por defecto del supervisor, se verán disponibles para ser desplegadas en el panel de graficas de campaña del supervisor. En el siguiente ejemplo se puede apreciar un supervisor con dos graficas disponibles, "Consumo de CPU" y "Tiempo Activo" que están siendo tomadas de su escritorio por defecto de la aplicación Live Monitor.

Nota: En caso que en el escritorio por defecto exista alguna gráfica con múltiples atributos, en el supervisor se desplegará solamente la serie principal y no las secundarias.

APENDICE A - INDICADORES PREDEFINIDOS Con la instalación de inConcert Allegro queda disponibles un conjunto de indicadores pre configurados que intentan cubrir aspectos relevantes en cuanto a monitoreo de la actividad comercial y de la infraestructura de los centros de contacto. Si bien se presentan agrupados en categorías todos ellos pueden usarse en forma combinada.

Monitoreo de la actividad del negocio Performance OID /Indicator

Abandoned Calls Percent AbandonedCallsPercent

Abandoned Inbound Calls Percent AbandonedInboundCallsPercent

Abandoned Outbound Calls Percent AbandonedOutboundCallsPercent

ACD Calls ACDCalls

Service Level ServiceLevelPercent

Average Awaiting Time AverageAwaitingTime

Indicador

Descripción

Parámetros

Porcentaje de Abandono

Porcentaje de abandono de llamadas entrantes y salientes por campaña. (Últimos 15 minutos)

Campaña

Porcentaje de Abandono Entrantes

Porcentaje de abandono de llamadas entrantes por campaña. (Últimos 15 minutos)

Campaña

Porcentaje de Abandono Salientes

Porcentaje de abandono de llamadas salientes por campaña. (Últimos 15 minutos)

Campaña

Llamadas en ACD

Total de llamadas en el ACD esperando agente

Campaña

Nivel de Servicio

Porcentaje de llamadas que fueron atendidas cumpliendo el nivel de servicio configurado

Campaña

Promedio de tiempo de espera

Promedio de tiempo de espera de llamadas entrantes por campaña. (Últimos 15 minutos)

Campaña

Monitoreo de la Infraestructura De Uso Común OID /Indicator

Indicador

Descripción

Parámetros

-

-

-

-

Generales OID /Indicator

AverageProcessorLoad Average Processor CPU Load

Indicador

Descripción

Promedio Uso de CPUs

Promedio de utilizacion de CPUs en el último minuto

Máximo Uso de CPUs

Máximo de utilización de los CPUs en el último minuto

Tamaño de DB

Espacio utilizado por la BD especificada en MBs

Porcentaje libre espacio en disco

Mínimo porcentaje de espacio libre en los discos de un servidor. Puede especificarse una única unidad en vez del mínimo de todas las unidades

Porcentaje de memoria física utilizada en el host

Porcentaje de memoria física utilizada en el host

Respuesta del Host

Devuelve true si el host especificado responde dentro del

MaximumProcessorLoad Maximum Processor CPU Load

DBSpaceUtilized DB Space Utilized

FreeDiskSpacePercent Free Disk Space Percent

PhysicalMemoryUtilizedPercent Physical Memory Utilized Percent

Ping

Parámetros

tiempo especificado

Host response

SystemUpTime System running Time

AsteriskUpTime Asterisk running time

Tiempo desde inicio del host

Cantidad de ticks desde que se inició el sistema

Tiempo de inicio servicio asterisk

Tiempo que lleva corriendo el servicio AsteriskACDService

Memoria usada por proceso

Toral de memoria que está utilizando el proceso especificado (en KB)

ProcessUtilizedMemory Memory used by Process

Licencias OID /Indicator

Indicador

Descripción

Available agent licenses

Licencias de Agente Disponibles

Licencias de agente simultáneas disponibles

-

Available Supervisor licenses

Licencias de upervisor Disponibles

Licencias de Supervisor simultáneas disponibles

-

Available Administrador licenses

Licencias de Administrador Disponibles

Licencias de Administrador simultáneas disponibles

-

Days to expire license

Días para vencimiento Licencias

Días restantes para expiración de licencias

-

Administrador de Usuarios OID /Indicator

Logged Users (Guille)

Indicador

Descripción

Usuarios registrados

Visualiza el total de usuarios registrados en el sistema

Parámetros

Motor de Marcación OID /Indicator

Indicador

Descripción

Muestreo

outboundengine Dialing Calls outboundengineDialingCalls

Outboundengine Current Calls OutboundengineCurrentCalls

Outboundengine Connected Calls OutboundengineConnectedCalls

Llamadas marcándose Motor de Marcación

Llamadas actuales Motor de Marcación

Llamadas conectadas Motor de Marcación

Outboundengine Automatic Attentions In Process

Atenciones automáticas Motor de outboundengineAutomaticAttentionsInProcess Marcación

Outboundengine Awaiting Agent calls outboundengineAwaitingAgent

Cantidad de llamadas que está haciendo en este momento (marcando)

Cantidad de llamadas ya conectadas y las que están marcándose

Cantidad de llamadas conectadas

Cantidad de atenciones automáticas en proceso

Llamadas esperando agente Motor de Marcación

Cantidad de llamadas predictive/progressive esperando por agente

Contactos procesados Motor de Marcación

Cantidad de contactos siendo procesados por el motor, tanto los que están en espera como los que están en proceso de conexión (no es lo mismo que proceso automatico las peticiones q tiene "trancadas" digamos las q mando ejecutar y aun no termino

Outboundengine Loaded Contacts outboundengineLoadedContacts

Parámetros

Web Handler OID /Indicator

Indicador

Descripción

Maximum Number Of Requests to Web Handler Máximo Número de Máximo Número de solicitudes al Servicio solicitudes al Servicio MaximumNumberOfRequestsWebHandler WEB WEB

Number Of Web Handler Lua VirtualMachines NumberOfLuaVirtualMachinesWebHandler

Private Memory Used by Web Handler MemoryPrivateUsageWebHandler

Number Of Web Handler Sessions NumberOfSessionWebHandler

Maximum Number Of Requests to Web Handler MaximumNumberOfRequestsWebHandler

Maximum Number Of Running Requests to Web Handler MaximumNumberOfRunningRequestsWebHandler

Maximum Number Of Threads Processing in Web Handler MaximumNumberOfThreadsProcessingWebHandler

Paging file memory used by Web Handler MemoryPagefileUsageWebHandler

Número de máquinas virtuales LUA del Servicio WEB

Numero de máquinas virtuales de LUA del Servicio WEB

Memoria privada usada por el Servicio WEB

Memoria privada usada por el Servicio WEB

Número de sesiones del Servicio WEB

Número de sesiones del Servicio WEB

Máximo número de solicitudes hacia el Servicio WEB

Máximo número de solicitudes hacia el Servicio WEB

Máximo número de solicitudes procesándose en el Servicio WEB

Máximo número de solicitudes procesándose en el Servicio WEB

Máximo número de hilos procesándose en el Servicio WEB

Máximo número de hilos procesándose en el Servicio WEB

Uso del archivo de paginación por el Servicio WEB

Uso del archivo de paginación por el Servicio WEB

Peak paging file memory used by the Web Service Pico del uso del archivo paginación MemoryPeakPagefileUsageWebHandler por el Servicio WEB

Peak working size memory used by the Web Service MemoryPeakWorkingSetSizeWebHandler

Pico del área de trabajo usada por el Servicio WEB

Pico del uso del archivo paginación por el Servicio WEB

Pico del área de trabajo usada por el Servicio WEB

Parámetros

Quota of no paged memory used by the Web Service

Cuota de memoria no paginada usada por Servicio WEB

Cuota de memoria no paginada usada por Servicio WEB

Quota of paged memory used by the Web Service Cuota de Memoria Paginada usada por MemoryQuotaPagedPoolUsageWebHandler Servicio WEB

Cuota de Memoria Paginada usada por Servicio WEB

MemoryQuotaNonPagedPoolUsageWebHandler

(No se …) MemoryQuotaPeakPagedPoolUsageWebHandler

Peak of paged memory used by the Web Service MemoryQuotaPeakPagedPoolUsageWebHandler

Used memory of all Web Handler sessions

Pico de cuota de memoria no paginada usada por Servicio WEB

Pico de cuota de memoria no paginada usada por Servicio WEB

Pico de memoria paginada usada por Servicio WEB

Pico de memoria paginada usada por Servicio WEB

Uso de memoria de todas las sesiones de Servicio WEB

Uso de memoria de todas las sesiones de Servicio WEB

Tamaño del espacio de trabajo del Servicio WEB

Tamaño del espacio de trabajo del Servicio WEB

Numero de buffers en uso del Servicio WEB

Numero de buffers en uso del Servicio WEB

Número de buffers del Servicio WEB

Número de buffers del Servicio WEB

Número de pedidos retrasados del Servicio WEB

Número de pedidos retrasados del Servicio WEB

Número de solicitudes pendientes del Servicio WEB

Número de solicitudes pendientes del Servicio WEB

Número de sockets en uso en el Servicio

Número de sockets en uso en el Servicio

MemoryUsageOfAllSessionsWebHandler

Memory working set size of WebHandler MemoryWorkingSetSizeWebHandler

Number Of Web Handler used Buffers NumberOfBuffersInUseWebHandler

Number Of Web Handler Buffers NumberOfBuffersWebHandler

Number Of Web Handler Delayed Requests NumberOfDelayedRequestsWebHandler

Number Of Web Handler Pending Requests NumberOfPendingRequestsWebHandler

Number Of Used Sockets In Web Handler

NumberOfSocketsInUseWebHandler

Number Of Web Handler Sockets NumberOfSocketsWebHandler

Number Of Web Handler Processing Threads

WEB

WEB

Numero de sockets en el Servicio WEB

Numero de sockets en el Servicio WEB

Numero de hilos procesándose en el Servicio WEB

Numero de hilos procesándose en el Servicio WEB

Numero de hilos en el Servicio WEB

Numero de hilos en el Servicio WEB

Número de pedidos al Servicio WEB

Número de pedidos al Servicio WEB

Solicitudes vencidas en Servicio WEB

Solicitudes vencidas en Servicio WEB

Total de memoria usada por máquinas virtuales en el Servicio WEB

Total de memoria usada por máquinas virtuales en el Servicio WEB

NumberOfThreadsProcessingWebHandler

Number Of Web Handler Threads NumberOfThreadsWebHandler

Number Of Request to Web Handler RunningRequestsWebHandler

Timed out requests in Web Handler TimedOutRequestsWebHandler

Total used memory by virtual machines in Web Handler TotalMemoryOfVirtualMachinesWebHandler

Asterisk OID /Indicator

Asterisk ic Recording Calls asteriskicRecordedCalls

Asterisk ic Spied Calls asteriskicSpiedCalls

Indicador

Descripción

Llamadas grabándose

Cantidad de llamadas que estan siendo grabadas en la Asterisk

Llamadas espiándose

Cantidad de llamadas espiadas usando InconcertChanSpy

Llamadas retenidas

Cantidad de llamadas que estan parkeadas (en tkParkApp)

Asterisk ic Parked Calls asteriskicParkedCalls

Parámetros

Asterisk ic Active Calls asteriskicActiveCalls

Asterisk ic processing Voicemails asteriskicVoicemails

Asterisk ic Supervisor Spies asteriskicStreamedSpies

Asterisk ic Streamed Recordings

Llamadas activas

Cantidad de llamadas activas en la PBX

Mensajes de voz procesados

Cantidad de mensajes de voz procesados por el sistema

Llamadas monitoreadas

Cantidad de llamadas monitoreadas por supervisores

Grabaciones escuchadas

Cantidad de grabaciones siendo escuchadas

Falla inicio servicio asterisk

Falla al iniciar el servicio inConcert AsteriskACDService

Servicio de asterisk detenido

El servicio inConcert AsteriskACDService se detuvo

Falla en troncal E1

Falla en un troncal E1

Falla conexión con servidor

Falla de conexión PBX con el servidor

Servicio asterisk reinició

Se reinició el inConcert Asterisk ACD Service

asteriskicStreamedRecordings

Asterisk ic service Loading Error asteriskicserviceLoadingError

Asterisk ic service Stopping asteriskicserviceStopping

Asterisk ic Trunk Down asteriskicTrunkDown

Asterisk ic Connection Failed asteriskicConnectionFailed

Asterisk ic Service Restarted asteriskicServerRestarted

Asterisk ic Voicemail Failed asteriskicVoicemailFailed

Falla en mensaje de voz

Ocurrio un error en inconcert procesando un mensaje de voz ¿Qué ES LO QUE FALLA?

APENDICE B - EJEMPLOS DE INDICADORES CUSTOM Indicador de BD: Supongamos que tenemos una BD llamada DBSales, a la que puede acceder el usuario "auditor" para monitorear las ventas por hora que realizan los empleados. (*) Las ventas se registran en la tabla llamada Sales bajo el esquema: IdSale

SalesmanId

Date

Ammount

Se quiere definir un indicador que permita monitorear las ventas por hora de un empleado. Para esto creamos el siguiente indicador de BD:

Obsérvese que se está ingresando directamente la consulta contra el servidor SQL: Select sum (ammount) as total from sales where salesmanid = ´%1´ and datediff (hour,date,getdate())