Monitorando Logs do WSO2 Enterprise Integrator com ELK Stack (Elasticsearch, Logstash, Kibana) + Filebeat
Configuração e Instalação das ferramentas da ELK Stack
ElasticSearch
Acesse o site da ElasticSearch para download da versão 7.0.0(ou última) e escolha o arquivo de acordo com seu Sistema Operacional.
2. Logstash
Acesse o site de download da Logstash da versão 7.0.0(ou última versão) e faça o download do arquivo TAR.GZ.
3. Kibana
Acesse a página de downloads do Kibana na versão 7.0.0 e faça o download do arquivo de acordo com seu Sistema Operacional.
4. Filebeat
Acesse a página de downloads do Filebeat na versão 7.0.0 e faça o donwload do arquivo.
Após a instalação tenha sido realizada com sucesso, você deverá acessar através da linha de comando, entrar na pasta /bin no local de instalação do seu Elasticsearch e executar o seguinte comando:
Ao fim da execução, você deverá ver uma tela parecida como a seguinte no seu terminal
A seguir, acesse pelo seu navegador o link mostrado na linha de comando, o padrão é: http://localhost:9200. Caso você veja a tela abaixo, significa que seu elasticsearch está rodando normalmente.
A seguir, devemos editar o arquivo kibana.yml dentro do diretório /config da pasta de instalação do Kibana no seu computador.
Iremos procurar a propriedade elastisearch.hosts no arquivo e descomentá-la.
O http://localhost:9200 é o endereço do Elasticsearch onde o Kibana irá se conectar
Em seguida, devemos executar o comando kibana.bat (ou.sh) dentro do diretório /bin na pasta de instalação do seu Kibana.
Após a execução com sucesso do comando, você deverá ver uma tela parecida com essa.
Para acessar o kibana, basta abrir seu navegador no link padrão passado no CMD no final de sua execução.
Na pasta /bin no diretório de instalação do Logstash, crie um arquivo chamado logstash.conf e adicione a configuração abaixo:
input {
beats {
type => "test"
port => "5044"
}
}
filter {
if [message] =~ "tat" {
grok {
match => ["message", "^(tat)"]
add_tag => ["stacktrace"]
}
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["localhost:9200"]
}
}
A configuração input vai estar lendo toda a informação gerada pelo Filebeat na porta 5044, enquanto no output toda a informação que o Logstash pegar, ele passa pro Elasticsearch na porta 9200.
A seguir, acesse através da linha de comando a pasta /bin do diretório Logstash e execute o comando a seguir:
Nesse comando passamos o arquivo logstash.conf que acabamos de criar
Após a execução com sucesso do comando, você deverá ver uma tela parecida com essa:
Integração com o WSO2 Enterprise Integrator 6.6.0
Agora, devemos editar o arquivo filebeat.yml que se encontra na pasta raiz do Filebeat, e adicionar a seguinte configuração:
filebeat:
inputs:
-
paths:
- C:/<CAMINHO DO ENTERPRISE INTEGRATOR>/Enterprise Integrator/6.6.0/repository/logs/*.log
input_type: log
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
output:
logstash:
hosts: ["localhost:5044"]
Nessa configuração especificamos o caminhos dos logs para que o Filebeat leia e o host do Logstash Server que é a saída de onde essa informação será mandada.
Feito isso, agora basta executar dentro da pasta raiz do Filebeat o seguinte comando:
Caso a operação tenha sido um sucesso não irá aparecer nada no terminal, se houver erro, será mostrado.
Integrando o ELK ao WSO2 Enterprise Integrator
Ao final de todas as configurações, será possível visualizar os logs da Enterprise Integrator no seu Kibana, como mostrado abaixo:
Tela mostrando os detalhes de um log específico
Você também pode aplicar filtros a partir de ID, data e versão.
Gráfico criado no Dashboard com base no timestamp dos logs das requisições
Gráfico mostra a quantidade total de cada tipo de log trazido
Conclusão
Neste post, vimos rapidamente como é possível integrar o stack ELK com a plataforma de Integração WSO2. Se quiser conversar com a gente sobre estes e outros assuntos relacionado a WSO2 ou a plataforma Cloud da Skalena, fique a vontade de nos mandar uma mensagem em: https://www.skalena.com/contato
Autores
Contribuiram neste post:
Larissa Menezes é Formada em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de Educação, Ciência e Tecnologia do Amazonas – IFAM. É desenvolvedora na Skalena com expertise em desenvolvimento Full-Stack, Integrações e APIs.
Patrick Clarindo é Formado em Tecnologia da Informação pela Universidade Cidade de São Paulo. É desenvolvedor na Skalena com expertise em desenvolvimento de APIs com SpringBoot, Integrações e APIs.
Comments