Cabot은 안정적이며 수백 개의 회사와 개인이 생산에 사용하고 있지만 적극적으로 유지 관리되지는 않습니다. 우리는 프로젝트의 유지 관리를 한 명 이상의 책임감 있고 경험이 풍부한 유지 관리 담당자에게 맡기고 싶습니다. 관심이 있으시면 [email protected]으로 이메일을 보내 자신에 대한 정보(github 프로필 및/또는 CV)를 보내주세요.
Cabot은 비용과 복잡성 없이 PagerDuty, Server Density, Pingdom 및 Nagios의 최고의 기능 중 일부를 제공하는 무료 오픈 소스 자체 호스팅 인프라 모니터링 플랫폼입니다. (나기오스님, 저는 주로 당신을 보고 있어요.)
이는 서비스(예: "Stage Redis 서버", "프로덕션 ElasticSearch 클러스터")를 모니터링하고 해당 서비스가 오작동하거나 다운될 경우 담당 팀에 전화, SMS 또는 hipchat/이메일 알림을 보낼 수 있는 웹 인터페이스를 제공합니다. 한 줄의 코드도 작성하지 않고 모두 가능합니다. 무엇보다도, 완전히 새로운 데이터 수집기 시스템을 구현하고 유지 관리하는 대신 이미 Graphite/statsd에 푸시하고 있는 데이터를 사용하여 경고를 생성할 수 있습니다.
다음을 기준으로 경고할 수 있습니다.
우리는 Nagios를 둘러볼 수 없었고 다른 어떤 것도 우리 사용 사례에 적합하지 않았기 때문에 Arachnys에서 크리스마스 프로젝트로 Cabot을 만들었습니다. 우리는 다른 사람들이 유용하게 사용할 수 있기를 바라며 오픈 소스로 제공하고 있습니다.
Cabot은 Python으로 작성되었으며 Django, Bootstrap, Font Awesome 및 기타 다양한 기능을 내부적으로 사용합니다.
Docker 사용: cabotapp.com의 공식 빠른 시작 가이드를 사용하여 5분 이내에 배포하세요. (https://hub.docker.com/r/cabotapp/cabot/ 참조)
문서가 cabotapp.com으로 이동되었습니다.
섹션:
기여하고 싶은 사람들을 위해:
내 개는 Cabot이라고 불리며 모니터링하는 것을 좋아합니다. 주로 주변 환경에 음식이 있거나 다람쥐가 정원을 자주 방문하는 경우가 많습니다. 그는 또한 특정 사건(예: 우체부가 문으로 오는 경우)에 대해 우리에게 알리기 위해 큰 소리로 짖습니다.
그의 이름이 자동화 도구가 될 수 있는 것처럼 들리는 것은 단지 행운의 우연일 뿐입니다.
API는 https://cabot.yourcompany.com/api를 검색하여 사용할 수 있는 문서를 자동으로 생성했습니다. 찾아볼 수 있는 문서에는 예제 GET 요청이 표시되고 기타 허용되는 HTTP 메서드가 나열되어 있습니다.
개별 항목을 보려면 항목 id
URL에 추가하세요. 예를 들어, graphite_check
1을 보려면 다음을 찾아보세요.
/api/graphite_checks/1/
API는 (로그인 페이지에서 로그인 양식을 제출하여) 세션 인증뿐만 아니라 표준 Django 사용자 이름과 비밀번호를 사용하여 HTTP 기본 인증을 허용합니다. API는 마찬가지로 표준 Django 권한을 사용하여 API 액세스를 허용하고 거부합니다.
인증된 사용자는 모든 리소스를 GETable로 만들 수 있지만 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 Framework 문서에서 확인할 수 있습니다.
이 저장소의 LICENSE
파일을 참조하세요.