2017-10-26 7 views
1

Ich möchte einen einfachen Gesundheitscheck implementieren und über http verfügbar machen.Spec für HTTP-Health-Checks?

Bis jetzt habe ich nur Erfahrung beim Schreiben von Nagios Plugins. Nagios hat dies API spec

Gibt es bereits einen gemeinsamen Weg, wie Hersteller-neutrale Gesundheitschecks schreiben?

Wenn nicht, was sollte ein gesunder Gesundheitscheck zurückgeben, um es zu vielen verschiedenen Überwachungsserverimplementierungen beweglich zu machen?

+0

Wie könnte HTTP als Protokoll nicht anbieterneutral sein? Wessen Gesundheit möchtest du unter welchen Aspekten prüfen? Der Zweck einer HTTP-Integritätsprüfung besteht normalerweise nur darin, zu überprüfen, ob der Webserver, dessen Integrität überprüft wird, normal funktioniert. Eine leere Antwort sollte ausreichen. Solange der Server antworten kann, wird der Test bestanden. – marekful

+0

@marekful HTTP ist die Transportschicht. Ich könnte IP auch über Avian Carriers verwenden. Ich interessiere mich für die Syntax und die Sematic der Gesundheitscheckausgabe. Bei dieser Frage geht es um Datenformate und nicht darum, wie die Daten transportiert werden. HTTP bietet bereits ein nettes Feature: Der Statuscode. Aber ich denke, das ist nicht genug. – guettli

+0

Sie geben keine Details an und der einzige Link in der Frage ist für das Problem nicht relevant. Welche Komponenten befinden sich in Ihrem System? Welche Gesundheit möchten Sie überprüfen? – marekful

Antwort

1

Obwohl es keinen Standard für das Format von Gesundheitschecks gibt, sollten Sie wichtige Überwachungstools und ihre Erwartungen an Ihr Protokoll berücksichtigen. In den meisten Fällen reagieren sie auf bestimmte HTTP-Antwortcodes. Zum Beispiel Amazon Route 53:

wartet auf einen HTTP-Statuscode 200 oder mehr und weniger als 400

Ein weiteres Tool, Consul, hat more specific definition:

Der Status des Dienstes hängt vom HTTP-Antwortcode ab: Jeder beliebige 2xx-Code wird als bestanden betrachtet, ein 429 Too Many Requests ist eine Warnung und alles andere ist ein Fehler.

Sie müssen also vielleicht ein paar Top-Tools überprüfen, die Sie später vielleicht integrieren und einen Ansatz wählen, der für alle geeignet ist.

+0

Ich bin erstaunt, dass es bisher keinen Standard gibt. Aber vielleicht "http Status 200 ist in Ordnung, alles andere ist nicht in Ordnung" ist genug. – guettli