O GitHub Enterprise Server inclui um exportador de métricas do Prometheus para simplificar a observabilidade e o monitoramento. Esse recurso permite que as métricas sejam extraídas diretamente do dispositivo, eliminando a necessidade de encaminhar as métricas de collectd para um servidor externo de collectd para transformação antes de enviá-las a um sistema do Prometheus. Ao dar suporte a métricas compatíveis com o Prometheus de modo nativo, o exportador permite uma integração perfeita a painéis de monitoramento e sistemas de alerta externos.
Como habilitar as métricas de extração e o exportador de métricas do Prometheus
Por padrão, a extração e o exportador de métricas do Prometheus estão desabilitados. A habilitação do exportador para as métricas de collectd abre o ponto de extremidade de métricas (também conhecido como scrape endpoint) em http(s)://HOSTNAME:9103. Verifique se as regras de firewall permitem o tráfego na porta 9103.
Você pode habilitar o exportador de métricas do Prometheus usando o Console de Gerenciamento, a interface de linha de comando dentro do dispositivo ou a API.
Como habilitar o uso do Console de Gerenciamento
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Nas configurações de monitoramento, selecione Enable Prometheus.
- No campo Trusted IPv4/IPv6 addresses or CIDR blocks in a comma-separated list, digite a lista separada por vírgulas de endereços IP ou blocos CIDR. Um exemplo:
10.0.0.1, 192.168.1.0/8. Se esse campo for deixado vazio, as solicitações de extração de qualquer IP de origem serão aceitas.
Como habilitá-lo por meio da interface de linha de comando
Para habilitar o exportador de métricas do Prometheus, abra o SSH no dispositivo do GitHub Enterprise Server e execute os seguintes comandos:
ghe-config app.prometheus.enabled true
# Specify a comma-separated list of
# trusted IPv4/IPv6 addresses or CIDR blocks.
ghe-config app.prometheus.trusted-ips \
"10.0.0.1, 192.168.1.0/8"
ghe-config-apply
Habilitando usando a API
Você pode habilitar o exportador de métricas do Prometheus usando a API com o envio de uma solicitação PUT para atualizar as definições de configuração.
curl -L -H "Content-Type: application/json" \
-X PUT -u "api_key:xxxxxxx" \
https://<hostname>/manage/v1/config/settings \
-d '{"prometheus": {"enabled": true, "trusted_ips": "10.0.0.1, 192.168.1.0/8"}}'
Como verificar se o exportador de métricas do Prometheus está habilitado
Para verificar se o exportador de métricas do Prometheus está habilitado, use curl para consultar o ponto de extremidade /metrics na porta 9103. Para obter mais informações sobre as portas administrativas, veja Portas de rede.
curl 127.0.0.1:9103/metrics
Se a resposta for bem-sucedida, ela incluirá métricas com o prefixo collectd_.
Como configurar seu servidor externo do Prometheus
Para extrair as métricas exportadas do GitHub Enterprise Server, adicione uma configuração de extração ao arquivo prometheus.yaml no servidor externo do Prometheus.
- job_name: "ghes-prom-agent"
scrape_interval: 10s
static_configs:
- targets: ["http(s)://HOSTNAME:9103/metrics"]
Suporte para o exportador de métricas do Prometheus enviado de maneira oculta
Se você estiver usando o exportador de métricas do Prometheus desde que ele foi enviado de maneira oculta no GitHub Enterprise Server 3.12, ele continuará funcionando após a atualização para a versão 3.16. Nesta versão, agora você tem a opção de especificar IPs confiáveis para solicitações de extração.
Compartilhando feedback
Compartilhe seus comentários sobre o exportador de métricas do Prometheus e a funcionalidade de extração com a GitHub. Para obter ajuda com dúvidas ou problemas, acesse o Suporte do GitHub Enterprise.