Servidor Prometheus integrado¶
control.observability.prometheus
O cluster central/Sapsan inclui um plano de dados de estatísticas integrado. Os streamers Sapsan enviam suas estatísticas atuais ao central; o detentor do mandato stats constrói o histórico de métricas em memória. As consultas a esse histórico atendem os gráficos da console sem uma TSDB em disco nem um servidor de métricas separado.
Um grupo com várias instâncias do central tem um único plano de estatísticas e um único armazenamento de histórico. As outras instâncias encaminham as consultas ao detentor do mandato: todas consultam o mesmo histórico. Reiniciar o detentor ou transferir o mandato cria um armazenamento novo; as amostras anteriores não são transferidas.
Os padrões são um intervalo de amostragem de 30 segundos e uma retenção de seis horas. Cada série também tem um limite de 1024 amostras, e o armazenamento admite até 1 200 000 séries. Esses limites restringem o uso de memória; não garantem seis horas de histórico em qualquer configuração. Para conservar o histórico, use um sistema de métricas externo.
Métricas de um servidor¶
Um streamer Sapsan independente exporta os contadores atuais para coleta por um Prometheus externo. Isso não fornece a API de consultas históricas descrita aqui, que pertence ao plano de estatísticas do cluster no central.
Consultas ao cluster¶
No Grafana, use uma fonte de dados Prometheus com a URL base https://central.example/central/api-v4/prometheus e autenticação da API de gerenciamento do central. Acrescente os caminhos padrão da API Prometheus a essa base:
- Consultas:
/api/v1/querye/api/v1/query_range. - Catálogo:
/api/v1/series,/api/v1/labelse/api/v1/label/{name}/values. - Informações de compilação:
/api/v1/status/buildinfo.
Essa URL usa o backend selecionado por central.stats: histórico integrado, Prometheus externo ou Retroview. Os limites de memória e retenção acima se aplicam apenas ao histórico integrado.
As séries de streams usam name para o stream e server_id para o streamer. O mecanismo integrado oferece um subconjunto do PromQL; construções não suportadas retornam um erro explícito.
rate(in_media_bytes_total{name="cam1"}[1m])
sum by (server_id) (rate(in_media_bytes_total[1m]))