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 (abre em uma nova aba).
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 (abre em uma nova aba) (modelo pull)
- InfluxDB (abre em uma nova aba) (modelo push)
- Telegraf (abre em uma nova aba)
- Grafana (abre em uma nova aba)
- Datadog (abre em uma nova aba)
- Chronograf (abre em uma nova aba)
Há também o Geth Prometheus Exporter (abre em uma nova aba), 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 (abre em uma nova aba). Escolha a que melhor se adapta ao seu ambiente. Você também pode instalá-lo a partir de um repositório (abre em uma nova aba). 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 (abre em uma nova aba) 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 (abre em uma nova aba) 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 (abre em uma nova aba). Você também pode se interessar por Alertas (abre em uma nova aba). Isso permite configurar notificações de alerta para quando as métricas atingirem determinados valores. Vários canais de comunicação são suportados.







