Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Repetir instantáneas

Descripción general

Esta página describe los mensajes JSON exactos que se pueden enviar para el modelo de consistencia de Repetir instantáneas de sincronización de salud.

Propiedad JSON: "health"

La salud se puede enviar a la API del Receptor de SUSE Observabilidad utilizando la propiedad "health" del objeto JSON común.

  • Ejemplo de salud repeat_snapshots JSON

{
   "apiKey":"<STACKSTATE_RECEIVER_API_KEY>",
   "collection_timestamp":1585818978,
   "internalHostname":"lnx-343242.srv.stackstate.com",
   "health":[
      {
        "consistency_model": "REPEAT_SNAPSHOTS",
        "start_snapshot": {
          "repeat_interval_s": 50
          //"expiry_interval_s": 200 Optional
        },
        "stop_snapshot": {},
        "stream": {
          "urn": "urn:health:sourceId:streamId"
          //"sub_stream_id": "subStreamId" Optional
        },
        "check_states": [
          {
            "checkStateId": "checkStateId1",
            "message": "Server Running out of disk space",
            "health": "Deviating",
            "topologyElementIdentifier": "server-1",
            "name": "Disk Usage"
          },
          {
            "checkStateId": "checkStateId2",
            "message": "Provisioning failed. [Learn more](https://www.any-link.com)",
            "health": "critical",
            "topologyElementIdentifier": "server-2",
            "name": "Health monitor"
          }
        ]
      }
   ]
}

Cada carga de datos de salud de Repetir instantáneas tiene los siguientes detalles:

  • inicio_instantánea - Opcional. El inicio de una instantánea debe ser procesado antes de procesar check_states. Esto permite a SUSE Observability diferenciar una instantánea de flujo con la previamente recibida y eliminar estados de verificación que ya no están presentes en la instantánea. Lleva los siguientes campos como metadatos de instantánea:

    • intervalo_repetición_s - Tiempo en segundos. La frecuencia con la que la fuente externa enviará datos de salud a SUSE Observability. El valor máximo permitido es 1800 (30 minutos).

    • intervalo_caducidad_s - Tiempo en segundos. El tiempo a esperar después de la última actualización antes de que un chequeo externo sea eliminado por SUSE Observability. Requerido al usar subflujos.

  • stop_snapshot - Optional. Una salida de una instantánea será procesada después de procesar elestados_de_verificación.

  • flujo - Objeto que proporciona identificación sobre qué instantáneas y check_states pertenecen juntas. Contiene los campos siguientes:

    • urn - Fuente de datos e ID de flujo codificados como un URN de SUSE Observabilidad que coincide con la siguiente convención: urn:health:<sourceId>:<streamId> donde <sourceId> es el nombre de la fuente de datos externa y <streamId> es un identificador único para el flujo de datos de salud.

    • sub_stream_id - Optional. Identificador para un subconjunto de los datos de salud del flujo. Cuando los datos del flujo son distribuidos y reportados por varios Agentes, esto permite ciclos de vida de instantáneas por sub_stream_id

  • check_states - Una lista de estados de verificación. Cada estado de verificación puede tener los siguientes campos:

    • checkStateId - Identificador para el estado de verificación en el sistema externo.

    • message - Opcional. Mensaje a mostrar en la interfaz de usuario de SUSE Observability. Los datos se interpretarán como markdown permitiendo tener enlaces al sistema externo de verificación que generó el estado de verificación externo.

    • health - Uno de los siguientes valores de estado de salud de SUSE Observability: Clear, Deviating, Critical.

    • topologyElementIdentifier - Utilizado para vincular el estado de verificación a un elemento de topología de SUSE Observability.

    • name - Nombre del estado de verificación externo.

Enviar la salud a SUSE Observability

El estado puede enviarse en un mensaje JSON a través de HTTP POST. En el ejemplo a continuación, se envía una instantánea que contiene dos estados de verificación a SUSE Observability desde un único sistema de monitoreo externo.

curl -X POST \
 '<STACKSTATE_RECEIVER_API_ADDRESS>' \
 -H 'Content-Type: application/json' \
 -d '{
  "collection_timestamp": 1548857167,
  "internalHostname": "local.test",
  "health": [
    {
      "consistency_model": "REPEAT_SNAPSHOTS",
      "start_snapshot": {
        "repeat_interval_s": 300
      },
      "stop_snapshot": {},
      "stream": {
        "urn": "urn:health:sourceId:streamId"
      },
      "check_states": [
        {
          "checkStateId": "checkStateId1",
          "message": "Server Running out of disk space",
          "health": "Deviating",
          "topologyElementIdentifier": "server-1",
          "name": "Disk Usage"
        },
        {
          "checkStateId": "checkStateId2",
          "message": "Provisioning failed. [Learn more](https://www.any-link.com)",
          "health": "critical",
          "topologyElementIdentifier": "server-2",
          "name": "Health monitor"
        }
      ]
    }
  ]
}'