Pular para o conteúdo principal

Monitorando o Geth com InfluxDB e Grafana

clientes
nós
Intermediário
Mario Havel
13 de janeiro de 2021
5 minutos de leitura

Este tutorial ajudará você a configurar o monitoramento para o seu nó Geth, para que você possa entender melhor seu desempenho e identificar possíveis problemas.

Pré-requisitos

Pilha de monitoramento

Um cliente Ethereum coleta muitos dados que podem ser lidos na forma de um banco de dados cronológico. Para facilitar o monitoramento, você pode alimentar isso em um software de visualização de dados. Existem várias opções disponíveis:

Há também o Geth Prometheus Exporter (opens in a new tab), uma opção pré-configurada com InfluxDB e Grafana.

Neste tutorial, configuraremos seu cliente Geth para enviar dados (push) para o InfluxDB para criar um banco de dados e para o Grafana para criar uma visualização gráfica dos dados. Fazer isso manualmente ajudará você a entender melhor o processo, alterá-lo e fazer o deploy em diferentes ambientes.

Configurando o InfluxDB

Primeiro, vamos baixar e instalar o InfluxDB. Várias opções de download podem ser encontradas na página de lançamentos da Influxdata (opens in a new tab). Escolha a que melhor se adapta ao seu ambiente. Você também pode instalá-lo a partir de um repositório (opens in a new tab). Por exemplo, em uma distribuição baseada em Debian:

Após instalar o InfluxDB com sucesso, certifique-se de que ele esteja sendo executado em segundo plano. Por padrão, ele pode ser acessado em localhost:8086. Antes de usar o cliente influx, você deve criar um novo usuário com privilégios de administrador. Este usuário servirá para gerenciamento de alto nível, criando bancos de dados e usuários.

Agora você pode usar o cliente influx para entrar no shell do InfluxDB (opens in a new tab) com este usuário.

Comunicando-se diretamente com o InfluxDB em seu shell, você pode criar um banco de dados e um usuário para as métricas do Geth.

Verifique as entradas criadas com:

Saia do shell do InfluxDB.

O InfluxDB está em execução e configurado para armazenar métricas do Geth.

Preparando o Geth

Após configurar o banco de dados, precisamos habilitar a coleta de métricas no Geth. Preste atenção em METRICS AND STATS OPTIONS em geth --help. Várias opções podem ser encontradas lá; neste caso, queremos que o Geth envie dados (push) para o InfluxDB. A configuração básica especifica o endpoint onde o InfluxDB pode ser acessado e a autenticação para o banco de dados.

Essas flags podem ser anexadas a um comando que inicia o cliente ou salvas no arquivo de configuração.

Você pode verificar se o Geth está enviando dados com sucesso, por exemplo, listando as métricas no banco de dados. No shell do InfluxDB:

Configurando o Grafana

O próximo passo é instalar o Grafana, que interpretará os dados graficamente. Siga o processo de instalação para o seu ambiente na documentação do Grafana. Certifique-se de instalar a versão OSS, a menos que deseje o contrário. Exemplo de etapas de instalação para distribuições Debian usando o repositório:

Quando o Grafana estiver em execução, ele deverá estar acessível em localhost:3000. Use seu navegador preferido para acessar este caminho e faça login com as credenciais padrão (usuário: admin e senha: admin). Quando solicitado, altere a senha padrão e salve.

Grafana dashboard screenshot for Geth monitoring (panel 1)

Você será redirecionado para a página inicial do Grafana. Primeiro, configure seus dados de origem. Clique no ícone de configuração na barra esquerda e selecione "Data sources" (Fontes de dados).

Grafana dashboard screenshot for Geth monitoring (panel 2)

Ainda não há fontes de dados criadas, clique em "Add data source" (Adicionar fonte de dados) para definir uma.

Grafana dashboard screenshot for Geth monitoring (panel 3)

Para esta configuração, selecione "InfluxDB" e prossiga.

Grafana dashboard screenshot for Geth monitoring (panel 4)

A configuração da fonte de dados é bastante simples se você estiver executando as ferramentas na mesma máquina. Você precisa definir o endereço do InfluxDB e os detalhes para acessar o banco de dados. Consulte a imagem abaixo.

Grafana dashboard screenshot for Geth monitoring (panel 5)

Se tudo estiver concluído e o InfluxDB estiver acessível, clique em "Save and test" (Salvar e testar) e aguarde a confirmação aparecer.

Grafana dashboard screenshot for Geth monitoring (panel 6)

O Grafana agora está configurado para ler dados do InfluxDB. Agora você precisa criar um painel (dashboard) que os interpretará e exibirá. As propriedades dos painéis são codificadas em arquivos JSON que podem ser criados por qualquer pessoa e facilmente importados. Na barra esquerda, clique em "Create and Import" (Criar e Importar).

Grafana dashboard screenshot for Geth monitoring (panel 7)

Para um painel de monitoramento do Geth, copie o ID deste painel (opens in a new tab) e cole-o na "Import page" (Página de importação) no Grafana. Após salvar o painel, ele deve ficar assim:

Grafana dashboard screenshot for Geth monitoring (panel 8)

Você pode modificar seus painéis. Cada painel pode ser editado, movido, removido ou adicionado. Você pode alterar suas configurações. A escolha é sua! Para saber mais sobre como os painéis funcionam, consulte a documentação do Grafana (opens in a new tab). Você também pode se interessar por Alertas (opens in a new tab). Isso permite configurar notificações de alerta para quando as métricas atingirem determinados valores. Vários canais de comunicação são suportados.