# Elastic search for equip ## Diseño de solución - ¿Qué queremos monitorear? - **¿Cuáles son las decisiones que queremos tomar?** - Un servidor requiere mantención. - Una acción requiere optimización - Pedir diagnóstico de un bug - Usuarios en línea - **Habría que incluir un nuevo tipo de log al conectar y desconectar sockets** - Comprender el uso de la aplicación? - Esto nos podría servir para aprender a modelar el comportamiento de equip y saber cómo se verán escenarios con mayor cantidad de clientes - **Definir los documentos:** - Nginx monitor: mostrar los tiempos de respuesta y llamadas de clientes (aquí tenemos la ip de los clientes) (filebeat) - serverStatus: - Ram utilizado, disco duro, procesador. (metricbeat) - Aquí, además de los servidores de los clientes hay que considerar equip-access y auth - apiRequest: fileBeat - Todas las llamadas http. Falta definir el formato: - Handler utilizado (/api/handleAction, /api/getState, api/images) **homologar el log para todas las rutas?** - Nombre de la acción - UserId que ejecuta la acción - actionId - duración - response code - Operación http - **Definir las visualizaciones para el dashboard** - Un dashboard general: que contiene los logs de todas las empresas y permite detectar problemas. - Un Dashboard por empresa: Que permite visualizar el uso de esa empresa. - Utilización de recursos (gráfico de líneas que permite visualizar consumo de ram, disco duro y procesador durante último día, ultima semana, útimo mes) - **Definir alertas** - Tiempo de espera de acciones mayores a 500ms - Porcentaje de utilización de recursos ## Dudas por resolver - ¿Necesitamos logstash? - [Escoger pricing](https://cloud.elastic.co/pricing) ## Implementación 1. Modificar logs para obtener la data que necesitamos 2. Crear un usuario en elastic cloud y comenzar el free trial 3. Generar los mappings de los documentos 4. Crear un servidor en digital ocean e instalar logstash y configurarlo para enviar logs a nuestra cuenta de elastic 5. Incluir beats en nuestros servidores configurarlos y enviar logs a logstash 6. Generar visualizaciones ## Riesgos de licencia - Elastic cambió su licencia sobre el uso de su código, pero no debería afectarnos debido a que nosotros utilizaremos la versión estándar y no ofrecemos servicios a terceros que impliquen modificaciones en su código. [más info](https://anonymoushash.vmbrasseur.com/2021/01/14/elasticsearch-and-kibana-are-now-business-risks) ---- # Instalación de filebeat en equip - Instalar filebeats en nico.equip.cloud (https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-installation-configuration.html#filebeat-installation-configuration) - claves https://www.elastic.co/guide/en/beats/heartbeat/7.9/configure-cloud-id.html - Basic configuration https://www.elastic.co/guide/en/beats/filebeat/7.10/configuration-filebeat-options.html - Manage multiple line messages https://www.elastic.co/guide/en/beats/filebeat/7.10/multiline-examples.html - set up assets https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-installation-configuration.html#filebeat-installation-configuration -