Integrando o Grafana ao ELK (ElasticSearch, Logstash e Kibana)

Descrição da imagem: dashboard inicial do Grafana com alguns gráficos de exemplo para diferentes métricas.

Essa dica é indicada para quem procura uma interface web alternativa ao Kibana que seja elegante e simples de usar.

Como eu já conheço e uso o Grafana integrado ao Zabbix para visualizar os dados coletados em gráficos e dashboards mais elegantes, pesquisei um pouco e vi que o Grafana já tem uma integração completa com o ElasticSearch, através do uso deste plugin.

Dessa forma se você tem o Grafana instalado (veja este tutorial http://blog.aeciopires.com/instalando-o-grafana-via-docker ) e também possui o stack ELK instalado (veja este outro tutorial http://blog.aeciopires.com/instalando-o-elastic-kibana-e-logstash-via-docker), você pode configurar a integração seguindo os passos da seção seguinte. Os passos também podem ser utilizados para integrar o Grafana ao JHipster Console (veja este outro tutorial http://blog.aeciopires.com/conhecendo-o-jhipster-console).

Integrando o Grafana ao ELK

1) Considerando que o Grafana e o ELK estão instalados, use o comando abaixo para testar o acesso ao ElasticSearch. Troque IP_SERVIDOR_ELASTICSEARCH pelo IP correto do servidor no comando a seguir.

curl -XGET 'IP_SERVIDOR_ELASTICSEARCH:9200/_cat/indices?v&pretty'

O resultado deve ser algo semelhante ao mostrado a seguir.

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open .kibana tlBWNF-gQ4qvEPa2cAkkMQ 1 1 24 1 75.8kb 75.8kb

O comando anterior foi usado para testar se o acesso ao ElasticSearch está correto.

2) Acesse o Grafana na URL http://IP_SERVIDOR_GRAFANA:3000 e faça login no sistema (O usuário e senha padrão é admin).

3) Adicione um DataSource no Grafana conforme mostrado na imagem a seguir.

Descrição da imagem: A imagem possui os seguintes campos e valores preenchidos:

  • Name: preencha o valor elasticsearch.
  • Type: o valor é Elasticsearch (que é o plugin usado na integração)
  • URL (na seção HTTP): preencha http://IP_ELASTICSEARCH:9200 (porta padrão do Elasticsearch)
  • Access (na seção HTTP): o valor é Server (Default).
  • A seção Auth possui os campos: Basic Auth, With credentials, TLS client auth, With CA cert e Skip TLS Verification (insecure). No meu caso, esses campos não foram preenchidos, mas se o serviço ElasticSearch estiver sendo exposto usando um servidor HTTP Proxy e/ou com certificado autoassinado, esses campos precisam ser preenchidos para evitar problemas de conectividade.
  •  Na seçao ElasticSearch details, foram preenchidos os seguintes campos:
    • Index name: o nome do index, que no meu caso foi preenchido o valor logstash-*. Mude de acordo com o seu ambiente.
    • Time field name: foi preenchido o valor @timestamp. É o campo do index que contém a informação sobre o timestamp de registro de cada informação.
    • Version: foi informada a versão do ElasticSearch utilizada. No meu caso foi a 5.6 ou superior.
    • Max concurrent Shard Requests: foi preenchido o valor 256, que significa o número de requisições simultâneas que pode ser feita em cada shard do ElasticSearch.
    • Min time interval: foi preenchido o valor 10s, que significa o intervalo em segundos entre cada requisição que o Grafana fará ao ElasticSearch para obter os dados.

Observação: Este tutorial foi escrito usando a versão 6.x e ElasticSearch 5.6. Os nomes, posição e valores dos campos podem ser diferentes nas versões mais recentes do software. Mas a princípio a ideia deste tutorial pode ajudar na configuração.

A explicação detalhada sobre a configuração de cada campo é detalhada na documentação do Grafana: http://docs.grafana.org/features/datasources/elasticsearch.

Após configurar, basta clicar no botão Save & Test.

4) Opcionalmente, você pode importar o este dashboard https://grafana.com/dashboards/878, para customizar conforme as necessidades de visualização de dados do ElasticSearch no Grafana.

Pronto! A integração entre os sistemas está concluída. Agora é usar a criatividade para extrair e visualizar os dados.

Para obter mais informações sobre esta integração acesse o link https://grafana.com/blog/2016/03/09/how-to-effectively-use-the-elasticsearch-data-source-in-grafana-and-solutions-to-common-pitfalls/

 

Categories: ,

Uma resposta para “Integrando o Grafana ao ELK (ElasticSearch, Logstash e Kibana)”

  1. Avatar de Tailon Saraiva
    Tailon Saraiva

    Muito Bom! Estou começando a usar o Grafana com ELK.. me ajudou bastante!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *