A história do Nagios: o santo que virou o pager

Mascote do LinuxPro pressionando alerta vermelho no painel Nagios

Em 14 de março de 1999 Ethan Galstad soltou o NetSaint 0.0.1. Ele achava que umas doze pessoas iam ligar. O bicho pingava host, rodava plugin, mandava e-mail e pager quando o serviço caía — e de novo quando voltava. Em 2002 o nome virou Nagios: “Nagios Ain’t Gonna Insist On Sainthood”, hagios = santo, porque NetSaint bateu em marca. Vinte e sete anos depois o Nagios Core 4.5.14 (5 de agosto de 2026) ainda é GPLv2, ainda é C, ainda é o jeito que uma geração inteira de admin Linux aprendeu a vigiar máquina. O N manuscrito na capa é o mesmo desenho torto de sempre.

1996: um ping no DOS e um pager

Galstad, nos EUA, escreveu um programinha MS-DOS para pingar servidor Novell NetWare e disparar pager numérico. A checagem e o aviso já vinham de ferramenta de terceiro — a semente do modelo plugin. Em 1998 ele pensou em monitoramento hospedado, reescreveu para Linux. Em março de 1999 abriu o código. Os plugins saíram do tarball logo depois e viraram projeto à parte: hoje ainda é o nagios-plugins / Monitoring Plugins. Sem esse recorte — um binário burro que só agenda, e um exército de check_* — o Nagios não teria virado padrão.

2002: o santo que não insistiu

Marca parecida, advogado, acordo. Galstad mudou o nome mesmo assim. Nagios pronunciado “ná-gui-ous”. A arquitetura ficou: daemon em C, arquivo de texto como verdade (nagios.cfg, hosts.cfg, services.cfg), CGI em Perl/C no Apache, estado OK / WARNING / CRITICAL / UNKNOWN, hard/soft state, flap detection, notification por contato. NRPE para checar o Linux de dentro. NSCA para o check passivo (o host é que empurra). Quem já configurou 400 host na unha lembra o ponto: o Nagios não desenha gráfico. O Nagios grita.

Em junho de 2005 foi Project of the Month no SourceForge. Em 2006 o eWeek botou na lista de ferramenta “must have” de empresa. Ainda não havia empresa. Havia o Ethan e a lista.

2.0, 3.0, 4.0: NEB, escala, Core

Nagios 2.0 (fevereiro de 2006): interface nova e o Event Broker (NEB) — API para módulo enxergar a estrutura interna. Daí saiu NDOUtils (estado no MySQL), daí o que o XI e o Centreon comeram. Nagios 3.0 (março de 2008): monitoramento adaptativo e fôlego para instalação grande. Nagios 4 (2014) reescreveu o scheduler: menos CPU para a mesma quantidade de check.

Por volta de 2007 Galstad fundou a Nagios Enterprises. O Core ficou GPLv2. O produto pago — Nagios XI, depois Log Server, Network Analyzer, Fusion — empilha interface, wizard, relatório e suporte em cima do mesmo motor. Open core antes da moda ter nome. Em 2024 a empresa fez 25 anos. XI, Log Server, Analyzer e Fusion já vão na linha 2026R1. A World Conference 2026 é em St. Paul, Minnesota, 14–17 de setembro, na sede.

A cisão: Icinga, Naemon, Checkmk

Em 2009 parte da comunidade — cansada do ritmo e da linha entre o que era livre e o que ia para o XI — forkou. Nasceu o Icinga. Depois o Naemon (2014), fork do Core 4. O Check_MK de Mathias Kettner (hoje Checkmk) começou como conjunto de plugin e virou produto. Centreon, Shinken, Opsview. O plugin API era tão simples que o ecossistema inteiro cabe num check_disk -w 20% -c 10%. O preço: config em arquivo que não escala sem ferramenta. É aí que entra o NagiosQL.

O que o Nagios ensinou

  • Host e service são objetos. Dependência (pai) evita tempestade de alerta quando o switch cai.
  • Check é processo externo. Qualquer linguagem. Timeout. Código de saída 0/1/2/3.
  • Notificação tem janela, escalação, downtime, acknowledgement.
  • O mapa de status CGI — os quadradinhos verdes e vermelhos — é a estética de uma era. Grafana não existia.

The Zabbix tomou o outro caminho: item no banco, agente que coleta, trigger que avalia, gráfico nativo. O Prometheus, neste blog, é a terceira via: pull, métrica, Node Exporter.

2026: Core 4.5.14, XI 2026R1

O Core 4.5.14 saiu em 5 de agosto de 2026. GitHub NagiosEnterprises/nagioscore. NRPE 4.x ainda é o jeito clássico de falar com o Linux. Distro empacota 4.4/4.5. O XI 2026R1.4 ganhou wizard de Nutanix e de switch. Não é o motor da nuvem — o Zabbix e o Prometheus comeram esse pedaço — mas em NOC de empresa que já tem mil .cfg, o N não sai.

O Nagios na prática, em cinco minutos

História à parte, o motor ainda instala e roda com dois comandos. No Debian ou Ubuntu:

sudo apt update
sudo apt install nagios4 monitoring-plugins nagios-nrpe-plugin

A configuração é o que a série toda ensinou a odiar e a amar: arquivo de texto é a verdade. Tudo vive em /etc/nagios4/, e cada coisa monitorada é um objeto. Um host novo cabe em oito linhas:

define host {
    use             generic-host
    host_name       servidor-web
    address         192.168.0.20
    max_check_attempts  3
}

define service {
    use                 generic-service
    host_name           servidor-web
    service_description Espaco em disco
    check_command       check_disk!20%!10%!/
}

Aquele check_disk!20%!10%!/ é a alma do projeto: o Nagios não sabe o que é disco. Ele só chama um programa externo, passa argumentos separados por ! e olha o código de saída — 0 é OK, 1 é WARNING, 2 é CRITICAL, 3 é UNKNOWN. Qualquer coisa que respeite esse contrato vira um check, em qualquer linguagem:

# rodando um plugin na mão, como o daemon faria
/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
echo $?      # 0 = OK, 1 = WARNING, 2 = CRITICAL, 3 = UNKNOWN

# um "plugin" seu funciona igual: escreva o arquivo abaixo em
# /usr/lib/nagios/plugins/check_meu e marque como executavel
#
#   #!/bin/bash
#   if pgrep -x meu-daemon >/dev/null; then
#       echo "OK - rodando"; exit 0
#   fi
#   echo "CRITICAL - parado"; exit 2

sudo chmod +x /usr/lib/nagios/plugins/check_meu
/usr/lib/nagios/plugins/check_meu; echo $?

Antes de recarregar, valide — o Nagios se recusa a subir com configuração quebrada, e o verificador aponta o arquivo e a linha:

sudo nagios4 -v /etc/nagios4/nagios.cfg
sudo systemctl reload nagios4

Para checar de dentro de um servidor remoto — carga, memória, processos, coisas que o ping não enxerga — instala-se o NRPE no alvo e chama-se de fora com check_nrpe. É o modelo ativo. Quando o alvo está atrás de NAT ou firewall e é ele quem precisa falar, inverte-se com o NSCA: o host empurra o resultado para o servidor. Dois mecanismos, a mesma ideia de código de saída.

Timeline

  • 1996 — Ethan Galstad escreve um programa MS-DOS que pinga servidores NetWare e dispara pager numérico.
  • 1998 — a ideia vira monitoramento hospedado e é reescrita para Linux.
  • 14/03/1999 — lançamento do NetSaint 0.0.1, com o código aberto.
  • 2002 — conflito de marca força a troca de nome: nasce o Nagios, “Nagios Ain’t Gonna Insist On Sainthood”.
  • jun/2005 — Project of the Month no SourceForge.
  • fev/2006 — Nagios 2.0 traz o Event Broker (NEB), a API que abriria caminho para NDOUtils, XI e Centreon.
  • 2007 — Galstad funda a Nagios Enterprises; o Core segue em GPLv2 e o XI nasce como produto pago.
  • mar/2008 — Nagios 3.0: monitoramento adaptativo e fôlego para instalações grandes.
  • 2009 — parte da comunidade forka o projeto e cria o Icinga.
  • 2014 — Nagios 4 reescreve o scheduler; no mesmo período surge o Naemon, fork do Core 4.
  • 2024 — a Nagios Enterprises completa 25 anos.
  • 05/08/2026 — sai o Nagios Core 4.5.14, ainda em C e ainda GPLv2.

O que ficou

Um ping no DOS, um santo que perdeu a marca e um daemon que só agenda plugin. A geração seguinte forkou. A empresa fez o XI. O Core, GPLv2, ainda responde nagios -v /etc/nagios/nagios.cfg. 4.5.14, St. Paul, pager no começo, webhook no fim. O N sublinhado continua torto de propósito.

A GUI que escreve o cfg: NagiosQL. O rival letão: Zabbix.