As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Monitore os recursos e aplicativos do sistema com o Prometheus no Lightsail
O Prometheus é uma ferramenta de monitoramento de séries temporais de código aberto para gerenciar uma variedade de recursos e aplicações do sistema. Ele fornece um modelo de dados multidimensional, a capacidade de consultar os dados coletados e relatórios detalhados e visualização de dados por meio do Grafana.
Como padrão, o Prometheus está habilitado para coletar métricas no servidor em que está instalado. Com a ajuda dos exportadores de nó, as métricas podem ser coletadas de outros recursos, como servidores web, contêineres, bancos de dados, aplicativos personalizados e outros sistemas de terceiros. Neste tutorial, mostraremos como instalar e configurar o Prometheus com exportadores de nós em uma instância do Lightsail. Para uma lista completa de exportadores disponíveis, consulte Exportadores e integrações
Índice
Etapa 1: Concluir os pré-requisitos
Antes de instalar o Prometheus em uma instância do Amazon Lightsail, você deve fazer o seguinte:
-
Crie uma instância no Lightsail. Recomendamos usar o esquema do Ubuntu 20.04 LTS para sua instância. Para obter mais informações, consulte Criar uma instância no Amazon Lightsail.
-
Crie e anexe um endereço IP estático à sua nova instância. Para obter mais informações, consulte Criar um endereço IP estático no Amazon Lightsail.
-
Abra as portas 9090 e 9100 no firewall da sua nova instância. O Prometheus exige que as portas 9090 e 9100 estejam abertas. Para obter mais informações, consulte Adicionar e editar regras de firewall de instância no Amazon Lightsail.
Etapa 2: adicionar usuários e diretórios do sistema local a sua instância Lightsail
Conclua o procedimento a seguir para se conectar à sua instância do Lightsail usando SSH e adicionar usuários e diretórios do sistema. Esse procedimento cria as seguintes contas de usuário do Linux:
-
prometheus: essa conta é usada para instalar e configurar o ambiente do servidor. -
exporter: essa conta é usada para configurar a extensãonode_exporter.
Essas contas de usuário são criadas com o único propósito de gerenciamento e, portanto, não exigem serviços de usuário ou permissões adicionais além do escopo dessa configuração. Nesse procedimento, você também cria diretórios para armazenar e gerenciar os arquivos, as configurações do serviço e os dados que o Prometheus usa para monitorar recursos.
-
Faça login no console do Lightsail
. -
Na página de gerenciamento da instância, na guia Conectar, escolha Conectar usando SSH.
-
Após se conectar, insira cada um dos comandos a seguir para criar duas contas de usuário do Linux,
prometheuseexporter.sudo useradd --no-create-home --shell /bin/false prometheussudo useradd --no-create-home --shell /bin/false exporter -
Insira cada um dos comandos a seguir para criar diretórios do sistema local.
sudo mkdir /etc/prometheus /var/lib/prometheussudo chown prometheus:prometheus /etc/prometheussudo chown prometheus:prometheus /var/lib/prometheus
Etapa 3: fazer download dos pacotes binários do Prometheus
Conclua o procedimento a seguir para baixar os pacotes binários do Prometheus para sua instância do Lightsail.
-
Abra um navegador da Web em seu computador local e vá até a página de downloads do Prometheus
. -
Na parte superior da página, no menu suspenso Sistema operacional, selecione linux. Para Architecture (Arquitetura), selecione amd64.
-
Escolha ou clique o botão direito do link de download do Prometheus que aparece e copie o endereço do link para um arquivo de texto no seu computador. Faça o mesmo para o link de download do node_exporter que aparece. Você usará os dois endereços copiados posteriormente neste procedimento.
-
Conecte-se à sua instância do Lightsail usando SSH.
-
Insira o comando a seguir para alterar diretórios ao diretório principal.
cd ~ -
Insira o comando a seguir para fazer download dos pacotes binários Prometheus para a sua instância.
curl -LOprometheus-download-addressprometheus-download-addressSubstitua pelo endereço que você copiou anteriormente neste procedimento. O comando será semelhante à saída do exemplo a seguir quando você adicionar o endereço.curl -LOhttps://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz -
Insira o comando a seguir para fazer download dos pacotes binários
node_exporterpara a sua instância.curl -LOnode_exporter-download-addressnode_exporter-download-addressSubstitua pelo endereço que você copiou na etapa anterior desse procedimento. O comando será semelhante à saída do exemplo a seguir quando você adicionar o endereço.curl -LOhttps://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz -
Execute cada um dos comandos a seguir para extrair o conteúdo dos arquivos Prometheus e Node Exporter baixados.
tar -xvfprometheus-2.37.0.linux-amd64.tar.gztar -xvfnode_exporter-1.3.1.linux-amd64.tar.gzVários subdiretórios são criados depois que o conteúdo dos arquivos baixados é extraído.
-
Insira cada um dos comandos a seguir para copiar os arquivos extraídos
prometheusepromtoolpara o diretório de programas/usr/local/bin.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus /usr/local/binsudo cp -p ./prometheus-2.37.0.linux-amd64/promtool /usr/local/bin -
Insira o comando a seguir para alterar a propriedade dos arquivos
prometheusepromtoolpara o usuárioprometheusque você criou anteriormente neste tutorial.sudo chown prometheus:prometheus /usr/local/bin/prom* -
Insira cada um dos comandos a seguir para copiar os subdiretórios
consoleseconsole_librariespara/etc/prometheus. A opção-rexecuta uma cópia recursiva de todos os diretórios dentro da hierarquia.sudo cp -r ./prometheus-2.37.0.linux-amd64/consoles /etc/prometheussudo cp -r ./prometheus-2.37.0.linux-amd64/console_libraries /etc/prometheus -
Insira cada um dos comandos a seguir para alterar a propriedade dos arquivos copiados para o usuário
prometheusque você criou anteriormente neste tutorial. A opção-Rexecuta uma alteração recursiva de propriedade para todos os arquivos e diretórios dentro da hierarquia.sudo chown -R prometheus:prometheus /etc/prometheus/consolessudo chown -R prometheus:prometheus /etc/prometheus/console_libraries -
Insira cada um dos comandos a seguir para copiar o arquivo de configuração
prometheus.ymlpara o diretório/etc/prometheuse altere a propriedade do arquivo copiado para o usuárioprometheusque você criou anteriormente neste tutorial.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus.yml /etc/prometheussudo chown prometheus:prometheus /etc/prometheus/prometheus.yml -
Insira o comando a seguir para copiar o arquivo
node_exporterdo subdiretório./node_exporter*para o diretório de programas/usr/local/bin.sudo cp -p ./node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin -
Insira o comando a seguir para alterar a propriedade do arquivo para o usuário
exporterque você criou anteriormente neste tutorial.sudo chown exporter:exporter /usr/local/bin/node_exporter
Etapa 4: configurar o Prometheus
Conclua o procedimento a seguir para configurar o Prometheus. Nesse procedimento, você abre e edita o arquivo prometheus.yml, que contém várias configurações para a ferramenta Prometheus. O Prometheus estabelece um ambiente de monitoramento com base nas configurações que você define no arquivo.
-
Conecte-se à sua instância do Lightsail usando SSH.
-
Insira o comando a seguir para criar uma cópia de backup do arquivo
prometheus.ymlantes de abri-lo e editá-lo.sudo cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml.backup -
Insira o comando a seguir para abrir o arquivo
prometheus.ymlusando o Vim.sudo vim /etc/prometheus/prometheus.ymlA seguir estão alguns parâmetros importantes que talvez você queira configurar no arquivo
prometheus.yml:-
scrape_interval: localizado sob o cabeçalhoglobal, esse parâmetro define o intervalo de tempo (em segundos) para a frequência com que o Prometheus coletará ou extraíra dados de métricas para um determinado destino. Conforme indicado pela tagglobal, essa configuração é universal para todos os recursos que o Prometheus monitora. Essa configuração também se aplica aos exportadores, a menos que um exportador individual forneça um valor diferente que substitua o valor global. Você pode manter esse parâmetro definido com seu valor atual de 15 segundos. -
job_name: localizado sob o cabeçalhoscrape_configs, esse parâmetro é um rótulo que identifica exportadores no conjunto de resultados de uma consulta de dados ou exibição visual. Você pode especificar o valor de um nome de cargo para melhor refletir os recursos que estão sendo monitorados em seu ambiente. Por exemplo, você pode rotular um cargo para gerenciar um site comobusiness-web-app, ou você pode rotular um banco de dados comomysql-db-1. Nessa configuração inicial, você está monitorando apenas o servidor Prometheus, para que você possa manter o valorprometheusatual. -
targets: localizada sob o cabeçalhostatic_configs, a configuraçãotargetsusa um par de valores-chaveip_addr:portpara identificar o local em que determinado exportador está em execução. Você alterará a configuração padrão nas etapas 4 a 7 deste procedimento.
nota
Para essa configuração inicial, você não precisa configurar os parâmetros
alertingerule_files. -
-
No arquivo
prometheus.ymlque você abriu no Vim, pressione a tecla I para entrar no modo de inserção do Vim. -
Role e encontre o parâmetro
targetslocalizado sob o cabeçalhostatic_configs. -
Altere a configuração padrão para
. Substitua<ip_addr>:9090pelo endereço IP estático da instância. O parâmetro modificado deve ser como o exemplo a seguir.<ip_addr>
-
Pressione a tecla Esc para sair do modo de inserção e digite :wq! para salvar as alterações e sair do Vim.
-
(Opcional) Se algo der errado, digite o seguinte comando para substituir o arquivo
prometheus.ymlcom o backup criado anteriormente neste procedimento.sudo cp /etc/prometheus/prometheus.yml.backup /etc/prometheus/prometheus.yml
Etapa 5: iniciar o Prometheus
Realize o procedimento a seguir para iniciar o serviço Prometheus na instância.
-
Conecte-se à sua instância do Lightsail usando SSH.
-
Insira o comando a seguir para iniciar o serviço Prometheus.
sudo -u prometheus /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_librariesA linha de comando gera detalhes sobre o processo de inicialização e outros serviços. Também deve indicar que o serviço está recebendo na porta 9090.
Se o serviço não iniciar, consulte a seção Etapa 1: concluir os pré-requisitos deste tutorial para obter informações sobre como criar regras de firewall de instância para permitir o tráfego nessa porta. Para outros erros, revise o arquivo
prometheus.ymlpara confirmar que não há erros de sintaxe. -
Depois que o serviço em execução for validado, pressione Ctrl+C para pará-lo.
-
Digite comando a seguir para abrir o arquivo de configuração
systemdem Vim. Esse arquivo é usado para iniciar o Prometheus.sudo vim /etc/systemd/system/prometheus.service -
Insira as linhas a seguir no arquivo.
[Unit] Description=PromServer Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.targetAs instruções anteriores são usadas pelo gerente de serviço
systemdLinux para iniciar o Prometheus no servidor. Quando invocado, o Prometheus é executado como usuárioprometheuse faz referência ao arquivoprometheus.ymlpara carregar as configurações e armazenar os dados de séries temporais no diretório/var/lib/prometheus. Você pode executarman systemdna linha de comando para ver mais informações sobre o serviço. -
Pressione a tecla Esc para sair do modo de inserção e digite :wq! para salvar as alterações e sair do Vim.
-
Insira o comando a seguir para carregar as informações no gerente de serviço
systemd.sudo systemctl daemon-reload -
Para reiniciar o Prometheus, insira o comando a seguir.
sudo systemctl start prometheus -
Para verificar o status do serviço Prometheus, insira o comando a seguir.
sudo systemctl status prometheusSe o serviço for executado corretamente, você receberá um resultado semelhante ao seguinte exemplo.
-
Pressione Q para sair do comando de status.
-
Insira o comando a seguir para permitir que o Prometheus seja iniciado quando a instância é inicializada.
sudo systemctl enable prometheus -
Abra um navegador da Web em seu computador local e acesse o seguinte endereço da web para visualizar a interface de gerenciamento do Prometheus.
http:<ip_addr>:9090<ip_addr>Substitua pelo endereço IP estático da sua instância do Lightsail. Você verá um painel semelhante ao exemplo a seguir.
Etapa 6: iniciar o exportador de nó
Realize o procedimento a seguir para iniciar o serviço do explorador de nó.
-
Conecte-se à sua instância do Lightsail usando SSH.
-
Insira o comando a seguir para criar um arquivo de serviço
systemdparanode_exporterusando o Vim.sudo vim /etc/systemd/system/node_exporter.service -
Pressione a tecla I para entrar no modo de inserção no Vim.
-
Adicione as linhas de texto a seguir ao arquivo. Isso configurará
node_exportercom coletores de monitoramento para carga de CPU, uso do sistema de arquivos e recursos de memória.[Unit] Description=NodeExporter Wants=network-online.target After=network-online.target [Service] User=exporter Group=exporter Type=simple ExecStart=/usr/local/bin/node_exporter --collector.disable-defaults \ --collector.meminfo \ --collector.loadavg \ --collector.filesystem [Install] WantedBy=multi-user.targetnota
Essas instruções desativam as métricas de máquina padrão para o explorador de nó. Para uma lista completa de métricas disponíveis para o Ubuntu, consulte a página principal do Prometheus node_exporter
na Documentação do Ubuntu. -
Pressione a tecla Esc para sair do modo de inserção e digite :wq! para salvar as alterações e sair do Vim.
-
Para recarregar o processo
systemd, insira o comando a seguir.sudo systemctl daemon-reload -
Para iniciar o serviço
node_exporter, insira o comando a seguir.sudo systemctl start node_exporter -
Para conferir o status do serviço
node_exporter, insira o comando a seguir.sudo systemctl status node_exporterSe o serviço for executado com êxito, você receberá um resultado semelhante ao seguinte exemplo.
-
Pressione Q para sair do comando de status.
-
Insira o comando a seguir para permitir que o explorador de nó seja iniciado quando a instância é inicializada.
sudo systemctl enable node_exporter
Etapa 7: configurar o Prometheus com o coletor de dados do exportador de nó
Realize o procedimento a seguir para configurar o Prometheus com o coletor de dados do explorador de nó. Faça isso adicionando um novo parâmetro job_name para node_exporter no arquivo prometheus.yml.
-
Conecte-se à sua instância do Lightsail usando SSH.
-
Insira o comando a seguir para abrir o arquivo
prometheus.ymlusando o Vim.sudo vim /etc/prometheus/prometheus.yml -
Pressione a tecla I para entrar no modo de inserção no Vim.
-
Adicione as seguintes linhas de texto ao arquivo, abaixo do parâmetro
- targets: ["existente.<ip_addr>:9090"]- job_name: "node_exporter" static_configs: - targets: ["<ip_addr>:9100"]O parâmetro modificado no arquivo
prometheus.ymldeve ser como o exemplo a seguir.
Observe o seguinte:
-
O explorador de nó recebe a porta 9100 para o servidor
prometheuscoletar os dados. Confirme se você seguiu as etapas para criar regras de firewall de instância, conforme descrito na seção Etapa 1: concluir os pré-requisitos deste tutorial. -
Assim como na configuração do
prometheusjob_name,<ip_addr>substitua pelo endereço IP estático que está anexado à sua instância do Lightsail.
-
-
Pressione a tecla Esc para sair do modo de inserção e digite :wq! para salvar as alterações e sair do Vim.
-
Insira o comando a seguir para reiniciar o serviço Prometheus para que as alterações no arquivo de configuração entrem em vigor.
sudo systemctl restart prometheus -
Para verificar o status do serviço Prometheus, insira o comando a seguir.
sudo systemctl status prometheusSe o serviço for reiniciado corretamente, você receberá um resultado semelhante ao seguinte.
-
Pressione Q para sair do comando de status.
-
Abra um navegador da Web em seu computador local e acesse o seguinte endereço da web para visualizar a interface de gerenciamento do Prometheus.
http:<ip_addr>:9090<ip_addr>Substitua pelo endereço IP estático da sua instância do Lightsail. Você verá um painel semelhante ao exemplo a seguir.
-
No menu principal, escolha o menu suspenso Status e selecione Targets (Alvos).
Na próxima tela, você deve ver dois alvos. O primeiro alvo é para o cargo de coletor de métricas do node_exporter, e o segundo alvo é para o cargo do prometheus.
Agora, o ambiente está configurado adequadamente para coletar métricas e monitorar o servidor.