---
# System prepended metadata

title: Elastic search for equip

---

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