Prometheus é uma poderosa ferramenta de monitoramento e alertas de código aberto, amplamente utilizada para capturar métricas de diversos serviços. Auto-hospedar Prometheus em um VPS pode garantir controle total sobre sua configuração de monitoramento. Neste guia, vamos mostrar como instalar o Prometheus em um servidor privado virtual (VPS), usando Docker para facilitar a gestão e implantação.
Passo 1: Escolhendo um Provedor de VPS
Antes de começarmos, você precisa selecionar um provedor de VPS. A seguir, uma comparação de algumas opções populares de VPS adequadas para hospedar Prometheus:
| Provedor | Preço (por mês) | Recursos | Link |
|---|---|---|---|
| Contabo VPS | 5,99 EUR | Alta memória RAM, armazenamento SSD | Contabo |
| Hetzner Cloud | 4,15 EUR | Excelente desempenho, soluções escaláveis | Hetzner Cloud |
| DigitalOcean | 6 USD | Interface fácil de usar, créditos generosos | DigitalOcean |
| Vultr | 6 USD | Localizações geográficas amplas | Vultr |
| Linode (Akamai) | 5 USD | Preços simples, confiabilidade | Linode |
Para desenvolvedores e homelabbers, o Hetzner Cloud costuma se destacar devido ao seu preço competitivo e desempenho.
Passo 2: Configurando seu VPS
Após escolher um provedor, crie uma instância com pelo menos 1 GB de RAM e um CPU decente. Siga estes passos de preparação do servidor:
-
Conecte-se ao seu servidor usando SSH:
ssh root@seu_vps_ip -
Atualize seu sistema:
sudo apt update && sudo apt upgrade -y -
Instale o Docker:
sudo apt install docker.io -y -
Inicie e habilite o Docker:
sudo systemctl start docker sudo systemctl enable docker
Passo 3: Instalar Prometheus Usando Docker
Com o Docker instalado, você pode implantar rapidamente o Prometheus em um container.
-
Baixe a imagem oficial do Docker do Prometheus:
sudo docker pull prom/prometheus -
Crie um arquivo de configuração para o Prometheus. Você pode usar a configuração padrão ou criar a sua própria. Aqui está um exemplo simples:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] -
Salve este arquivo como
prometheus.yml. -
Execute o Prometheus com Docker:
sudo docker run -d \ -p 9090:9090 \ --name prometheus \ -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus -
Acesse o Prometheus: Vá para
http://seu_vps_ip:9090no seu navegador para ver o painel do Prometheus.
Passo 4: Configurando o Prometheus
Depois que o Prometheus estiver em execução, você pode começar a configurá-lo mais para suas métricas de aplicação. Aqui estão algumas configurações básicas:
- Adicionando Alvos Extras: Modifique o arquivo
prometheus.ymlpara incluir outros serviços que deseja monitorar. - Regras de Alertas: Configure regras de alerta em um arquivo separado e integre o Alertmanager para notificações.
Passo 5: Armazenando Dados
Prometheus usa um banco de dados de séries temporais para armazenar dados de métricas de forma eficiente. Por padrão, ele armazena os dados na memória, mas você pode configurar opções de persistência, se necessário.
FAQ
Como posso proteger o Prometheus no meu VPS?
Para garantir a segurança da sua instância do Prometheus, considere implementar as seguintes etapas:
- Use HTTPS: Configure um servidor web (como Nginx) para proxyar as solicitações ao Prometheus e servir conteúdo via HTTPS.
- Autenticação Básica: Adicione uma camada de autenticação no Nginx ou no servidor web.
- Regras de Firewall: Crie regras de firewall para limitar o acesso apenas ao seu IP ou redes confiáveis.
Assim, seus dados permanecem protegidos contra acessos não autorizados.
Posso monitorar outros serviços com Prometheus?
Sim, uma das principais forças do Prometheus é sua capacidade de coletar métricas de diversos serviços. Você pode monitorar:
- Métricas de aplicações diretamente, se elas exporem endpoints compatíveis com Prometheus.
- Exporters para bancos de dados populares (MySQL, PostgreSQL) e serviços (Redis, Nginx).
- Métricas personalizadas de suas aplicações expondo um endpoint
/metrics.
Essa flexibilidade permite uma configuração de monitoramento abrangente.
Como posso configurar alertas no Prometheus?
O Prometheus pode enviar alertas baseados em regras definidas na sua configuração. Veja como configurar alertas básicos:
-
Defina Regras de Alertas: Crie um arquivo YAML com suas definições de alertas. Exemplo:
groups: - name: exemplo rules: - alert: AltaCarga expr: job:load1:avg5m > 0.7 for: 10m labels: severity: critical annotations: summary: "Alta carga na instância {{ $labels.instance }}" -
Configure o Alertmanager: Instale e configure o Alertmanager para gerenciar os alertas enviados pelo Prometheus.
-
Canais de Notificação: Configure canais de notificação (email, Slack) no Alertmanager para entrega de alertas.
Para configurações avançadas, consulte a documentação do Prometheus.
Conclusão
Auto-hospedar Prometheus em um VPS oferece uma solução robusta para monitorar suas aplicações e infraestrutura. Com os passos detalhados acima, você pode instalar, configurar e personalizar o Prometheus de acordo com suas necessidades. Para uma comparação completa de VPS, visite nossa comparação completa de VPS. Boa monitorização!