Cabot стабилен и используется сотнями компаний и частных лиц в производстве, но активно не поддерживается. Мы хотели бы передать поддержку проекта одному или нескольким ответственным и опытным сопровождающим. Если вы заинтересованы, отправьте электронное письмо по адресу [email protected] с некоторой информацией о себе (профиль GitHub и/или резюме).
Cabot — это бесплатная автономная платформа для мониторинга инфраструктуры с открытым исходным кодом, которая предоставляет некоторые из лучших функций PagerDuty, Server Density, Pingdom и Nagios, но при этом не требует дополнительных затрат и сложности. (Нагиос, я в основном смотрю на тебя.)
Он предоставляет веб-интерфейс, который позволяет вам отслеживать службы (например, «Сервер Stage Redis», «Кластер Production ElasticSearch») и отправлять оповещения по телефону, SMS или через Hipchat/электронную почту вашей дежурной команде, если эти службы начинают работать неправильно или отключаются. и все это без написания строчки кода. Лучше всего то, что вы можете использовать данные, которые вы уже отправляете в Graphite/statsd, для генерации оповещений, вместо того, чтобы внедрять и поддерживать совершенно новую систему сборщиков данных.
Вы можете предупредить на основе:
Мы создали Cabot как рождественский проект в Arachnys, потому что мы не могли понять Nagios, и ничто другое, казалось, не подходило для нашего сценария использования. Мы открываем исходный код в надежде, что другие найдут его полезным.
Cabot написан на Python и использует Django, Bootstrap, Font Awesome и целый ряд других полезных функций.
Использование Docker: развертывание займет не более 5 минут, используя официальное краткое руководство на сайте cabotapp.com. (См. также https://hub.docker.com/r/cabotapp/cabot/)
Документы переехали на cabotapp.com.
Разделы:
Для тех, кто хочет внести свой вклад:
Мою собаку зовут Кэбот, и она любит следить за вещами. В основном это наличие еды в его ближайшем окружении или, возможно, частота визитов белок в наш сад. Он также громко лает, чтобы предупредить нас об определенных событиях (например, о приближении почтальона к двери).
Это просто счастливое совпадение, что его имя звучит так, будто он мог бы быть инструментом автоматизации.
API автоматически создал документацию, доступную на странице https://cabot.yourcompany.com/api. В доступной для просмотра документации показаны примеры запросов GET и перечислены другие разрешенные методы HTTP.
Чтобы просмотреть отдельные элементы, добавьте id
элемента к URL-адресу. Например, чтобы просмотреть graphite_check
1, перейдите:
/api/graphite_checks/1/
API обеспечивает базовую аутентификацию HTTP с использованием стандартных имен пользователей и паролей Django, а также аутентификацию сеанса (путем отправки формы входа на странице входа). API аналогичным образом использует стандартные разрешения Django, чтобы разрешать и запрещать доступ к API.
Все ресурсы доступны для GETable любому пользователю, прошедшему проверку подлинности, но для POST, PUT и других методов записи необходимо предоставить отдельные разрешения.
Например, для доступа POST ко всем подклассам status_check
добавьте следующие разрешения:
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
Откройте страницу администрирования Django по адресу https://cabot.yourcompany.com/admin, чтобы добавлять/удалять пользователей, изменять разрешения пользователей, добавлять/удалять группы для управления разрешениями на основе групп и изменять разрешения групп.
Сортировку и фильтрацию можно использовать как клиентами 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 Framework.
См. файл LICENSE
в этом репозитории.