O dia em que percebi que a observabilidade para cedo demais

Há uns meses, estava a ler sobre os níveis de poluição do ar em Nova Deli. Em algumas semanas de inverno, as concentrações de PM2,5 chegam aos 200-300 µg/m³, por vezes mais. A Organização Mundial de Saúde recomenda que não se ultrapassem os 15 µg/m³ em média diária. Não é uma diferença pequena. É mais de dez vezes o valor recomendado.
Quando a poluição atinge esses picos, as escolas fecham, os voos atrasam-se e aconselha-se as pessoas a ficar em casa. É um problema de saúde pública que afeta milhões. Ao mesmo tempo, no mundo em que trabalho, vivemos obcecados com métricas.
Monitorizamos a utilização de CPU ao minuto. Acompanhamos a pressão de memória, a E/S de disco, a latência da rede. Disparamos alertas se um serviço responde 300 milissegundos mais devagar do que o habitual. E este contraste não me saía da cabeça.
Temos ferramentas extraordinariamente avançadas para observar sistemas. Há equipas inteiras dedicadas a construir pipelines de monitorização, estratégias de alerta, painéis e fluxos de resposta a incidentes. Mas, por alguma razão, o ar que as pessoas respiram todos os dias raramente entra nesses sistemas.
Os dados existem. Milhares de estações medem poluentes continuamente por todo o mundo. Esses dados estão apenas desligados das ferramentas operacionais que usamos. Foi este pensamento que me levou a construir uma pequena experiência.
Tratar a qualidade do ar como infraestrutura
Construí um agente especial para o Checkmk que se integra com a API v3 da OpenAQ.
A OpenAQ agrega medições ambientais de estações de monitorização em todo o mundo. Em vez de deixar esses dados em painéis externos, o agente traz-os diretamente para dentro da stack de monitorização.
Cada estação passa a ser um host no Checkmk.
Cada poluente passa a ser um serviço:
- PM2,5
- PM10
- O₃
- NO₂
- SO₂
Os limiares assentam nas orientações de qualidade do ar da OMS e da EPA, para que o sistema possa classificar as medições como OK, WARN ou CRIT, tal como faria com qualquer outra métrica.
Do ponto de vista da monitorização, comporta-se exatamente como a monitorização de infraestrutura. Só que o sinal não vem de um servidor. Vem do ambiente físico.

Porque é que isto importa
Uma das coisas de que gosto nos sistemas de monitorização é que nos obrigam a levar os sinais a sério.
Um número num painel pode ser interessante. Um serviço monitorizado, com um limiar definido, torna-se acionável. A partir do momento em que algo entra no fluxo de monitorização, deixa de ser abstrato. Passa a ser algo que se observa, a que se reage e com que se aprende.
Os dados de qualidade do ar merecem esse nível de atenção. Cidades com problemas de poluição, instituições de investigação que estudam o impacto ambiental, ou mesmo organizações interessadas em consciência ambiental, podiam beneficiar de integrar estes sinais nos seus sistemas operacionais.
A monitorização não tem de parar nos servidores. Às vezes, a métrica mais importante não é a utilização de CPU. Às vezes é o ar que as pessoas respiram.
