Cabot は安定しており、実稼働環境で何百もの企業や個人によって使用されていますが、積極的にメンテナンスは行われていません。プロジェクトのメンテナンスを 1 人以上の責任ある経験豊富なメンテナンス担当者に引き継ぎたいと考えています。ご興味がございましたら、ご自身に関する情報 (github プロフィールおよび/または履歴書) を添えて [email protected] まで電子メールを送信してください。
Cabot は、無料のオープンソースのセルフホスト型インフラストラクチャ監視プラットフォームであり、PagerDuty、Server Density、Pingdom、Nagios の優れた機能の一部を、コストや複雑さを伴うことなく提供します。 (ナギオス、私は主にあなたを見ています。)
サービス (「ステージ Redis サーバー」、「実稼働 ElasticSearch クラスター」など) を監視し、これらのサービスが不正な動作を開始したりダウンしたりした場合に、勤務チームに電話、SMS、またはヒップチャット/電子メールによるアラートを送信できる Web インターフェイスを提供します。コード行を記述する必要はありません。何よりも、まったく新しいデータ コレクター システムを実装して維持するのではなく、すでに Graphite/statsd にプッシュしているデータを使用してアラートを生成できます。
以下に基づいてアラートを作成できます。
Nagios のことを頭から理解することができず、他には私たちのユースケースに適合しそうなものが他になかったため、Arachnys のクリスマス プロジェクトとして Cabot を構築しました。他の人にも役立つことを願って、オープンソース化しています。
Cabot は Python で書かれており、Django、Bootstrap、Font Awesome やその他の優れた機能を内部で使用しています。
Docker の使用: cabotapp.com の公式クイックスタート ガイドを使用して、5 分以内にデプロイします。 (https://hub.docker.com/r/cabotapp/cabot/ も参照)
ドキュメントは cabotapp.com に移動しました
セクション:
貢献したい方へ:
私の犬はカボットと呼ばれ、物事を監視するのが大好きです。主に、彼のすぐ近くに食べ物があるか、あるいはおそらくリスが私たちの庭を訪れる頻度です。また、特定の出来事(郵便配達員が玄関に来るなど)を知らせるために大声で吠えます。
彼の名前が自動化ツールに使えそうなのは単なる幸運な偶然です。
API は自動的に生成したドキュメントを備えており、https://cabot.yourcompany.com/api を参照して入手できます。閲覧可能なドキュメントには、GET リクエストの例と、その他の許可されている HTTP メソッドのリストが表示されます。
個々のアイテムを表示するには、URL にアイテムid
を追加します。たとえば、 graphite_check
1 を表示するには、次を参照します。
/api/graphite_checks/1/
この API を使用すると、標準の Django ユーザー名とパスワードを使用した HTTP 基本認証と、(ログイン ページでログイン フォームを送信することによる) セッション認証が可能になります。 API は同様に、標準の Django 権限を使用して API アクセスを許可および拒否します。
認証されたユーザーはすべてのリソースを GET できますが、POST、PUT、およびその他の書き込みメソッドに対して個別のアクセス許可を付与する必要があります。
たとえば、すべてのstatus_check
サブクラスへの POST アクセスの場合、次の権限を追加します。
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
https://cabot.yourcompany.com/admin にある Django 管理ページにアクセスして、ユーザーの追加/削除、ユーザー権限の変更、グループベースの権限制御のためのグループの追加/削除、およびグループ権限の変更を行います。
並べ替えとフィルタリングは、REST クライアントとブラウズ可能な API の両方で使用できます。ブラウズ可能な API に表示されるすべてのフィールドは、フィルタリングと並べ替えに使用できます。
デバウンスが有効で重要度がクリティカルであるすべてのjenkins_checks
を取得します。
https://cabot.yourcompany.com/api/jenkins_checks/?debounce=1&importance=CRITICAL
graphite_checks
name
フィールドで昇順に並べ替えます。
https://cabot.yourcompany.com/api/graphite_checks/?ordering=name
name
フィールドで降順に並べ替えます:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=-name
他の (Cabot 固有ではない) 例は、Django REST フレームワークのドキュメントで入手できます。
このリポジトリのLICENSE
ファイルを参照してください。