11 KiB
🇺🇸 English | 🇸🇦 العربية | 🇪🇸 Català | 🇨🇿 Čeština | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇮 Suomi | 🇫🇷 Français | 🇮🇹 Italiano | 🇯🇵 日本語 | 🇧🇷 Português (Brasil) | 🇷🇺 Русский | 🇹🇭 ไทย | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇻🇳 Tiếng Việt | 🇨🇳 简体中文 | 🇹🇼 繁體中文
Checkmate
Uma aplicação de código aberto para monitoramento de disponibilidade e infraestrutura
Este repositório contém o frontend e o backend do Checkmate, uma ferramenta de monitoramento de código aberto e auto-hospedável para acompanhar hardware de servidores, disponibilidade, tempos de resposta e incidentes em tempo real com visualizações bonitas. O Checkmate verifica regularmente se um servidor ou site está acessível e funcionando de forma ótima, oferecendo alertas e relatórios em tempo real sobre disponibilidade, indisponibilidade e tempos de resposta dos serviços monitorados.
O Checkmate também possui um agente chamado Capture para coletar dados de servidores remotos. O Capture não é necessário para rodar o Checkmate, mas fornece informações adicionais sobre o status de CPU, RAM, disco e temperatura dos servidores. O Capture pode rodar em Linux, Windows, Mac, Raspberry Pi ou qualquer dispositivo capaz de executar Go.
O Checkmate passou por testes de estresse com mais de 1000 monitores ativos sem nenhum problema ou gargalo de desempenho notável.
📚 Sumário
- 📦 Demo
- 🔗 Guia do usuário
- 🛠️ Instalação
- 🚀 Desempenho
- 💚 Perguntas & ideias
- 🧩 Funcionalidades
- 🏗️ Capturas de tela
- 🏗️ Stack tecnológica
- 🔗 Alguns links
- 🤝 Contribuindo
Demo
Você pode ver a versão mais recente do Checkmate em ação.
O usuário é demouser@demo.com e a senha é Demouser1! (Observação: atualizamos o servidor de demonstração de tempos em tempos; se não funcionar, fale conosco no canal Discussions).
Guia do usuário
As instruções de uso podem ser encontradas aqui.
Pré-requisitos
Instalação
Veja as instruções de instalação no portal de documentação do Checkmate.
Alternativamente, você pode usar Coolify, Elestio, K8s, Sive Host (África do Sul), Cloudzy ou Pikapods para subir rapidamente uma instância do Checkmate. Se quiser monitorar sua infraestrutura de servidores, você precisará do agente Capture. O repositório do Capture também contém as instruções de instalação.
Usando uma CA personalizada
Se você precisa monitorar endpoints HTTPS internos com certificados emitidos por autoridades certificadoras privadas (como Smallstep), veja nosso Guia de confiança em CA personalizada para opções de configuração do Docker.
Para mais documentação, veja o diretório docs.
Desempenho
Graças a otimizações extensas, o Checkmate opera com uma pegada de memória excepcionalmente pequena, exigindo memória e CPU mínimos. Veja o uso de memória de uma instância Node.js em um servidor monitorando 323 servidores a cada minuto:
Você pode ver a pegada de memória do MongoDB e Redis no mesmo servidor (398 MB e 15 MB) para a mesma quantidade de servidores:
Perguntas & ideias
Se você tem perguntas, sugestões ou comentários, há várias opções:
- Canal do Discord (preferido)
- GitHub Discussions (passamos por aqui de vez em quando)
Sinta-se à vontade para perguntar ou compartilhar suas ideias — adoramos ouvir você!
Funcionalidades
- Totalmente código aberto, implantável em seus servidores ou dispositivos domésticos (ex.: Raspberry Pi 4 ou 5)
- Várias opções de monitoramento: disponibilidade, Docker, ping, SSL, porta, servidor de jogos
- Monitoramento de velocidade de página
- Monitoramento de infraestrutura (memória, uso de disco, desempenho de CPU, rede, etc.) — requer o agente Capture
- Monitoramento seletivo de disco com escolha de pontos de montagem
- Incidentes em um relance
- Páginas de status com 4 temas elegantes
- Notificações por e-mail, webhooks, Discord, Slack, PagerDuty, Matrix, Microsoft Teams, Telegram, Pushover, Twilio (SMS)
- Manutenção agendada
- Monitoramento por consulta JSON
- Suporte a múltiplos idiomas: árabe, chinês (simplificado), chinês (tradicional, Taiwan), tcheco, inglês, finlandês, francês, alemão, japonês, português (Brasil), russo, espanhol, tailandês, turco, ucraniano e vietnamita
Ciclo de vida do monitor
- Um monitor executa uma verificação (HTTP / ping / porta / hardware via agente Capture)
- O resultado é armazenado (sucesso/falha + tempo de resposta)
- Os resultados recentes são avaliados em relação ao limite de mudança de status configurado
- Se o limite for atingido e o status atual diferir do anterior, o estado do monitor muda (ex.:
initializing,up,down,breached) - Em uma mudança de estado, um incidente é criado ou resolvido conforme o status atual do monitor
- As notificações são disparadas com base na configuração
Capturas de tela
Stack tecnológica
- ReactJs
- MUI (framework React)
- Node.js
- MongoDB
- Recharts
- E muitos outros componentes de código aberto!
Alguns links
- Se quiser nos apoiar, considere dar uma ⭐ e clicar em "watch".
- Tem alguma pergunta ou sugestão sobre o roadmap/funcionalidades? Confira nosso canal do Discord ou o fórum Discussions.
- Quer receber um aviso a cada novo lançamento? Use o Newreleases, um serviço gratuito de acompanhamento de releases.
- Assista a um vídeo de instalação e uso do Checkmate
Contribuindo
Somos o Alex (líder de equipe), o Gorkem, o Aryaman, o Mert e a Karen — ajudamos indivíduos e empresas a monitorar suas infraestruturas e servidores.
Nos orgulhamos de construir conexões fortes com contribuidores de todos os níveis. Apesar de ser um projeto jovem, o Checkmate já conquistou mais de 7000 estrelas e atraiu mais de 90 contribuidores no mundo todo.
Nosso repositório recebeu estrelas de funcionários do Google, Microsoft, Intel, Cisco, Tencent, Electronic Arts, ByteDance, JP Morgan Chase, Deloitte, Accenture, Foxconn, Broadcom, China Telecom, Barclays, Capgemini, Wipro, Cloudflare, Dassault Systèmes e NEC — então não se segure: entre, contribua e aprenda com a gente!
Como contribuir:
- Dê uma estrela neste repositório :)
- Confira o guia do contribuidor. Iniciantes são incentivados a verificar a tag
good-first-issue. - Leia uma estrutura detalhada do Checkmate se quiser mergulhar na arquitetura.
- Abra uma issue se acreditar ter encontrado um bug.
- Procure por
good-first-issues se você é novo. - Faça um pull request para adicionar novas funcionalidades, melhorias ou correções de bugs.
- Confira este passo a passo interativo da base de código do
Checkmateno CodeCanvas aqui. Para refinar simulações existentes de fluxo de dados ou criar novas, siga o tutorial rápido aqui.