Gradualmente, integrei o Prometheus nos meus fluxos de trabalho de monitoramento, a fim de reunir métricas detalhadas sobre a infraestrutura em execução.
Durante isso, notei que frequentemente encontro um problema peculiar: às vezes um exportador do qual Prometheus deve extrair dados fica sem resposta. Talvez por causa de uma configuração incorreta da rede - ela não esteja mais acessível - ou apenas porque o exportador caiu.
Qualquer que seja o motivo, acho que alguns dos dados que espero ver em Prometheus estão ausentes e não há nada na série por um determinado período de tempo. Às vezes, um exportador que falha (excede o tempo limite?) Também parece causar a falha de outros (o primeiro tempo limite levou o trabalho inteiro acima do tempo limite de nível superior - apenas especulando).
Tudo o que vejo é uma lacuna na série, como mostrado na visualização acima. Não há nada no log quando isso acontece. As auto-métricas de Prometheus também parecem bastante estéreis. Eu apenas tive que recorrer à tentativa de replicar manualmente o que Prometheus está fazendo e ver onde ele quebra. Isso é cansativo. Deve haver uma maneira melhor! Embora não precise de alertas em tempo real, quero pelo menos poder ver que um exportador falhou ao fornecer dados. Mesmo um sinalizador "ei, verifique seus dados" booleano seria um começo.
Como obtenho informações significativas sobre o Prometheus não obter dados de exportadores? Como entendo por que existem lacunas sem ter que executar uma simulação manual da coleta de dados do Prometheus? Quais são as práticas sensatas a esse respeito, talvez mesmo quando estendidas ao monitoramento da coleta de dados em geral, além do Prometheus?