Story Transcript
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())