Monitorando o Geth com InfluxDB e Grafana
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
- Você já deve estar executando uma instância do Geth.
- A maioria das etapas e exemplos são para o ambiente Linux; conhecimento básico de terminal será útil.
- Confira esta visão geral em vídeo do conjunto de métricas do Geth: Monitorando uma infraestrutura Ethereum por Péter Szilágyi (opens in a new tab).
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:
- Prometheus (opens in a new tab) (modelo pull)
- InfluxDB (opens in a new tab) (modelo push)
- Telegraf (opens in a new tab)
- Grafana (opens in a new tab)
- Datadog (opens in a new tab)
- Chronograf (opens in a new tab)
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.
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).
Ainda não há fontes de dados criadas, clique em "Add data source" (Adicionar fonte de dados) para definir uma.
Para esta configuração, selecione "InfluxDB" e prossiga.
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.
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.
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).
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:
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.







