ResourceAlerter
Serviço do Windows que monitora a saúde de um servidor — CPU, RAM, temperatura da CPU, tensões dos trilhos da fonte de alimentação (PSU), espaço em disco e saúde da rede (perda de pacotes/quedas, latência, erros/tráfego da interface) — e envia um alerta por e-mail quando algo sai do intervalo esperado, sem necessidade de infraestrutura de monitoramento externa (sem Zabbix/PRTG/Docker/Linux). Construído com .NET 8 (Microsoft.Extensions.Hosting + Microsoft.Extensions.Hosting.WindowsServices) e LibreHardwareMonitorLib para os sensores.
Como funciona
- Um único loop central de verificação (
Worker, a cada 10s por padrão) executa cada monitor e envia o resultado para oAlertStateTrackerdaquele monitor. - Máquina de estados anti-spam por assunto monitorado (por exemplo, por disco, por trilho da PSU):
- Ficar fora do intervalo precisa se sustentar por uma janela configurável (60s por padrão) antes de contar como um evento real — um pico isolado não dispara um e-mail.
- Uma vez confirmado, um e-mail de alerta inicial é enviado.
- Enquanto permanecer fora do intervalo, um e-mail de lembrete é enviado a cada N minutos (20 por padrão), não a cada ciclo de verificação.
- Assim que voltar ao intervalo normal e se sustentar ali por uma janela (60s por padrão), um e-mail de resolução é enviado com a duração total do evento.
- Cada e-mail inclui o nome da máquina, o monitor, o valor detectado, o limite (threshold) e os horários.
- Notificações opcionais no Discord: cada alerta também pode ser publicado em um canal do Discord por meio de um webhook de entrada (sem necessidade de bot), em paralelo com o e-mail. O e-mail continua sendo o canal com o detalhe completo (anexos); o Discord é o aviso rápido.
- A cada inicialização é enviado um e-mail de "serviço iniciado em
<máquina>às<horário>" — um sinal indireto de que a máquina reiniciou. Ele também lista exatamente o que está sendo monitorado ativamente (com cada limite) e o que foi ignorado nessa máquina em particular, para que você saiba a cobertura real de sensores sem precisar vasculhar os logs. - Cada leitura é registrada em um banco de dados SQLite local (
%ProgramData%\ResourceAlerter esourcealerter.dbpor padrão, retenção configurável, 90 dias por padrão), junto com cada evento de alerta (início/resolução). - Todos os dias às 00:00 é enviado um e-mail de resumo com: a lista de alertas das últimas 24 horas (com duração), um gráfico JPG para cada variável monitorada (linhas verticais vermelhas marcam o início dos alertas), o(s) arquivo(s) de log do dia em anexo, e um dump de todos os sensores de hardware que a máquina expõe — útil para planejar quais sensores suportar a seguir. É possível testar a qualquer momento com
ResourceAlerter.exe --send-summary. - Um aplicativo complementar, o Viewer (
ResourceAlerterViewer.exe, com atalho na área de trabalho instalado pelo MSI), mostra o valor atual/último de qualquer variável registrada, além do seu gráfico de área das últimas 24 horas, com as mesmas marcações vermelhas de alerta, atualizando automaticamente a cada 30s. O gráfico permite zoom/deslocamento com o mouse (rolar para zoom, arrastar para deslocar, clique direito para um menu com "Auto Axis" para redefinir), permitindo examinar mais de perto um alerta específico; o eixo Y se reajusta automaticamente conforme o que está visível no eixo X, para que uma visão em zoom não pareça achatada — a atualização automática a cada 30s só atualiza os dados, nunca reseta um zoom que você tenha definido, então dá para dar zoom e deixar aberto enquanto continua atualizando. Ele lê o mesmo banco de dados SQLite diretamente; não precisa de permissões elevadas. Também tem um botão de Configuração que cobre todos os ajustes (SMTP, Discord, limites de cada monitor, retenção de banco de dados/logs, ...) como um formulário em vez de editar um JSON manualmente — essa é agora a forma principal de configurar um servidor. Se oappsettings.jsonainda não existir, o formulário parte dos mesmos valores padrão que o próprio serviço usaria. Ao salvar, ele oferece reiniciar o serviço (com permissões elevadas) para que as mudanças sejam aplicadas imediatamente. - Tudo também é gravado em um arquivo de log local rotativo (
logs/) para que você possa diagnosticar sem depender do envio de e-mail. - Se um sensor de temperatura/tensão não for exposto pelo hardware (ou o nome do sensor de um trilho da PSU não corresponder, veja
SensorNameOverridesabaixo), ele é ignorado silenciosamente: registrado uma vez localmente para diagnóstico, nunca gera e-mail de alerta, e aparece em "não monitorado" no e-mail de inicialização. A verificação continua acontecendo a cada ciclo, caso o sensor fique disponível mais tarde (por exemplo, após instalar o serviço com permissões elevadas), o que se autocorrige sem tratamento especial.
Identificação técnica
- Equipamento: monitor
- Marca/fabricante: MSI
- Modelo/código: RESOURCEALERTERSETUP-4
Conteúdo do pacote
- ResourceAlerterSetup-4.0.1.msi (94,33 MB) — Instalador do serviço e do aplicativo Viewer.
ESQUEÇA!
Participe agora da conversa!
Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.