Agora visualizaremos, através do
Kibana, os logs do Squid indexados no Elasticsearch.
Acesse a interface web do
Kibana e clique no menu "Discover". Conforme Figura 7, o Kibana o avisará de que ainda não foi definido um "index pattern". O Kibana precisa que, ao menos, um "index pattern" seja configurado para que possa identificar em qual índice do Elasticsearch serão executadas as consultas e análises.
Figura 7 - Kibana sem "index pattern"
Neste caso, como sabemos que os índices que serão criados no Elasticsearch terão o prefixo "filebeat-", digitaremos filebeat-* no campo "Index name or pattern". Após digitar, aguarde cerca de 3 segundos para que o Kibana atualize o campo "Time-field name" com o valor "@timestamp" e então clique no botão "Create" (Figura 8):
Figura 8 - Configuração de "index pattern" no Kibana
Com isso, clicando novamente no menu "Discover", você visualizará os "documents" indexados no Elasticsearch. Perceba que cada "document" possui os campos mapeados pelo Logstash através do plugin "grok" e também os campos de geolocalização criados pelo plugin "geoip" (Figura 9).
Figura 9 - Exibição de documento no Kibana
A partir daí, o Kibana nos permitirá gerar visualizações e dashboards para exibição das informações coletadas dos logs de acesso do Squid.
Pode-se observar na Figura 10 o menu "Visualize", que permitirá criar visões como gráficos, tabelas, mapas etc:
Figura 10 - Acessando o menu "Visualize" no Kibana
Ao clicar em "Create a visualization" você deverá escolher o tipo de visão que irá criar (Figura 11):
Figura 11 - Seleção de tipo de visão no Kibana
Após selecionar o tipo de visão, selecione o índice do qual as informações serão extraídas (Figura 12):
Figura 12 - Seleção de origem dos dados no Kibana
Pode-se observar na Figura 13, que os campos extraídos dos logs de acesso do Squid e indexados no Elasticsearch estão disponíveis para utilização nas visões:
Figura 13 - Campos do Squid disponíveis no Kibana
Após criar as visões, você poderá juntá-las em uma só tela criando um dashboard. Para criar um dashboard, clique no menu "Dashboard" e depois em "Create a dashboard" (Figura 14):
Figura 14 - Acessando o menu "Dashboard" do Kibana
E por fim, você terá um dashboard exibindo as visões adicionadas ao mesmo (Figura 15):
Figura 15 - Dashboard no Kibana
Caso você queira utilizar o dashboard de exemplo que criei na Figura 15, faça download dos arquivos de
configuração das visões e do
dashboard, clique no menu "Management" e depois em "Saved Objects" (Figura 16):
Figura 16 - Acessando o menu "Management" do Kibana
Depois, conforme Figura 17, clique no botão "Import" e selecione primeiro o arquivo "visualizations.json". Depois clique em "Import" novamente e selecione o arquivo "dashboard.json". Com isso, o dashboard exibido na Figura 15 ficará disponível no menu "Dashboard".
Figura 17 - Tela que permite importar configurações no Kibana
Conclusão
Após esta experiência, percebi o quão poderoso é o Elastic Stack e a infinidade de coisas que se pode fazer com estas ferramentas.
Para dar alguns exemplos, poderíamos indexar dados de NetFlow para análise de tráfego de rede, utilizar outros Beats como o PacketBeat ou MetricBeat, gerar alertas com o Watcher ou ainda integrar o Logstash com Nagios ou Zabbix.
Referências