|
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. |
Elementos Transaccionales
Descripción general
Esta página describe los mensajes JSON exactos que se pueden enviar para el modelo de consistencia de Incrementos Transaccionales 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
transactional_incrementsJSON
"apiKey":"your api key",
"collection_timestamp":1585818978,
"internalHostname":"lnx-343242.srv.stackstate.com",
"events":{},
"metrics":[],
"service_checks":[],
"health":[
{
"consistency_model": "TRANSACTIONAL_INCREMENTS",
"increment": {
"checkpoint": {
"offset": 5,
"batch_index": 102
},
"previous_checkpoint": {
"offset": 5,
"batch_index": 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"
},
{
"checkStateId": "checkStateId3",
"delete": true
}
]
}
],
"topologies":[]
Cada carga de datos de Incrementos Transaccionales de salud tiene los siguientes detalles:
-
incremento - Un objeto de incremento debe estar presente en cada mensaje. Esto permite a SUSE Observabilidad rastrear la cadena completa de mensajes y detectar cuándo se está produciendo una retransmisión de datos o una brecha inesperada en los datos. Lleva los siguientes campos como metadatos de incremento:
-
punto_de_control - Objeto que proporciona el punto de control que pertenece al
check_statespresente en el mensaje, tiene dos campos:-
desplazamiento - El desplazamiento asignado a los mensajes por la canalización de streaming. Por ejemplo, el desplazamiento de Kafka.
-
batch_index - Optional. Al utilizar un solo mensaje para acumular varios
check_states, el índice de lote representa el último índice que está presente en el mensaje, permitiendo enviar grandes lotes en llamadas API separadas.
-
-
punto_de_control_anterior - Opcional. Representa el punto de control comunicado anteriormente, puede estar vacío en la primera transmisión en el subflujo. Permite a SUSE Observability llevar un seguimiento de si podría faltar algún dato del sentido ascendente.
-
-
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 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.
-
delete - Indicador que se interpreta como una solicitud de eliminación para el
checkStateIdrelacionado. Incluso si el resto de los campos para la creación están presentes, por ejemplo,name, health, …, la eliminación tendrá prioridad.
-
Enviar estado 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": "TRANSACTIONAL_INCREMENTS",
"increment": {
"checkpoint": {
"offset": 5,
"batch_index": 102
},
"previous_checkpoint": {
"offset": 5,
"batch_index": 100
}
},
"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"
},
{
"checkStateId": "checkStateId3",
"delete": true
}
]
}
]
}'