DEV Community

Beatriz Oliveira for Sysadminas

Posted on

Como monitorar o Apache Zookeeper com o Metricbeat

O que é o Apache Zookeeper

O Apache ZooKeeper é um software com a Licença Apache 2.0 da Apache Software Foundation.

Ele é um serviço centralizado voltado para grandes sistemas distribuídos e através dele é possível manter informações de configuração, registro de nomenclatura e fornecer sincronização distribuída por exemplo.

"A arquitetura do ZooKeeper suporta alta disponibilidade através de serviços redundantes. Os clientes podem, assim, pedir a outro líder do ZooKeeper se o primeiro não responder. Os nós do ZooKeeper armazenam seus dados em um espaço de nomes hierárquico, muito parecido com um sistema de arquivos ou uma estrutura de dados em árvore. Os clientes podem ler e gravar nos nós e, desse modo, ter um serviço de configuração compartilhado. O ZooKeeper pode ser visto como um sistema de transmissão atômica, através do qual as atualizações são totalmente ordenadas. O protocolo ZooKeeper Atomic Broadcast (ZAB) é o núcleo do sistema." 
Referência: Instalando SolrCloud com Zookeeper Externo de Rodrigo Floriano

Para saber mais sobre o projeto, acesse o site oficial e a sua wiki.

Como monitorar o Apache Zookeeper utilizando o Metricbeat?

Para começar esse lab, você precisará ter um ambiente com o Zookeeper de preferência em uma versão >= 3.4.0 e outro ambiente com o Elasticsearch e com o Kibana configurados.

Assim que você tiver esses pré requisitos, poderá começar a seguir os passos abaixo para configurar o Metricbeat para coletar os dados do Zookeeper.

Para instalar o Metricbeat nos hosts do Zookeeper, siga os passos descritos abaixo.

  • Faça o download do Metricbeat nesse link.

  • Instale o Metricbeat:
    Windows: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1
    Linux: sudo rpm -vi metricbeat-7.10.1-x86_64.rpm

  • Acesse o arquivo de configuração do Metricbeat:
    Windows: C:\Program Files\Metricbeat\metricbeat.yml
    Linux: /etc/metricbeat/metricbeat.yml

  • Insira nele as informações de conexão com o Elasticsearch e com o Kibana:

output.elasticsearch:
  hosts: ["url_do_elasticsearch:9200"]
setup.kibana:
  host: ["url_do_kibana:5601"]
Enter fullscreen mode Exit fullscreen mode

Se você estiver usando o Metricbeat OSS insira as seguintes configurações no fim do arquivo metricbeat.yml:

# Set to true to enable the monitoring reporter.
#monitoring.enabled: false
setup.ilm.enabled: false
setup.pack.security.enabled: false
setup.xpack.graph.enabled: false
setup.xpack.watcher.enabled: false
setup.xpack.monitoring.enabled: false
setup.xpack.reporting.enabled: false
Enter fullscreen mode Exit fullscreen mode
  • Habilite e configure o módulo do Apache Zookeeper:
    Windows: .\metricbeat.exe modules enable zookeeper
    Linux: sudo metricbeat modules enable zookeeper

  • Para modificar as configurações do módulo, altere o arquivo zookeeper.yml:
    Windows: modules.d/zookeeper.yml
    Linux: /etc/metricbeat/modules.d/zookeeper.yml

Por padrão, o arquivo vem com as seguintes informações:

# Module: zookeeper
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.10/metricbeat-module-zookeeper.html
- module: zookeeper
  #metricsets:
  #  - mntr
  #  - server
  period: 10s
  hosts: ["localhost:2181"]
Enter fullscreen mode Exit fullscreen mode
  • Carregue os dashboards do módulo:
    Windows: .\metricbeat.exe setup
    Linux: sudo metricbeat setup

  • Inicie o serviço do Metricbeat:
    Windows: Start-Service metricbeat
    Linux: sudo service metricbeat start

Depois disso, você conseguirá ver os logs do seu ambiente no discover, além de ter dashboards com informações e métricas do estado do seu Zookeeper.

Métricas
Alt Text

Logs
Alt Text

Para obter mais informações, acesse a documentação oficial desse módulo no site da Elastic.

Top comments (0)