Prometheus: Adicionar encriptação TLS ao Prometheus Node Exporter
Esta documentação faz parte do guia Recuperar métricas de Linux. Consulte o guia completo aqui: Como recuperar métricas de servidores Linux no Prometheus usando Node Exporter.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero disponibiliza uma plataforma Prometheus cloud totalmente gerida, concebida para garantir fiabilidade e simplicidade:
- O
Alert Managerestá integrado, permitindo-lhe encaminhar alertas diretamente para oSlack,Mattermost,PagerDutye outros destinos populares.- Um servidor de email dedicado permite-lhe enviar alertas por email ilimitados sem necessidade de configuração adicional.
- O
Blackboxestá incluído, possibilitando a monitorização de protocolos comoHTTP,ICMP,TCPe outros, para uma supervisão abrangente.- Configure rapidamente a sua instância através do editor online de ficheiros de configuração. Não é necessário editar YAML manualmente.
- Aplique atualizações com um único clique. A Stackhero gere todo o processo de atualização por si, minimizando o tempo de indisponibilidade e a intervenção manual.
- Elevado desempenho e segurança reforçada estão garantidos, graças à sua infraestrutura privada e dedicada.
Fique operacional em cerca de 5 minutos. A Stackhero trata da configuração para que se possa concentrar na monitorização, não na manutenção. Experimente o Prometheus cloud hosting da Stackhero para simplificar os seus fluxos de trabalho de monitorização e alertas.
Por padrão, o Node Exporter não encripta as comunicações. Isto significa que as credenciais, incluindo a palavra-passe definida anteriormente, são transmitidas em texto simples. Para proteger as comunicações, pode ativar a encriptação TLS da seguinte forma.
Criar certificados TLS
Execute os seguintes comandos para criar um certificado e uma chave TLS:
# Criar certificado TLS
cd /tmp
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
-keyout /etc/prometheus_node_exporter/tlsCertificate.key \
-out /etc/prometheus_node_exporter/tlsCertificate.crt \
-subj "/CN=`hostname`" \
-addext "subjectAltName = DNS:`hostname`"
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter
Atualizar a configuração
Adicione as seguintes linhas ao ficheiro de configuração para adicionar as definições TLS e depois reinicie o Node Exporter:
sudo cat << 'EOF' >> /etc/prometheus_node_exporter/configuration.yml
tls_server_config:
cert_file: /etc/prometheus_node_exporter/tlsCertificate.crt
key_file: /etc/prometheus_node_exporter/tlsCertificate.key
EOF
# Reiniciar Prometheus Node Exporter
sudo systemctl restart node_exporter
Pode verificar que o TLS está ativo conectando-se via HTTPS com o seguinte comando:
curl -k -u prometheus:${password} https://localhost:9100/metrics
Note que este método não usa um certificado CA, por isso precisa passar a opção "-k" para o cURL para ignorar a verificação do certificado.