|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Repeat Snapshots
Übersicht
Diese Seite beschreibt die exakten JSON-Nachrichten, die für das Konsistenzmodell der Health-Synchronisierung Repeat Snapshots gesendet werden können.
JSON-Eigenschaft: "health"
Gesundheitsdaten können über die "health" Eigenschaft des gemeinsamen JSON-Objekts an die SUSE Observability Receiver API gesendet werden.
-
Beispiel für Health-
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"
}
]
}
]
}
Jede Daten-Nutzlast für Health Repeat Snapshots enthält die folgenden Details:
-
start_snapshot - Optional. Ein Start eines Snapshots muss verarbeitet werden, bevor
check_statesverarbeitet wird. Dies ermöglicht es SUSE Observability, einen Stream-Snapshot mit dem zuvor empfangenen zu vergleichen und Prüfzustände zu löschen, die im Snapshot nicht mehr vorhanden sind. Es enthält die folgenden Felder als Snapshot-Metadaten:-
repeat_interval_s - Zeit in Sekunden. Die Häufigkeit, mit der die externe Quelle Gesundheitsdaten an SUSE Observability sendet. Der maximal erlaubte Wert beträgt 1800 (30 Minuten).
-
expiry_interval_s - Zeit in Sekunden. Die Zeit, die nach dem letzten Update abgewartet wird, bevor ein externer Check von SUSE Observability gelöscht wird. Erforderlich bei der Verwendung von Unterstreams.
-
-
stop_snapshot - Optional. Das Ende eines Snapshots wird nach der Verarbeitung der
check_statesumgesetzt. -
stream - Objekt, das die Identifikation bereitstellt, welche Snapshots und
check_stateszusammengehören. Sie enthält die folgenden Felder:-
urn - Datenquelle und Stream-ID, kodiert als eine SUSE Observability URN, die der folgenden Konvention entspricht:
urn:health:<sourceId>:<streamId>, wobei<sourceId>der Name der externen Datenquelle und<streamId>ein eindeutiger Identifikator für den Gesundheitsdatenstream ist. -
sub_stream_id - Optional. Identifikator für eine Teilmenge der Stream-Gesundheitsdaten. Wenn die Stream-Daten von mehreren Agenten verteilt und gemeldet werden, ermöglicht dies Snapshot-Lebenszyklen pro
sub_stream_id.
-
-
check_states - Eine Liste von Prüfzuständen. Jeder Prüfzustand kann die folgenden Felder haben:
-
checkStateId - Identifikator für den Prüfzustand im externen System.
-
message - Optional. Nachricht, die in der SUSE Observability UI angezeigt werden soll. Die Daten werden als Markdown interpretiert, wodurch Links zu dem externen System-Check möglich sind, der den externen Prüfzustand erzeugt hat.
-
health - Einer der folgenden SUSE Observability Gesundheitszustandswerte:
Clear,Deviating,Critical. -
topologyElementIdentifier - Wird verwendet, um den Prüfzustand an ein SUSE Observability Topologieelement zu binden.
-
name - Name des externen Prüfzustands.
-
Health an SUSE Observability senden.
Health kann in einer JSON-Nachricht über HTTP POST gesendet werden. Im folgenden Beispiel wird ein Snapshot, der zwei Prüfzustände enthält, von einem einzelnen externen Überwachungssystem an SUSE Observability gesendet.
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"
}
]
}
]
}'