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.