Creando un panel en Kibana para supervisar os rexistros

Creando un panel en Kibana para supervisar os rexistros

Ola, chámome Eugene, son líder de equipo B2B en Citymobil. Unha das tarefas do noso equipo é apoiar as integracións para pedir un taxi aos socios, e para garantir un servizo estable debemos entender sempre o que está a pasar nos nosos microservizos. E para iso cómpre supervisar constantemente os rexistros.

En Citymobil, usamos a pila ELK (ElasticSearch, Logstash, Kibana) para traballar cos rexistros, e a cantidade de datos que chegan alí é enorme. Encontrar problemas nesta masa de solicitudes que poden aparecer despois do despregue de código novo é bastante difícil. E para a súa identificación visual, Kibana ten unha sección Dashboard.

Hai bastantes artigos sobre Habré con exemplos de como configurar unha pila ELK para recibir e almacenar datos, pero non hai materiais relevantes para crear un panel. Polo tanto, quero mostrar como crear unha representación visual de datos baseada nos rexistros entrantes en Kibana.

axuste

Para que quede máis claro, creei unha imaxe de Docker con ELK e Filebeat. E colocado nun recipiente pequeno o programa en Go, que para o noso exemplo xerará rexistros de proba. Non vou describir en detalle a configuración de ELK, hai bastante escrito sobre el en Habré.

Clonar o repositorio de configuración docker-compose e configuración de ELK e lánzao co comando docker-compose up. Non engadir unha chave intencionalmente -dpara ver o progreso da pila ELK.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Se todo está configurado correctamente, veremos unha entrada nos rexistros (quizais non inmediatamente, o proceso de lanzar un contedor con toda a pila pode levar varios minutos):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Polo enderezo localhost:5061 Kibana debería abrir.

Creando un panel en Kibana para supervisar os rexistros
Creando un panel en Kibana para supervisar os rexistros
O único que necesitamos configurar é crear un patrón de índice para Kibana con información sobre que datos mostrar. Para iso, executaremos unha solicitude de curl ou realizaremos unha serie de accións na interface gráfica.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Creando un patrón de índice a través da GUI
Para configurar, selecciona a sección Descubrir no menú da esquerda e accede á páxina de creación de patróns de índice.

Creando un panel en Kibana para supervisar os rexistros
Facendo clic no botón "Crear patrón de índice", chegamos á páxina de creación de índices. No campo "Nome do patrón de índice", introduza "logstash-*". Se todo está configurado correctamente, a continuación Kibana mostrará os índices que están baixo a regra.

Creando un panel en Kibana para supervisar os rexistros
Na páxina seguinte, seleccione o campo clave cunha marca de tempo, no noso caso é @timestamp.

Creando un panel en Kibana para supervisar os rexistros
Isto mostrará a páxina de configuración do índice, pero neste momento non se precisa ningunha outra acción.

Creando un panel en Kibana para supervisar os rexistros

Agora podemos ir de novo á sección Descubrir, onde veremos as entradas do rexistro.

Creando un panel en Kibana para supervisar os rexistros

panel de control

No menú da esquerda, fai clic na sección Creación do panel e accede á páxina correspondente.

Creando un panel en Kibana para supervisar os rexistros
Fai clic en "Crear novo panel" e accede á páxina para engadir obxectos ao panel.

Creando un panel en Kibana para supervisar os rexistros
Fai clic no botón "Crear novo" e o sistema pedirache que selecciones o tipo de visualización de datos. Kibana ten un gran número deles, pero veremos a creación dunha representación gráfica da "Barra Vertical" e unha táboa "Táboa de datos". Outros tipos de presentación configúranse de xeito similar. 
Creando un panel en Kibana para supervisar os rexistros
Algúns obxectos dispoñibles están etiquetados como B e E, o que significa que o formato é experimental ou en probas beta. Co paso do tempo, o formato pode cambiar ou desaparecer completamente de Kibana.

Barra vertical

Para o exemplo da "Barra vertical", creemos un histograma da proporción de estados de resposta satisfactoria e non satisfactoria do noso servizo. Ao final da configuración, obtemos o seguinte gráfico:

Creando un panel en Kibana para supervisar os rexistros
Clasificaremos todas as solicitudes cun estado de resposta < 400 como satisfactorias e >= 400 como problemáticas.

Para crear un gráfico de "barras verticales", necesitamos seleccionar unha fonte de datos. Seleccione o patrón de índice que creamos anteriormente.

Creando un panel en Kibana para supervisar os rexistros
De forma predeterminada, aparecerá un único gráfico sólido despois de seleccionar unha fonte de datos. Imos configuralo.

Creando un panel en Kibana para supervisar os rexistros
No bloque "Cubos", prema o botón "Engadir", seleccione "X-asis" e configure o eixe X. Deixemos de lado as marcas de tempo para a recepción de entradas no rexistro. No campo "Agregación", seleccione "Histograma de data" e no "Campo" seleccione "@timestamp", indicando o campo de hora. Deixemos "Intervalo mínimo" no estado "Automático", e axustarase automaticamente á nosa pantalla. 

Creando un panel en Kibana para supervisar os rexistros
Premendo no botón "Actualizar", veremos un gráfico co número de solicitudes cada 30 segundos.

Creando un panel en Kibana para supervisar os rexistros
Agora imos configurar as columnas ao longo do eixe Y. Agora estamos a mostrar o número total de solicitudes no intervalo de tempo seleccionado.

Creando un panel en Kibana para supervisar os rexistros
Cambiemos o valor de "Agregación" a "Cubo de suma", o que nos permitirá combinar datos para solicitudes exitosas e sen éxito. No bloque Bucket -> Agregación, seleccione a agregación por "Filtros" e configure o filtrado por "statusCode >= 400". E no campo "Etiqueta personalizada", indicamos o noso nome do indicador para unha visualización máis comprensible na lenda do gráfico e na lista xeral.

Creando un panel en Kibana para supervisar os rexistros
Ao facer clic no botón "Actualizar" baixo o bloque de configuración, obteremos un gráfico coas solicitudes de problemas.

Creando un panel en Kibana para supervisar os rexistros
Se fai clic no círculo ao lado da lenda, aparecerá unha xanela na que podes cambiar a cor das columnas.

Creando un panel en Kibana para supervisar os rexistros
Agora imos engadir datos sobre solicitudes exitosas ao gráfico. Na sección "Métricas", fai clic no botón "Engadir" e selecciona "Eixe Y".

Creando un panel en Kibana para supervisar os rexistros
Na métrica creada, realizamos a mesma configuración que para as solicitudes erróneas. Só no filtro especificamos "statusCode < 400".

Creando un panel en Kibana para supervisar os rexistros
Ao cambiar a cor da nova columna, obtemos unha mostra da proporción de solicitudes problemáticas e exitosas.

Creando un panel en Kibana para supervisar os rexistros
Facendo clic no botón "Gardar" na parte superior da pantalla e especificando o nome, veremos o primeiro gráfico no Panel.

Creando un panel en Kibana para supervisar os rexistros

Táboa de datos

Agora considere a vista tabular "Táboa de datos". Imos crear unha táboa cunha lista de todos os URL que se solicitaron e o número desas solicitudes. Do mesmo xeito que co exemplo da barra vertical, primeiro seleccionamos unha fonte de datos.

Creando un panel en Kibana para supervisar os rexistros
Despois diso, aparecerá unha táboa cunha columna na pantalla, que mostra o número total de solicitudes para o intervalo de tempo seleccionado.

Creando un panel en Kibana para supervisar os rexistros
Só cambiaremos o bloque "Cubos". Fai clic no botón "Engadir" e selecciona "Dividir filas".

Creando un panel en Kibana para supervisar os rexistros
No campo "Agregación", seleccione "Termos". E no campo que apareceu "Campo" seleccione "url.keyword".

Creando un panel en Kibana para supervisar os rexistros
Especificando o valor "Url" no campo "Etiqueta personalizada" e facendo clic en "Actualizar", obteremos a táboa desexada co número de solicitudes para cada un dos URL durante o período de tempo seleccionado.

Creando un panel en Kibana para supervisar os rexistros
Na parte superior da pantalla, faga clic de novo no botón "Gardar" e especifique o nome da táboa, por exemplo Urls. Volvamos ao panel e vexamos ambas as vistas creadas.

Creando un panel en Kibana para supervisar os rexistros

Traballando con Dashboard

Ao crear o panel, só establecemos os parámetros de vista principais na configuración do obxecto de visualización. Non ten sentido especificar datos para filtros en obxectos, por exemplo, "intervalo de datas", "filtrado por axente de usuario", "filtrado por país de solicitude", etc. É moito máis conveniente especificar o período de tempo desexado ou establecer o filtrado necesario no panel de consulta, que se atopa enriba dos obxectos.

Creando un panel en Kibana para supervisar os rexistros
Os filtros engadidos neste panel aplicaranse a todo o panel e todos os obxectos de visualización reconstruíranse de acordo cos datos filtrados reais.

Conclusión

Kibana é unha poderosa ferramenta que che permite visualizar calquera dato dun xeito cómodo. Tentei mostrar a configuración dos dous tipos principais de visualización. Pero outros tipos están configurados dun xeito similar. E a abundancia de opcións que deixei "detrás das escenas" permitirache personalizar gráficos de forma moi flexible para atender ás túas necesidades.

Fonte: www.habr.com

Engadir un comentario