Sign inSign up

netinsystems/netin-ds-datasource

By netinsystems

Updated over 1 year ago

Image
0

6.1K

netinsystems/netin-ds-datasource repository overview

netin

NetinDS Datasource - Backend Engine

NetinDS Dragonfly backend engine

Librería Node.js® para NetinDS - Documentación completa de NetinDS - Soporte Netin Systems - NetinDS en Docker

Known Vulnerabilities Build Status Node Version Docker Image


Tabla de contenidos

Introducción

Datasource es uno de los artefactos mñas importantes de Netin ya que es el que hace las funciones de REST API

Instalación

Docker-compose
netin-ds-datasource:
        container_name: netin-ds-datasource
        ports:
            - '28800:28800'
        expose:
            - 28800/tcp
        image: 'netinsystems/netin-ds-datasource
        cpu_count: 2
        cpu_percent: 100
        mem_limit: 512m
        environment:
        volumes:
            - repository:/apps/netin/repository
            - assets:/apps/netin/repository/assets

Uso

Volumenes

Para su correcto funcionamiento se deben crear los siguientes volúmenes y asignarles permisos al usuario con UID y GID 1024

  • assets
  • repository

mkdir -p $PATH/TO/DATA/{assets,repository}

chown -R 1024:1024 $PATH/TO/DATA/{assets,repository}

Variables de entorno
Configuración general de NetinDS-Datasource
Configuración del registro de eventos (logger) @netin-js\logger
Registro por consola
  • CONFIG_LOGGER_CONSOLE_ENABLE default(false): habilitación del logger de consola.
  • CONFIG_LOGGER_CONSOLE_LEVEL default('info'): nivel de registro.
Registro por fichero
  • CONFIG_LOGGER_FILE_ENABLE default(true): habilitación del logger de fichero.
  • CONFIG_LOGGER_FILE_LEVEL default('info'): nivel de registro.
  • CONFIG_LOGGER_FILE_FILE_NAME default('logs/netin-ds-zavod.log'): nombre del fichero de registro.
  • CONFIG_LOGGER_FILE_MAX_FILES default(10): cantidad maxima de ficheros (rotacional).
  • CONFIG_LOGGER_FILE_MAX_SIZE default(10 * 1000000): tamaño máximo en bytes del archivo.
  • CONFIG_LOGGER_FILE_ZIPPED default(true): indica que todos los ficheros logs se comprimen, excepto el que se está escribiendo actualmente
  • CONFIG_LOGGER_FILE_JSON default(false): indica si el formato es json o string, por defecto es string.
Registro mediante el fluentd
  • CONFIG_LOGGER_FLUENTD_ENABLE default(false): habilitación del logger mediante fluentd.
  • CONFIG_LOGGER_FLUENTD_LEVEL default('info'): nivel de registro.
  • CONFIG_LOGGER_FLUENTD_HOST default('localhost'): host donde se encuentra el servicio fluentd.
  • CONFIG_LOGGER_FLUENTD_PORT default(28930): host donde se encuentra el servicio fluentd.
  • CONFIG_LOGGER_FLUENTD_TIMEOUT default(5000): configura el tiempo de inactividad del socket.
  • CONFIG_LOGGER_FLUENTD_ACK_RESPONSE default(true): cambia el protocolo a at-least-one. El logger esperara por el ack del servicio.
  • CONFIG_LOGGER_FLUENTD_RECONNECT_INTERVAL default(5000): configura el intervalo de reconexión en milisegundos.
  • CONFIG_LOGGER_FLUENTD_EVENT_MODE default('Message'): configura el modo en el que son tratados los eventos. Son soportados Message, PackedForward y CompressedPackedForward. Ver Event Modes.
  • CONFIG_LOGGER_FLUENTD_TLS default(false): habilita el uso de TLS en este socket.
  • CONFIG_LOGGER_FLUENTD_FLUSH_INTERVAL default(2000): no tiene efecto en Message Mode. El logger almacena los eventos y los envía en cada intervalo de flush.
  • CONFIG_LOGGER_FLUENTD_MESSAGE_SEND_QUEUE_SIZE default(100 * 1024 * 1024): no tiene efecto en Message Mode. Tamaño de la cola de mensajes en bytes.
Niveles de registro

Los niveles de registro, al ser niveles apilados, cada nivel complementa al nivel anterior mostrando mayor detalle del mismo evento o flujo. Usar el nivel adecuado para cada tipo de registro es de gran importancia, especialmente en sistemas en producción donde un alto nivel de registros pueden reducir en gran medida el rendimiento de los sistemas:

  • error: Cualquier error que es fatal para la operación, aunque no tiene porque serlo para el servicio o la aplicación. Este tipo de errores requieren de la intervención de los administradores del sistema ó usuarios para corregir el problema.
  • warn: Eventos que pueden provocar comportamientos no deseados en el sistema, el sistema trata de recuperarse por si mismo del evento, pero se podrían producir comportamiento extraños en la aplicación.
  • info: Información util para los usuarios administradores del sistema (inicio/parada de servicio, version de la aplicación, conexiones con recursos externos ...)
  • verbose: Información util para conocer todos los pasos realizados por una aplicación, orientada a usuarios administradores que tratan de conocer la toma de decisiones el fundamento de la toma de decisiones o la razón base de los eventos de una aplicación o sistema.
  • debug: - Información que es util para el diagnostico de los sistemas ó servicios, no solo para desarrolladores (configuraciones, modos de funcionamiento ...).
  • silly: - Información especifica de utilizada para trazar el comportamiento del código en una funcionalidad especifica.
Configuración del acceso la base de datos real time
  • CONFIG_MONGO_ADDR default(mongodb://127.0.0.1:28900/netin): URL donde se encuentra la base de datos de configuración del agente de NetinDS.
  • CONFIG_MONGO_SERVER_SELECTION_TIMEOUT default(5000): tiempo máximo de espera en el proceso de selección de un server para realizar una operación. Solo es utilizado si la base de datos de configuración esta trabajando en modo cluster.
  • CONFIG_MONGO_MIN_POOL_SIZE default(4): tamaño mínimo de la pila de conexiones contra la base de datos.
  • CONFIG_MONGO_KEEP_ALIVE default(true): habilita el keepalive en la conexiones contra la base de datos permaneciendo de este modo establecidas.
  • CONFIG_MONGO_KEEP_ALIVE_INITIAL_DELAY default(10000): tiempo de espera antes inicial el keepalive en las conexiones contra la base de datos.
  • CONFIG_MONGO_CONNECTION_TIMEOUT default(10000): tiempo máximo de espera ante un intento de conexión con la base de datos.
  • CONFIG_MONGO_SOCKET_TIMEOUT default(10000): tiempo máximo de espera en las peticiones de envió o recepción sobre el socket utilizado para conectarse con la base de datos.
  • CONFIG_MONGO_DIRECT_CONNECTION default(false): para forzar la conexión contra el nodo indicado en CONFIG_MONGO_ADDR, solamente necesario para instalaciones de Mongo en cluster. Si esta opción es habilitada la conexión ha de ser contra el nodo principal del cluster.
Configuración de acceso a la memoria cache
  • CONFIG_REDIS_ADDR default('redis://127.0.0.1:28910/0'): URL donde se encuentra la base de datos de tiempo real del agente de NetinDS.
  • CONFIG_REDIS_HOST default('127.0.0.10'): host donde se encuentra la base de datos de tiempo real del agente de NetinDS. Aplicada solo si no existe CONFIG_REDIS_ADDR.
  • CONFIG_REDIS_PORT default(28910): puerto donde se encuentra la base de datos de tiempo real del agente de NetinDS. Aplicada solo si no existe CONFIG_REDIS_ADDR.
  • CONFIG_REDIS_DB default(0): numero de base de datos a utilizar para intercambio de datos.
  • CONFIG_REDIS_USERNAME default(undefined): usuario para el acceso de base de datos de tiempo real.
  • CONFIG_REDIS_PASSWORD default(undefined): contraseña de acceso a la base de datos de tiempo real.
  • CONFIG_REDIS_KEEPALIVE default(10000): intervalo de tiempo entre keepalive en los sockets de conexión con la base de datos de tiempo real.
  • CONFIG_REDIS_CONNECTION_TIMEOUT default(10000): tiempo máximo de espera ante un intento de conexión con la base de datos.
  • CONFIG_REDIS_RETRY_DELAY_FACTOR default(2000): tiempo entre reintentos de conexión con la base de datos de tiempo real. El tiempo sera aumentado gradualmente en cada tras cada fallo basándose en el valor de esta variable y sin superar nunca el valor de CONFIG_REDIS_RETRY_DELAY_MAX.
  • CONFIG_REDIS_RETRY_DELAY_MAX default(60000): tiempo máximo entre reintentos de conexión con la base de datos de tiempo real.
Configuración del acceso la base de datos de timeseries

Las siguientes variables de entorno permiten configurar la conexión con los servidores de Elasticsearch.

  • CONFIG_ELASTIC_NODE default(undefined): host donde se encuentra el servicio de Elasticsearch. Puede configurarse varios servidores mediante el uso de la variable de entorno CONFIG_ELASTIC_NODES.
  • CONFIG_ELASTIC_NODES default('http://localhost:9200'): lista de servidores donde se ofrece el servicio de Elasticsearch, cada servidor debe ser separado con símbolo ;. Ej: 'http://10.10.125.89:9200;http://myother.server.forNetin:9200'
  • CONFIG_ELASTIC_MAX_RETRIES default(5): numero máximo de reintentos de cada petición.
  • CONFIG_ELASTIC_REQUEST_TIMEOUT default(30000): tiempo máximo de espera a la respuesta a cada petición, en milisegundos.
  • CONFIG_ELASTIC_PING_TIMEOUT default(3000): tiempo máximo de espera a la respuesta a cada petición de ping, en milisegundos.
  • CONFIG_ELASTIC_AUTH_USERNAME default(undefined): nombre de usuario a utilizar en el proceso de autenticacion contra los servidores de Elasticsearch.
  • CONFIG_ELASTIC_AUTH_PASSWORD default(undefined): contraseña a utilizar en el proceso de autenticacion contra los servidores de Elasticsearch.
  • CONFIG_ELASTIC_PROXY default(undefined): dirección del proxy a utilizar, en caso de que los servidores de Elasticsearch fueran accesibles mediante dicho proxy.
  • CONFIG_ELASTIC_NAME default(${CONFIG_ARTIFACT_ID}): nombre con el que se identificara la conexión del Firehose en los servidores de Elasticsearch.
  • CONFIG_ELASTIC_HTTP_SSL_VERIFY default(false): indica si se debe comprobar la validez de los certificados del los servidores de Elasticsearch, es decir, si se deben rechazar los certificados autofirmados.
  • CONFIG_ELASTIC_TLS_SERVER_NAME default(undefined): nombre del servidor para ser usado como SNI cuando se produce la conexión en TLS.
  • CONFIG_ELASTIC_CA_PATH default(undefined): ruta al fichero de certificado de CA del servicio de descubrimiento.
  • CONFIG_ELASTIC_CLIENT_CERT default(undefined): ruta al fichero de certificado de cliente necesario para el acceso al servicio de descubrimiento.
  • CONFIG_ELASTIC_CLIENT_KEY default(undefined): ruta al fichero de clave del certificado de cliente necesario para el acceso a los servidores de Elasticsearch.

Las siguientes variables de entorno permiten configurar las políticas de ciclo de vida de los indices, puede encontrar mas información en información en el este enlace.

  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_HOT_PHASE_MAX_AGE default(1d): define la duración el tiempo máxima de un índice de alarmas, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_HOT_PHASE_MAX_DOCS default(100000): define el tamaño máximo que puede tener de un índice de alarmas, en número de documentos, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_HOT_PHASE_MAX_SIZE default(1gb): define el espacio de almacenamiento máximo que puede ocupar de un índice de alarmas, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_WARN_PHASE_MIN_AGE default(1d): define el tiempo que un índice de alarmas permanecerá en la fase warn.
  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_COLD_PHASE_MIN_AGE default(15d): define el tiempo que un índice de alarmas permanecerá en la fase cold.
  • CONFIG_ELASTIC_ALARMS_ILM_POLICY_DELETE_PHASE_MIN_AGE default(30d): define el tiempo tras el cual un índice de alarmas sera eliminado.
  • CONFIG_ELASTIC_TIMEPOINTS_ILM_POLICY_HOT_PHASE_MAX_AGE default(1d): define la duración el tiempo máxima un índice de timepoints, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_TIMEPOINTS_ILM_POLICY_HOT_PHASE_MAX_DOCS default(100000): define el tamaño máximo que puede tener un índice de timepoints, en numero de documentos, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_TIMEPOINTS_ILM_POLICY_HOT_PHASE_MAX_SIZE default(1gb): define el espacio de almacenamiento máximo que puede ocupar un índice de timepoints, llegado este umbral se generara un nuevo indice.
  • CONFIG_ELASTIC_TIMEPOINTS_ILM_POLICY_WARN_PHASE_MIN_AGE default(1d): define el tiempo que un índice de timepoints permanecerá en la fase warn.
  • CONFIG_ELASTIC_TIMEPOINTS_ILM_POLICY_DELETE_PHASE_MIN_AGE default(7d): define el tiempo tras el cual un índice de timepoints sera eliminado.

Colaboración

Como en el resto de los repositorios de Netin Systems, toda colaboración es siempre bien recibida.

Si cree que existe un error cree un bug aportando toda la información posible.

Si quiere realizar un nuevo aporte, cree una nueva rama, respetando en todo momento el flujo de versiones establecido por GitFlow, realice sus modificaciones en ella y solicite la aprobación de las mismas mediante Pull Request, rellenando correctamente la plantilla del mismo.

Licencia

Copyright 2021 Network Intelligence S.L. All rights reserved.

Note: All information contained herein is, and remains the property of Network Intelligence S.L. and its suppliers, if any. The intellectual and technical concepts contained herein are property of Network Intelligence S.L. and its suppliers and may be covered by European and Foreign patents, patents in process, and are protected by trade secret or copyright. Dissemination of this information or the reproduction of this material is strictly forbidden unless prior written permission is obtained from Network Intelligence.

Tag summary

Content type

Image

Digest

sha256:a6d1603be

Size

60.5 MB

Last updated

over 1 year ago

docker pull netinsystems/netin-ds-datasource:not-set