O Kibana tem como objetivo criar gráficos para as visualização de estatísticas ou até mesmo de monitoramento avançado para suas APIs. Os tipos de gráficos que podem ser configurados são os de barra, linha, dispersão, pizza entre outros.
Ele se baseia em cima de grandes volumes de dados de chamadas da plataforma e é uma ferramenta extremamente importante para a análise do comportamento das APIs e auxilia no troubleshooting de um problema.
Exemplos de Funcionamento
Exemplo 1
O primeiro exemplo que vamos criar é um gráfico de barras das chamadas com base nos valores de result status das famílias 200, 300, 400 e 500.
Para isso acesse a página "Visualize", conforme a imagem abaixo:
Escolha o gráfico conforme a sua necessidade, neste caso iremos utilizar o Vertical Bar para criar gráfico de barras.
Após selecionar o gráfico, é possível selecionar um entre dois diferentes índices de pesquisa, o índice de Calls ou o índice de Metrics. A diferença entre os dois índices é a que segue:
- Índice de Calls: são chamadas que permanecem por 7 dias ou 100 GB para consulta. Dentro do índice de calls é possível acessar os payloads (body da requisição);
- Índice de Metrics: são guardados por até 90 dias ou 100 GB (o que ocorrer primeiro). Dentro do índice de metrics é possível acessar somente os headers da requisição.
O primeiro tipo que vamos selecionar é o X-Axis (eixo X) com agregação de Date Histogram.
Agora vamos adicionar um sub-bucket Split Series e selecionar Sub Aggregation = Filters e aplicar os seguintes filtros:
- Filter resultStatus: [200 TO 299] (Chamadas de sucesso, este filtro irá buscar todas as chamadas que o resultStatus são de 200 a 299);
- Filter resultStatus: [300 TO 399] (Chamadas de redirect, filtro para buscar todas as chamadas em que o resultStatus são de 300 a 399);
- Filter resultStatus: [400 TO 499] (Chamadas de client error, filtro para buscar todas as chamadas em que o resultStatus são de 400 a 499);
- Filter resultStatus: [500 TO 599] (Chamadas de server error, filtro para buscar todas as chamadas em que o resultStatus são de 500 a 599).
Após aplicar os filtros, salve esta nova visualização, assim você poderá adicionar esta view aos seus dashboards.
Exemplo 2
No segundo gráfico, iremos filtrar a quantidade de chamadas por uma APP específica. Para isso, na página “Visualize”, clique em “Data Table”.
Selecione “Split Rows”, em "Aggregation" selecione “AppName.keyword” para filtrar a quantidade de chamadas por APP.
A visualização criada irá listar o nome da APP e a quantidade de chamadas feitas por ela. Também podemos adicionar um filtro específico para esta visualize conforme exemplo abaixo, nele somente serão retornadas as chamadas com status 200 (sucesso) para as APIs.
Caso seja necessário a criação de visualizações personalizadas, também é possível a busca de dados com valores específicos, como no exemplo abaixo:
apiName.keyword : "Training Monitoring" and operationName.keyword : "Training Monitoring GET /products/{id}"
A busca realizada irá filtrar todas as chamadas da API “Training Monitoring” e operação “Training Monitoring GET /products/{id}”.
É possível consultar diversos tipos de dados, o seguinte link contém o dicionário com essas possibilidades:
Dicionário de Dados Elasticsearch
Salve a busca realizada e então entre na página “Visualize” e selecione “FROM a saved search” com a query personalizada que você utilizou.
Agora vamos criar um dashboard com as visualizações geradas até agora. Para isso, acesse a página no menu superior “Dashboard” e clique no botão “+”.
Clique no botão "ADD" e selecione as visualizações criadas anteriormente.
Se precisar buscar chamadas por uma data específica, você poderá selecionar o período pré-definido ou até mesmo definir sua própria data, para isso selecione o menu no canto superior direito.
Comentários
0 comentário
Por favor, entre para comentar.