O Cabot é estável e usado por centenas de empresas e indivíduos na produção, mas não é mantido ativamente. Gostaríamos de entregar a manutenção do projeto a um ou mais mantenedores responsáveis e experientes. Envie um e-mail para [email protected] com algumas informações sobre você (perfil do github e/ou currículo) se estiver interessado.
Cabot é uma plataforma de monitoramento de infraestrutura auto-hospedada, gratuita e de código aberto que oferece alguns dos melhores recursos de PagerDuty, Server Density, Pingdom e Nagios sem seu custo e complexidade. (Nagios, estou olhando principalmente para você.)
Ele fornece uma interface web que permite monitorar serviços (por exemplo, "servidor Stage Redis", "cluster Production ElasticSearch") e enviar alertas por telefone, sms ou hipchat/e-mail para sua equipe de plantão se esses serviços começarem a se comportar mal ou ficarem inativos - tudo sem escrever uma linha de código. O melhor de tudo é que você pode usar dados que já está enviando para o Graphite/statsd para gerar alertas, em vez de implementar e manter um sistema totalmente novo de coletores de dados.
Você pode alertar com base em:
Construímos o Cabot como um projeto de Natal em Arachnys porque não conseguíamos entender o Nagios e nada mais parecia se adequar ao nosso caso de uso. Estamos abrindo o código-fonte na esperança de que outros o considerem útil.
Cabot é escrito em Python e usa Django, Bootstrap, Font Awesome e uma série de outras vantagens subjacentes.
Usando Docker: implante em 5 minutos ou menos usando o guia de início rápido oficial em cabotapp.com. (Veja também https://hub.docker.com/r/cabotapp/cabot/)
Os documentos foram movidos para cabotapp.com
Seções:
Para quem quiser contribuir:
Meu cachorro se chama Cabot e adora monitorar as coisas. Principalmente a presença de comida no seu entorno imediato, ou talvez a frequência das visitas dos esquilos ao nosso jardim. Ele também late alto para nos alertar sobre certos acontecimentos (por exemplo, o carteiro chegando na porta).
É apenas uma feliz coincidência que seu nome pareça ser uma ferramenta de automação.
A API gerou automaticamente documentação disponível navegando em https://cabot.suaempresa.com/api. A documentação navegável exibe exemplos de solicitações GET e lista outros métodos HTTP permitidos.
Para visualizar itens individuais, anexe o id
do item ao URL. Por exemplo, para visualizar graphite_check
1, navegue:
/api/graphite_checks/1/
A API permite autenticação básica HTTP usando nomes de usuário e senhas padrão do Django, bem como autenticação de sessão (enviando o formulário de login na página de login). A API da mesma forma usa permissões padrão do Django para permitir e negar acesso à API.
Todos os recursos são GETable por qualquer usuário autenticado, mas permissões individuais devem ser concedidas para POST, PUT e outros métodos de gravação.
Por exemplo, para acesso POST a todas as subclasses status_check
, adicione as seguintes permissões:
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
Acesse a página de administração do Django em https://cabot.yourcompany.com/admin para adicionar/remover usuários, alterar permissões de usuário, adicionar/remover grupos para controle de permissão baseado em grupo e alterar permissões de grupo.
A classificação e a filtragem podem ser usadas tanto por clientes REST quanto na API navegável. Todos os campos visíveis na API navegável podem ser usados para filtragem e classificação.
Obtenha todos jenkins_checks
com debounce habilitado e importância CRÍTICA:
https://cabot.yourcompany.com/api/jenkins_checks/?debounce=1&importance=CRITICAL
Classifique graphite_checks
por campo name
, em ordem crescente:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=name
Classificar por campo name
, decrescente:
https://cabot.yourcompany.com/api/graphite_checks/?ordering=-name
Outros exemplos (não específicos do Cabot) estão disponíveis na documentação do Django REST Framework.
Consulte o arquivo LICENSE
neste repositório.