APUNTES – ELK / X-PACK

MACHINE LEARNING

  • Módulo que automatiza el análisis de time-series.
  • Crea un patrón de comportamiento habitual e identifica anomalías en dichos datos.
  • Incorpora en Kibana una pestaña propia de visualización.


Jobs Machine Learning

  • Métricas únicas: Detecta anomalías en un time-series.
  • Multi-métricas: Detecta anomalías en múltiples métricas, subdividiendo el time-series por un campo.
  • Población: Detecta actividad inusual comparando con el comportamiento habitual de la población.
  • Avanzada: Disponibles todas las opciones para crear casos de uso más avanzado.


Visualizador de Datos

Ayuda a conocer mejor las características de los datos y campos para la creación del proceso de Machine Learning.

Machine Learning pasos:

  • Ingesta de Datos
  • Patrón de Comportamiento
  • Detección de Anomalías
  • Detalles del motivo de la anomalía
  • Predicción de Futuro


GRAPH

  • Módulo que descubre relaciones entre elementos de un índice
  • Útil para explorar conexiones entre los campos y ver cuáles pueden aportar información relevante.
  • Incorpora en Kibana una pestaña propia de visualización.


CARACTERÍSTICAS

  • No es necesario almacenar información extra para su uso.
  • Es una red de objetos relacionados
  • Los campos se denominan vértices.
  • LA relación entre dos vértices es una conexión.
  • Usa una puntuación para las relaciones.

VÉRTICES: Selección de campos que se desean relacionar.

CONEXIÓN: El peso (ancho) de la conexión entre dos vértices indica la intensidad de la relación.

INTERACCIÓN CON GRAPH: Una vez creado el graph se pueden usar las siguientes opciones:

  • Botón Expandir: muestra vértices adicionales.
  • Botón link: Muestra conexiones adicionales.
  • Botón Deshacer: Deshace los cambios

Para interactuar con un vértice solo será necesario seleccionarlo y se podrá expandir las relaciones del mismo con lo nombrado anteriormente.

RESULTADO DE RELACIONES:

ALERTING

  • Ayuda a generar una serie de acciones si se cumplen ciertas condiciones en los datos.
  • Útil para alertar de cambios o anomalías en los datos.
  • Aporta una API para interactuar con el servicio.
  • A estas alertas también se les denomina “watchs”.


PARTES DE UNA ALERTA:

  • Schedule: Programar cada cuanto se va a ejecutar las consultas para que sean evaluadas por la condición.
  • Consulta: A ejecutar que será la entrada de la condición.
  • Condición: Determina cuando “si” o “no” ejecutar las acciones. Se puede usar condiciones simples o scripting para casos de uso más sofisticados.
  • Acciones: Se pueden ejecutar una o más como enviar correos, registrarlas o usar algún chat como HipChat o Slack.

Funcionamiento:

CREACIÓN DE UNA ALERTA

Inputs. Cuando salta el trigger, el proceso de input mete datos en la ejecución del Watcher. Soporta cuatro tipos de entradas:

  • Simple: Carga datos estáticos
  • Search: Carga los datos de una búsqueda.
  • HTTP: Carga los datos de una consulta HTTP.
  • Chain: Usa una serie de inputs para introducir datos.


Triggers. Indica cuando debe ejecutar la ejecución de un watcher, es decir, cada cuanto tiempo debe ejecutarse. Opciones Disponibles:  Hourly, Daily, Weekly, Monthly, Yearly, Cron e Interval.

Condiciones. Recoge los datos devueltos en la consulta, valora las condiciones y determina si es necesario ejecutar o no las acciones. Opciones disponibles: Always, NEver, Compare, Array_compare y Script.

Acciones. Cuando se cumple una condición se ejecutará una o más acciones. Se pueden utilizar las siguientes acciones: Email, Webhook, Index, Logging, Hipchat, Slack, PagerDuty y Jira.

Resultado:

REPORTING & CANVAS

REPORTING

  • Genera, programa y envía emails con informes.
  • Posibilidad de generarlo si ocurren ciertas condiciones y compartirlo con otros.
  • Los informes permiten exportar visualizaciones y dashboards de Kibana.
  • Se pueden personalizar, por ejemplo, incluir un logo de empresa.
  • Se exportan en formato PDF.

Resultado:

CANVAS

  • Herramienta de presentación construida sobre Kibana que permite crear presentaciones usando datos en tiempo real almacenados en Elasticsearch.
  • Destaca por ser altamente personalizable.

No solo permite añadir visualizaciones y dashboards a una presentación, se pueden añadir imágenes que simulen actividad conforme a los datos. (Ej. Dependiendo de un porcentaje, se puede simular el llenado de una taza).

SECURITY

Plugin que proporciona seguridad al clúster; cifra las comunicaciones y aporta seguridad a los datos en que en él se encuentran.

  • Cifrar las comunicaciones entre nodos.
  • Cifrar las consultas mediante HTTP.
  • Creación de Roles y usuarios con sus correspondientes permisos.

Primer paso: Activar en X-pack el módulo de seguridad:

                xpack.security.enabled:true

Creación de certificados: Cada nodo debe quedar identificado y validado por una CA en la que todos confíen.

                /usr/share/elasticsearch/bin/elasticsearch-certutil ca

/usr/share/elasticsearch/bin/elasticsearch-certutil cert –ca elastic-stack-ca.p12 –name elastic01 –ip 192.168.1.31


Cambiar la configuración de Elasticsearch para que utilice estos certificados para los cifrados.

xpack.security.transport.ssl.enabled:true
xpack.security.transport.ssl.verificaction_mode: certificate

xpack.security.transport.sslkeystore.path: /etc/elasticsearch/certs/elastic01.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/certs/elastic01.p12

Cifrado de las comunicaciones HTTP.

xpack.security.http.ssl.enabled:true
xpack.security.http.sslkeystore.path: /etc/elasticsearch/certs/elastic01.p12
xpack.security.http.ssl.truststore.path: /etc/elasticsearch/certs/elastic01.p12

De esta forma, programas del Stack de ELK o de terceros que utilicen el protocolo HTTP para las comunicaciones con Elasticsearch, se verán obligados a comunicarse mediante HTTPS estando estas comunicaciones cifradas.

Configuración de Kibana para que se adapte a todos los cambios realizados.

elasticsearch.url: https://192.168.1.31:9200
elasticsearch.username: “tuuser”
elasticsearch.password: “tupass”
xpack.security.encryptionKey: “algo_de_32_caracteres”
xpack.monitoring.elasticsearch.ssl.certificateAuthorities: “/etc/Kibana/certs/elastic-stack-ca.pem”

Distintas integraciones de autenticación:

  • Nativo
  • LDAP
  • Directorio Activo
  • PKI
  • File

Posibilidad de integrarlo con otros sitemas de autenticación construyendo plugins personalizados.

Etiquetado , , , , , , , ,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *