Esquema y referencia para Monitores

Descripción general

Esta página describe los esquemas para un Monitor, junto con explicaciones detalladas de los constructos, la sintaxis y semántica de las expresiones.

Esquema para monitor

Un monitor especifica con qué frecuencia debe ejecutarse una función de monitor y con qué argumentos.

_type: "Monitor"
name: string
description?: string
function: string
arguments:
  <dependent on monitor function>
intervalSeconds: integer
remediationHint?: string
status?: "ENABLED" | "DISABLED"       # defaults to "DISABLED"
tags:
  <key>: <value>
identifier?: string
  • _type: SUSE® Observability necesita saber que esto es un monitor, por lo que el valor siempre debe ser Monitor

  • name: El nombre del monitor

  • description: Una descripción del monitor.

  • function: Una referencia a la función de monitor que ejecutará el monitor.

  • intervalSeconds: El intervalo en el que se ejecuta el monitor. Para métricas en tiempo real regulares, se aconsejan 30 segundos. Para consultas de métricas analíticas de larga duración, se recomienda un intervalo mayor.

  • remediationHint: Una descripción de lo que el usuario puede hacer cuando el monitor falla. El formato es markdown, con el uso opcional de variables de handlebars para personalizar la pista en función de series temporales u otros datos (más explicación a continuación).

  • status: Ya sea "DISABLED" o "ENABLED". Determina si el monitor se ejecutará o no.

  • tags: Añade etiquetas al monitor para ayudar a organizarlos en la vista general de monitores de tu instancia de SUSE® Observability, http://your-instance/#/monitors

  • identifier: Un identificador de la forma urn:stackpack:<stackpack-name>:monitor:…​. que identifica de manera única el monitor al actualizar su configuración.

Funciones de Monitor

Umbral

Activa un estado de salud cuando se supera un umbral dado para una consulta de métrica especificada. Se pueden establecer diferentes umbrales en recursos particulares con la ayuda de anotaciones.

function: {{ get "urn:stackpack:common:monitor-function:threshold" }}
arguments:
  metric:
    query: string
    unit: string
    aliasTemplate: string
  comparator: GTE | GT | LTE | LT     # how to compare metric value to threshold
  threshold: double
  failureState: CRITICAL | DEVIATING | UNKNOWN
  urnTemplate: string
  titleTemplate: string
  • query: Una consulta PromQL. Utiliza el explorador de métricas de tu instancia SUSE® Observability, http://your-instance/#/metrics, y utilízalo para construir la consulta para la métrica de interés.

  • unit: La unidad de los valores en la serie temporal devuelta por la consulta o consultas, utilizada para representar el eje Y del gráfico. Consulta la referencia de unidades soportadas para todas las unidades.

  • aliasTemplate: Un alias para las series temporales en el gráfico de métricas. Esta es una plantilla que puede sustituir etiquetas de la serie temporal utilizando el marcador de posición ${my_label}.

  • comparator: Elige uno de LTE/LT/GTE/GT para comparar el umbral con la métrica. Las series temporales para las que <metric> <comparator> <threshold> es verdadero producirán el estado de fallo.

  • threshold: Un umbral numérico para comparar.

  • failureState: Ya sea "CRÍTICO" o "DESVIADO". "CRÍTICO" se mostrará en rojo en SUSE® Observability y "DESVIADO" en naranja, para denotar diferentes severidades.

  • urnTemplate: Una plantilla para construir el urn del componente al que un resultado del monitor estará vinculado a.

  • titleTemplate: Un título para el resultado de un monitor. Debido a que múltiples resultados de monitor pueden vincularse al mismo componente, es posible sustituir etiquetas de series temporales utilizando el marcador de posición ${my_label}.

Estado Derivado

Deriva su estado de las dependencias de los componentes cuyo estado de salud se basa en observaciones. Produce el estado más crítico de las dependencias superiores. Para más detalles, consulta la página de Monitores de Estado Derivado.

function: {{ get "urn:stackpack:common:monitor-function:derived-state-monitor" }}
arguments:
  componentTypes: string
  • componentTypes: Los tipos de componentes que contribuyen a los estados derivados. Especificado como una única cadena de valores separados por , (coma).

Umbral Topológico

Activa un estado de salud cuando se supera un umbral dado para una consulta de métrica especificada. La consulta métrica puede hacer referencia al nombre, etiquetas y propiedades de los componentes devueltos por la consulta de topología. Se pueden establecer diferentes umbrales en recursos particulares con la ayuda de anotaciones.

function: {{ get "urn:stackpack:common:monitor-function:topological-threshold"  }}
arguments:
  queries:
    topologyQuery: string
    promqlQuery: string
    aliasTemplate: string
    unit: string
  comparator: GTE | GT | LTE | LT     # how to compare metric value to threshold
  threshold: double
  failureState: CRITICAL | DEVIATING | UNKNOWN
  titleTemplate: string
  • queries: Las consultas a ejecutar

    • topologyQuery: Consulta STQL para seleccionar componentes

    • promqlQuery: Consulta PromQL que puede utilizar etiquetas y propiedades de los componentes para seleccionar series temporales

    • unit: La unidad de los valores en la serie temporal devuelta por la consulta o consultas, utilizada para representar el eje Y del gráfico. Consulta la referencia de unidades soportadas para todas las unidades.

    • aliasTemplate: Un alias para las series temporales en el gráfico de métricas. Esta es una plantilla que puede sustituir etiquetas de la serie temporal utilizando el marcador de posición ${my_label}.

  • comparator: Elige uno de LTE/LT/GTE/GT para comparar el umbral con la métrica. Las series temporales para las que <metric> <comparator> <threshold> es verdadero producirán el estado de fallo.

  • threshold: Un umbral numérico para comparar.

  • failureState: Ya sea "CRÍTICO" o "DESVIADO". "CRÍTICO" se mostrará en rojo en SUSE® Observability y "DESVIADO" en naranja, para denotar diferentes severidades.

  • titleTemplate: Un título para el resultado de un monitor. Debido a que múltiples resultados de monitor pueden vincularse al mismo componente, es posible sustituir etiquetas de series temporales utilizando el marcador de posición ${my_label}.

Umbral Dinámico

Alertas cuando el valor actual está fuera del intervalo de línea base predicha, que se calcula dinámicamente en función de datos históricos, teniendo en cuenta patrones estacionales semanales y diarios. Esta función de monitorización solo está disponible cuando se ha instalado el stackpack Autonomous Anomaly Detector.

Para más detalles, consulta la página Monitores de Umbral Dinámico.

function: {{ get "urn:stackpack:aad-v2:shared:monitor-function:dt" }}
arguments:
  telemetryQuery:
    query: string
    unit: string
    aliasTemplate: string
  topologyQuery: string
  falsePositiveRate: float
  checkWindowMinutes: integer
  historicWindowMinutes: integer
  historySizeWeeks: 1 | 2 | 3 (integer)
  includePreviousDay: boolean
  removeTrend: boolean
  • telemetryQuery: telemetría para evaluar

    • query: Consulta PromQL que se utiliza para la creación de líneas base y detección de anomalías

    • unit: La unidad de los valores en la serie temporal devuelta por la consulta o consultas, utilizada para representar el eje Y del gráfico. Consulta la referencia de unidades soportadas para todas las unidades.

    • aliasTemplate: Un alias para las series temporales en el gráfico de métricas. Esta es una plantilla que puede sustituir etiquetas de la serie temporal utilizando el marcador de posición ${my_label}.

  • topologyQuery: Consulta STQL para seleccionar componentes

  • falsePositiveRate: !!float 1e-8 - la sensibilidad del monitor al comportamiento desviado. Un valor más bajo suprime más (falsos) positivos, pero también puede llevar a falsos negativos (anomalías no detectadas).

  • checkWindowMinutes: 10 minutos - la ventana de verificación necesita estar equilibrada entre alertas rápidas (valores pequeños) y anomalías correctamente identificadas (valores altos). Un puñado de puntos de datos funciona bien en la práctica.

  • historicWindowMinutes: 120 (2 horas) - enmarcado alrededor del tiempo actual, pero luego una o más semanas atrás - así que desde 1 hora antes del tiempo actual hasta 1 hora después. También se utilizan las 2 horas antes de la ventana de verificación. El monitor de umbral dinámico compara la distribución de estos datos históricos con los puntos de datos en la ventana de verificación.

  • historySizeWeeks: 2 - el número de semanas de las que se toman los datos para el contexto histórico. Puede ser 1, 2 o 3.

  • removeTrend: para métricas que tienen un comportamiento de tendencia (por ejemplo, el número de solicitudes), de modo que el valor absoluto difiere de una semana a otra, esta tendencia (el valor medio) puede ser tenida en cuenta.

  • includePreviousDay: típicamente false - para métricas que no tienen un patrón semanal sino solo diario, esto permite el uso de datos más recientes.