Explorador de datos

ServicePilot proporciona acceso a los datos que recoge en forma de gráficos, cuadros y resúmenes, así como a los datos brutos almacenados en sus bases de datos. Todo esto se filtra y clasifica para producir estadísticas útiles.

Al desplegar los recursos, las plantillas de packages vienen con cuadros de mando predefinidos para mostrar la información relacionada con estos recursos. Es posible que estos cuadros de mando ya muestren la información que necesitas, pero es posible refinar estas búsquedas o crear consultas completamente nuevas.

Tipos de datos

Existen dos tipos principales de datos para la información almacenada por ServicePilot en sus bases de datos:

  • String contiene texto.
  • Integer registrar datos numéricos.

Umbrales indicadores

Al probar los umbrales, los indicadores de String sólo pueden utilizar los operadores = y <> mientras que los indicadores de Integer también se pueden comprobar con < y > para ver si el valor está por encima o por debajo de un límite.

Además de los umbrales fijos, los indicadores Integer también pueden tener umbrales establecidos en función del análisis de las series de datos. Si se detectan Spikes o alertas de cluster de aprendizaje, estos también pueden establecer el estado del indicador.

Puede encontrar más información sobre Anomalías de datos en ¿Qué es un umbral?

Operadores de consulta de bases de datos

Al extraer los datos de la base de datos ServicePilot, se recogen varias series de datos para su presentación. Cada serie se recoge dentro del mismo marco de tiempo especificado. Se especifica un Campo y se aplica a los datos un operador Estadística de campo o una Fórmula.

Estadísticas de campo

Las Estadísticas de Campo están limitadas por el tipo de datos que se están consultando.

Tabla estadísticas de campo
Tipo de datos Estadísticas de campo Utilice
String & Integer Cuenta Cuente el número de registros de la base de datos que contienen este campo en el período especificado. No todos los registros de la base de datos contienen todos los campos. Si se necesita un recuento de todos los records, cuente con el campo índice id que está presente en todos los records.
Primer valor Obtener el primer valor del campo seleccionado dentro del tiempo especificado.
Ultimo valor Obtener el último valor del campo seleccionado dentro del tiempo especificado.
Datos que faltan Cuente el número de entradas en la base de datos que no contienen este campo en el período especificado.
Único Cuente el número de valores diferentes que el campo seleccionado toma dentro del período de tiempo especificado.
Integer sólo Suma Suma de todos los valores en el campo especificado dentro del período de tiempo especificado.
Promedio Encuentra el promedio de todos los valores en el campo especificado dentro del período de tiempo especificado.
Min Encuentra el valor más pequeño entre todos los valores del campo especificado dentro del período de tiempo especificado.
Max Encuentra el mayor valor entre todos los valores del campo especificado dentro del período de tiempo especificado.
Suma2 La suma al cuadrado de todos los valores en el campo especificado dentro del período especificado.
Percentil Un valor estimado para el percentil especificado a partir de todos los valores en el campo especificado dentro del período de tiempo especificado. Por ejemplo: el percentil 20 es el valor por debajo del cual se encuentra el 20% de las observaciones.
Pico Cuente el número de valores que empiezan a caer fuera de un rango calculado dinámicamente alrededor del gráfico del valor del campo especificado.
Tendancia1 Una tendencia de deslizamiento expresada en porcentaje para el campo especificado.
Trend30 Una tendencia de deslizamiento de 30 días expresada en porcentaje para el campo especificado.
Prediction Una previsión temporal que indique cuándo este campo superará el umbral crítico asociado a este indicador.

Graph example

Las funciónes estadísticas más complejas se representan mejor gráficamente con un gráfico de muestra. Este gráfico representa un indicador con el rango asociado y los picos fuera de rango.

Funciones

En lugar de obtener una estadística directamente de los datos, se puede aplicar una función para crear una nueva serie a partir de la serie existente.

Ejemplo:
Una serie se define obteniendo la suma del tráfico de red entrante y una segunda serie se define obteniendo la suma del tráfico saliente. Una tercera serie se define entonces como la suma de las dos primeras series para poder ver el tráfico total.

Lista de las funciones

Contando

Función Utilice Ejemplo
termfreq Devuelve el número de veces que aparece el término en la serie. termfreq(fieldname,term)

Info

Función Utilice Ejemplo
viewpath Devuelve la ruta de vista de un objeto, una vista o un recurso definido en una serie. viewpath(s0)
status Devuelve el estado en tiempo real de un objeto o un recurso definido en una serie. status(s0)
url Crea un acceso directo URL. Se pueden utilizar variables, por ejemplo url(‘/appmap?application={s0}’,‘_blank’). {value} se puede utilizar para recuperar el valor groupby. url('url{value|s0}','_blank')

Estadísticas

Función Utilice Ejemplo
describe.N Devuelve el número de elementos de una serie. describe.N(s0)
describe.min Devuelve el valor mínimo (más pequeño) de una serie. describe.min(s0)
describe.max Devuelve el valor máximo (mayor) de una serie. describe.max(s0)
describe.sum Devuelve la suma de los valores de una serie. describe.sum(s0)
describe.sumsq Devuelve la suma de los cuadrados de los valores de una serie. describe.sumsq(s0)
describe.mean Devuelve la media (promedio) de los valores de una serie. describe.mean(s0)
describe.var Devuelve la varianza de los valores de una serie. describe.var(s0)
describe.stdev Devuelve la desviación estándar de los valores de una serie. describe.stdev(s0)
describe.geometricMean Devuelve la media geométrica de una serie que sólo contiene valores positivos. describe.geometricMean(s0)
describe.popVar Devuelve la varianza poblacional de los valores de una serie. describe.popVar(s0)
describe.skewness Devuelve la asimetría de los valores de una serie. describe.skewness(s0)
describe.kurtosis Devuelve la curtosis de los valores de una serie. describe.kurtosis(s0)
corr Correlación de 2 series numéricas de igual tamaño. Los valores de correlación más cercanos a 0 indican una correlación baja y los valores de correlación más cercanos a ±1 indican una correlación alta. Los valores positivos indican correlación directa y los negativos correlación inversa. corr(s0,s1)
finddelay Finddelay utiliza la matemática convolucional para calcular el vector de correlación cruzada y, a continuación, calcula el retardo entre las dos series. finddelay(s0,s1)
sub-groupby-filter Devuelve un valor en una serie agrupada por el groupbyserie. Subgrupo por filtro: min, max, primero, último. Límite: un subgrupo por filtro por widget. sub-groupby-filter(s0,groupbyserie)

Matemáticas

Función Utilice Ejemplo
sum Devuelve la suma de valores: series o números. sum(series0,series1,...)
sub Devuelve la substracción de valores: series o números. sub(series0,series1,...)
product Devuelve el producto de valores: series o números. product(series0,series1,...)
div Divide un valor o serie por otro u otros números. div(series0,series1)
abs Devuelve el valor absoluto de una serie. abs(s0)
cos Devuelve el coseno trigonométrico de una serie. cos(s0)
sequence Genera una lista de números secuenciales donde length es el número de elementos, start es el primer valor y stride es el incremento entre cada elemento de la secuencia. sequence(length,start,stride)

Suavizado

Función Utilice Ejemplo
movingAvg Calcula una media móvil simple sobre una ventana móvil de datos definida como tamaño de ventana. movingAvg(s0,window size)
movingMedian Calcula la mediana móvil de la ventana móvil de datos definida como tamaño de ventana. movingMedian(s0,window size)

Transformación

Función Utilice Ejemplo
minMaxScale Escala series numéricas dentro de un valor mínimo y máximo. Valores mínimo y máximo opcionales, por defecto 0 a 1. minMaxScale(s0,min,max)
regress Devuelve la regresión lineal de los valores de una serie. regress(s0)
predict Utiliza el modelo de regresión para calcular predicciones para los siguientes p periodos (por defecto p=1) por ejemplo predict(s0,2), donde s0 es una serie de valores indicadores recogidos durante un periodo de 30 minutos, calculará los valores indicadores predichos para los siguientes 2 periodos de 30 minutos, es decir, los siguientes 60 minutos. predict(s0,p)
cov Calcula la covarianza de dos series numéricas de igual tamaño. cov(s0,s1)
distance Calcula la distancia total de dos series numéricas de igual tamaño. distance(s0,s1)
diff Calcula las diferencias entre valores consecutivos de una serie basándose en el retardo. El valor de lag es opcional y por defecto es 1. diff(s0,lag)

Series de tiempo

Función Utilice Ejemplo
per_second La métrica cambia por segundo. per_second(s0)
per_minute La métrica cambia por minuto. per_minute(s0)
per_hour La métrica cambia por hora. per_hour(s0)

Expresión

Función Utilice Ejemplo
variables Las funciones no pueden utilizarse como expresiones anidadas, por ejemplo, ‘abs(cos(s0))’. En su lugar deben utilizarse variables, por ejemplo, ‘a=cos(s0),abs(a)’. s1=array(1,2,3),
s2=array(4,5,6),
sub(s2,s1)

Consultas personalizadas a la base de datos

Además de los widgets que consultan la base de datos de ServicePilot en los cuadros de mando y los informes PDF, se pueden realizar consultas ad-hoc desde el menú Busca. Estas consultas pueden refinarse para crear nuevos widgets si es necesario. Los datos devueltos siempre se filtrarán automáticamente en función de lo que un usuario concreto esté autorizado a supervisar.

Las consultas pueden realizarse de dos maneras.

  • Widget con sintaxis Lucene: las consultas Lucene utilizan la sintaxis de consulta de Apache Lucene. Los datos pueden presentarse de muchas formas. La consulta y la forma de presentación se representan conjuntamente como definiciones de widget.
  • Query con sintaxis SQL simple: las consultas SQL simples extraen una única serie de datos a partir de una base de datos con un criterio de selección, un operador de agrupación y un filtro. Los datos se presentan en forma de tabla exportable en formato CSV.

Realizar una Lucene query

Para realizar consultas en Lucene, utilice la sección Widget en la página de Explorador de datos para definir tanto la consulta como la presentación de los datos en forma de widget.

Una búsqueda se divide en términos y operadores. Términos múltiples pueden ser combinados con operadores booleanos para formar una consulta más compleja. Puedes buscar cualquier campo escribiendo el nombre del campo seguido de dos puntos : y luego el término que busca.

Para los camps “string”, si se busque un termino que contiene un espacio, se debe ponerlo entre comillas "" o “escape” usando la barra invertida \. Por ejemplo, para buscar el termino “Windows Server Performance CPU” en el campo “class”, se puedo escribir:

class:"windows server performance cpu" o class:windows\ server\ performance\ cpu

Wildcards

El motor de query de ServicePilot funciona con búsquedas “wildcards” simples y múltiples. Los caracteres “wildcards” se pueden aplicar a los términos individuales, pero no para buscar frases:

  • El carácter especial ? concuerda con un único cáracter. La query de tipo string te?t coincidirá con “test” y “text”.
  • El carácter especial * concuerda con cero o multiples cáracteres secuenciales.
    • Una búsqueda tes* se correspondería con “test”, “tested”, “testing”, “tester”, etc.
    • Una búsqueda te*t se correspondería con “test” y “text”.
    • Una búsqueda *est se correspondería con “nest”, “pest”, “rest”, “test”, etc.

Caracteres especiales

Los caracteres especiales pueden ser utilizados en los campos de búsqueda, siempre y cuando se escaparon utilizando una barra invertida \, por lo que no se interpretan como operadores.

La siguiente lista muestra los caracteres especiales que necesitan ser escapado:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Ejemplo, la query siguiente buscará todos los documentos cuyo campo “status” contiene “-”: status:\-.

Operadores matemáticos

Operadores matemáticos se pueden utilizar para efectuar cálculos:

Operador Descripción Ejemplo
> Más grande que cpu load>80
< Menos que cpu load<80
= Iqual a duration=3600
<> Diferente de duration<>3600
>= Mayor o igual que duration>=3600
<= Inferior o igual a duration<=3600

Operadores booleanos

Los operadores Booleanos le permiten aplicar la lógica booleana en búsquedas que requieren la presencia o ausencia de términos específicos, o que requieren que ciertos campos respeten condiciones especificas para corresponder a documentos.

Operadores booleanos Descripción Ejemplo
AND Requiere que los términos en ambos lados del operador exista en el campo dado. class:"windows server performance cpu" AND cpu load>80
NOT Requiere que el término que sigue el operador NOT no exista en el campo especificado. NOT severity:error
OR Requiere que uno de los dos términos (o ambos términos) existan en el campo especificado. severity:error OR severity:warning
+ Requiere que el término que sigue el operador exista en el campo especificado. +objecttype:object +object:acm*
- Requiere que el término que sigue el operador no exista en el campo especificado. +objecttype:object AND -object:*agents

Búsqueda en gamas

Búsquedas en gamas permiten definir los valores mínimo y máximo que puede tomar un campo. Estos limites pueden ser inclusivas o exclusivas.

El tipo de símbolo utilizado define si los limites son incluidos o excluidos.

  • Los corchetes [ ] corresponden a un intervalo de valores que incluye los limites especificados.La query de ejemplo siguiente buscará todas las duraciones que tienen con valor entre 3.600 y 10.800 segundos incluidos: duration:[3600 TO 10800].
  • Los frenos { } corresponden a un intervalo de valores que incluye los limites especificados.La query de ejemplo siguiente buscará todas las duraciones que tienen con valor entre 3.600 y 10.800 segundos, excluyendo estos valores: duration:{3600 TO 10800}.

Puedes combinar ambos tipos para obtener un límite inclusivo y un límite exclusivo. Las consultas de intervalos no se limitan a los campos de fecha ni a los campos numéricos.

Realizar una consulta SQL

Para realizar una simple consulta SQL en una de las bases de datos de ServicePilot vaya a la página de Explorador de datos.

  1. Abra la página de SQL.
  2. Cambie el intervalo de tiempo al período más pequeño para reducir los tiempos de consulta mientras desarrolla una nueva consulta personalizada.
  3. Establezca los campos SELECT, FROM y GROUP BY así como una WHERE opcional o seleccionar uno de los ejemplos propuestos.
  4. Añada un filtro de consulta y haga clic en Aplicar.

Cuando se selecciona un grupo de datos en la respuesta presentada, es posible Copie el resultado o Exportarlo en formato csv.

Crear widgets personalizados

Si los cuadros de mando existentes no presentan los datos en la forma que usted desea, se pueden crear nuevas consultas personalizadas y almacenarlas para utilizarlas en tableros personalizados e informes en PDF. Ver la sección Cuadros de mando para más detalles.

Seleccionar los datos de origen del widget

  1. Comience por abrir la página de Widget.
  2. Cambie el intervalo de tiempo al período más pequeño para reducir los tiempos de consulta mientras desarrolla una nueva consulta personalizada.
  3. Seleccione uno de los Ejemplos disponibles como punto de partida, en función de los datos a consultar. Las plantillas están organizadas por la colección en la que se almacenan los datos. Las búsquedas personalizadas existentes se presentan en la parte inferior de la lista bajo Display.
  4. Seleccione el menú Display. Display button
  5. Haga clic en el botón de vista de Documents para ver los datos en bruto tal y como se encuentran en la base de datos. Event view button
  6. Visualice todos los campos disponibles de un registro haciendo clic en el icono tabla al principio de la línea.
  7. Para cambiar la forma en que se presentan los eventos, haga clic en el botón Propiedades y seleccione qué datos mostrar y resaltar en la tabla, así como alternar la visibilidad del gráfico. Search presentation properties

Es posible presentar estos datos directamente en una tabla de registros, pero casi siempre es más útil filtrar, resumir, clasificar y graficar los datos.

Definir las series de datos del widget

Series pueden ser añadidas, modificadas y eliminadas de la lista de series por encima del widget.

Series list

Se pueden definir varias series diferentes y visualizarlas en el mismo widget. Cada serie tiene tres parámetros críticos: Campo o fórmula, Estadísticas de campo y Título.

Series fields

Los demás parámetros de la serie dependen de estos ajustes iniciales. Tenga en cuenta que las pestañas Tabla y Heat Map del cuadro de diálogo Ajustes de las series contienen otros ajustes sobre cómo se presentarán los datos de esta serie.

Presentación de datos del widget

Una vez que los datos han sido seleccionados y filtrados, pueden ser presentados de muchas maneras diferentes. Utilice el menú Display para seleccionar cómo se deben ver los datos.

Data presentation type buttons

Presentación de datos del widget: detalle
Tipo de vista Utiliza
Table Visualización de cada una de las series en forma de columna en la tabla. Las filas de la tabla se definen mediante el filtro Group by.
Histo_bar Visualización de un gráfico de barras a lo largo del tiempo. Las series se apilan unas sobre otras.
Histo_line Visualización de una línea por serie y superposición de las mismas en un gráfico a lo largo del tiempo.
Histo_area Al igual que el Gráfico de barras, el Gráfico de áreas muestra series apiladas en el tiempo, salvo en el caso de los gráficos de zona.
Histo_trend Visualización de las líneas de tendencia para cada serie a lo largo del tiempo.
Hits_pie Visualización de un gráfico circular en el que cada segmento representa el valor de una serie. El tamaño de cada segmento será un porcentaje relativo de todos los valores de la serie.
Hits_donut Visualización de un gráfico circular en el que cada segmento representa el valor de una serie. El tamaño de cada segmento será un porcentaje relativo de todos los valores de la serie.
Hits_Counters Visualización de un único valor para cada serie a partir de todos los datos del intervalo de tiempo especificado.
Hits_bar Visualización de un gráfico con los datos de la serie. Cada serie generará una barra vertical en el gráfico.
Documents Visualización de la lista sin procesar de los registros de la base de datos, uno por línea. También se puede incluir un diagrama de barras con los datos.
Geo Map Visualización de un mapa geográfico con marcadores geolocalizados que agrupan los registros de cada dirección IP.
Flow Map Visualización de un mapa geográfico con marcadores geolocalizados que agrupan los registros de cada dirección IP.
Country Map Visualización de un mapa geográfico que agrupa los registros por país en función de las direcciones IP.
Capacity Visualización de los cambios de tendencia de una serie en una tabla con una indicación del momento en que un elemento debería superar el umbral crítico, si está definido.
Heat map Visualización de los valores de una serie a lo largo del tiempo en forma de una serie de cuadrados de colores, en los que el tono del cuadrado representa el valor.
Chartscatter Nube de puntos que compara una serie con otra. Cada punto del gráfico se define mediante el filtro Group by.
AvailPerf Visualización de la disponibilidad y el rendimiento de las vistas u objetos a lo largo del tiempo. Las filas de la tabla se definen mediante el filtro Group by.
Mapping Visualización de un mapa que relaciona diferentes elementos. Los valores se presentan para cada serie en una relación entre dos elementos. Cada serie generará un gráfico según el tipo de gráfico seleccionado.

Gestionar los botones del widget

Las plantillas de widgets pueden copiarse, clonarse, editarse, guardarse y eliminarse mediante los botones situados en la parte superior derecha de la página de widgets. Una vez guardados, los widgets personalizados pueden utilizarse para construir plantillas de cuadros de mando e informes PDF.

Search settings series

Tipo de vista Utilizar
Stats info Tablas con información relativa a las fuentes de datos, la resolución de los datos y los métodos de presentación disponibles en relación con la fuente de datos.
Copie Copie la definición actual del widget en su portapapeles como una definición de widget JSON. Esto puede pegarse en una plantilla de cuadro de mando o informe PDF o en el editor de widgets JSON, al que se accede mediante el botón JSON.
JSON Abrir el editor de definición del widget JSON. El widget puede editarse como texto en este diálogo. Cuando se pulsa OK, la página web del widget se actualiza para reflejar los cambios realizados en la definición del widget.
Eliminar Si se ha seleccionado una plantilla de widget personalizada, esta plantilla se puede eliminar de la lista con este botón.
Guardar Una vez que se ha desarrollado y probado un nuevo widget, se le puede dar un nombre para guardarlo en la lista de widgets personalizados. Al seleccionar un nombre existente se sobrescribirá una plantilla de widgets personalizados o al proporcionar un nuevo nombre se creará una nueva plantilla. Los nombres de los widgets personalizados pueden seleccionarse cuando se editan plantillas de cuadros de mando e informes PDF.

Nota: Cuando se importa un widget a una plantilla de cuadro de mando o informe PDF, se toma una copia de la definición. Esto significa que no hay ningún vínculo entre la definición del widget personalizado y la plantilla de cuadro de mando o informe PDF en la que se incluyó.