# 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
-