Cabot ist stabil und wird von Hunderten von Unternehmen und Einzelpersonen in der Produktion verwendet, wird jedoch nicht aktiv gewartet. Wir möchten die Wartung des Projekts einem oder mehreren verantwortungsbewussten und erfahrenen Betreuern übertragen. Wenn Sie interessiert sind, senden Sie bitte eine E-Mail an [email protected] mit einigen Informationen zu Ihrer Person (Github-Profil und/oder Lebenslauf).
Cabot ist eine kostenlose, selbstgehostete Open-Source-Infrastrukturüberwachungsplattform, die einige der besten Funktionen von PagerDuty, Server Density, Pingdom und Nagios ohne deren Kosten und Komplexität bietet. (Nagios, ich schaue hauptsächlich dich an.)
Es bietet eine Webschnittstelle, mit der Sie Dienste überwachen können (z. B. „Stage Redis-Server“, „Production ElasticSearch-Cluster“) und Telefon-, SMS- oder Hipchat-/E-Mail-Benachrichtigungen an Ihr diensthabendes Team senden, wenn diese Dienste anfangen, sich schlecht zu verhalten oder ausfallen – Alles ohne eine Zeile Code zu schreiben. Das Beste daran ist, dass Sie Daten, die Sie bereits an Graphite/statsd übertragen, zum Generieren von Warnungen verwenden können, anstatt ein völlig neues System von Datensammlern zu implementieren und zu warten.
Sie können eine Warnung basierend auf Folgendem erstellen:
Wir haben Cabot als Weihnachtsprojekt bei Arachnys entwickelt, weil wir uns nicht mit Nagios auseinandersetzen konnten und nichts anderes da draußen zu unserem Anwendungsfall zu passen schien. Wir veröffentlichen es als Open Source in der Hoffnung, dass andere es nützlich finden.
Cabot ist in Python geschrieben und nutzt unter der Haube Django, Bootstrap, Font Awesome und eine ganze Reihe anderer Extras.
Mit Docker: Bereitstellung in maximal 5 Minuten mithilfe der offiziellen Schnellstartanleitung auf cabotapp.com. (Siehe auch https://hub.docker.com/r/cabotapp/cabot/)
Die Dokumente wurden nach cabotapp.com verschoben
Abschnitte:
Für diejenigen, die einen Beitrag leisten möchten:
Mein Hund heißt Cabot und er liebt es, Dinge zu überwachen. Hauptsächlich das Vorhandensein von Futter in seiner unmittelbaren Umgebung oder vielleicht die Häufigkeit der Eichhörnchenbesuche in unserem Garten. Er bellt auch laut, um uns auf bestimmte Ereignisse aufmerksam zu machen (z. B. wenn der Postbote an der Tür steht).
Es ist nur ein glücklicher Zufall, dass sein Name so klingt, als könnte er ein Automatisierungstool sein.
Die API hat automatisch eine Dokumentation generiert, die durch Durchsuchen von https://cabot.yourcompany.com/api verfügbar ist. Die durchsuchbare Dokumentation zeigt Beispiel-GET-Anfragen und listet andere zulässige HTTP-Methoden auf.
Um einzelne Artikel anzuzeigen, hängen Sie die Artikel- id
an die URL an. Um beispielsweise graphite_check
1 anzuzeigen, durchsuchen Sie Folgendes:
/api/graphite_checks/1/
Die API ermöglicht eine HTTP-Basisauthentifizierung mit Standard-Django-Benutzernamen und -Passwörtern sowie eine Sitzungsauthentifizierung (durch Absenden des Anmeldeformulars auf der Anmeldeseite). Die API verwendet in ähnlicher Weise Standard-Django-Berechtigungen, um den API-Zugriff zuzulassen und zu verweigern.
Alle Ressourcen sind für jeden authentifizierten Benutzer GET-fähig, es müssen jedoch individuelle Berechtigungen für POST, PUT und andere Schreibmethoden erteilt werden.
Fügen Sie beispielsweise für den POST-Zugriff auf alle status_check
Unterklassen die folgenden Berechtigungen hinzu:
cabotapp | status check | Can add graphite status check
cabotapp | status check | Can add http status check
cabotapp | status check | Can add icmp status check
cabotapp | status check | Can add jenkins status check
Greifen Sie auf die Django-Administratorseite unter https://cabot.yourcompany.com/admin zu, um Benutzer hinzuzufügen/zu entfernen, Benutzerberechtigungen zu ändern, Gruppen für die gruppenbasierte Berechtigungssteuerung hinzuzufügen/zu entfernen und Gruppenberechtigungen zu ändern.
Sortieren und Filtern können sowohl von REST-Clients als auch auf der durchsuchbaren API verwendet werden. Alle in der durchsuchbaren API sichtbaren Felder können zum Filtern und Sortieren verwendet werden.
Holen Sie sich alle jenkins_checks
mit aktiviertem Debounce und KRITISCHER Wichtigkeit:
https://cabot.yourcompany.com/api/jenkins_checks/?debounce=1&importance=CRITICAL
Sortieren Sie graphite_checks
nach name
, aufsteigend:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=name
Sortierung nach name
, absteigend:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=-name
Weitere (nicht Cabot-spezifische) Beispiele finden Sie in der Django REST Framework-Dokumentation.
Siehe LICENSE
Datei in diesem Repo.