DEV Community

Beatriz Oliveira for Sysadminas

Posted on

2 2

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.

Heroku

Built for developers, by developers.

Whether you're building a simple prototype or a business-critical product, Heroku's fully-managed platform gives you the simplest path to delivering apps quickly — using the tools and languages you already love!

Learn More

Top comments (0)

Jetbrains image

Build Secure, Ship Fast

Discover best practices to secure CI/CD without slowing down your pipeline.

Read more

👋 Kindness is contagious

Dive into this thoughtful article, cherished within the supportive DEV Community. Coders of every background are encouraged to share and grow our collective expertise.

A genuine "thank you" can brighten someone’s day—drop your appreciation in the comments below!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found value here? A quick thank you to the author makes a big difference.

Okay