|
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. |
Repeat States
Descripción general
Esta página describe los mensajes JSON exactos que se pueden enviar para el modelo de consistencia Repeat States de la sincronización de salud.
Propiedad JSON: "salud"
La salud se puede enviar a la API del receptor de SUSE Observability utilizando la propiedad "health" del objeto JSON común.
-
Ejemplo de salud
repeat_statesJSON
"apiKey":"<STACKSTATE_RECEIVER_API_KEY>",
"collection_timestamp":1585818978,
"internalHostname":"lnx-343242.srv.stackstate.com",
"events":{},
"metrics":[],
"service_checks":[],
"health":[
{
"consistency_model": "REPEAT_STATES",
"expiry": {
"repeat_interval_s": 50,
"expiry_interval_s": 100
},
"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"
}
]
}
],
"topologies":[]
Cada carga de datos de salud de Repeat States tiene los siguientes detalles:
-
caducidad - Opcional. Una actualización de caducidad necesita ser procesada antes de procesar
check_states. Esto permite a SUSE Observability rastrear cuánto tiempo deben estar presentes las comprobaciones externas en el sistema si no se envían de nuevo. Contiene los siguientes campos como metadatos de caducidad:-
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 que se debe esperar después de la última actualización antes de que una comprobación externa sea eliminada por SUSE Observability si la comprobación externa no se observa de nuevo.
-
-
flujo - Objeto que proporciona identificación sobre qué instantáneas y
check_statespertenecen juntas. Contiene los campos siguientes:-
urn - Fuente de datos e ID de flujo codificados como un URN de SUSE Observability 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 de flujo se distribuyen y se informan 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
La salud puede ser enviada en un único 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_STATES",
"expiry": {
"repeat_interval_s": 300,
"expiry_interval_s": 600
},
"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"
}
]
}
]
}'