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/
Deixe um comentário