Skip to main content

Implements nodes for remote monitoring of NSX-T devices.

Project description

Monitorización

Este proyecto incluye un módulo empaquetado "prod_monitoring_nsxt", el cual está preparado para envíar métricas de monitorización de sistemas NSX-T hacia sistemas kafka para su posterior recolección en BBDD. Una vez las métricas estén en BBDD serán accesibles desde el dashboard de Grafana. Funciona creando instancias paralelas que recolectan las métricas de cada uno de los nodos a monitorizar, definidos en el fichero "configuration.yaml"

Requisitos

Los requisitos para instalar y ejecutar el proyecto son:

  • Un IDE o un editor de código:

    • IDE: PyCharm
    • Editores de Código: Visual Studio Code, Notepad++, VIM
  • Un entorno de Python 3.6.8 mínimo con las siguientes librerías:

    • library-nsxt
    • proc-monitoring
  • Si se utiliza en Windows, también instalar los paquetes:

    • win-inet-python
  • Opcionalmente, si se requiere ejecutar un entorno local de kafka para realizar pruebas, se pueden utilizar las siguientes imágenes docker para construir el entorno:

    • confluentinc/cp-zookeeper
    • confluentinc/cp-kafka
      En el directorio "docker" hay un fichero para construir el entorno local de kafka con docker.

Instalación

Para instalar el programa localmente o en un Linux remoto:

  1. Descargar o clonar el proyecto desde el repositorio.
  2. Asegurarse de tener un entorno de Python funcional con la versión requerida y los paquetes necesarios.
  3. Activar el entorno de Python que fue creado.
  4. Instalar el módulo ejecutando este comando en la ruta del proyecto:
python setup.py install
  1. Modificar el fichero configuration.yaml para recolectar las métricas de los nodos deseados y configurar el sistema kafka al que se van a envíar.
  2. Ejecutar el script "executor.py" con el fichero de configuración (configuration.yaml).
  3. Opcionalmente podemos definir un servicio para ejecutar la recolección de métricas en segundo plano.

Se puede instalar docker y ejecutar el comando docker-compose up en el directorio "docker" para crear un entorno de pruebas con Kafka instalado y así depurar fallos en el envío de métricas a Kafka.

Configuración

Los argumentos para linea de comandos del script principal executor.py son:

  • -cf/--config-file: Describe los nodos lanzados en la ejecución y su configuración.
  • -w/--whatif: Si se establece, el script se ejecutará normalmente pero no cambiará ningún dato persistente.
  • -i/--info: Si se establece, mostrará en pantalla la información de cada uno de los pasos del lanzamiento del script.
  • -d/--debug: Si se establece, aumentará el nivel de información mostrada en pantalla, generalmente solo se usa para depurar errores.
  • -h/--help: Muestra un mensage de ayuda del script.

Para configurar los nodos a monitorizar o modificar el servidor Kafka al que se envían las métricas, modificar el fichero configuration.yaml. Este fichero está dividido en 3 objetos principales, "nodos", "argumentos" y "conexiones":

  • Nodos(nodes): En esta sección los nodos son declarados y configurados. Para añadir un nodo, simplemente añadir una entrada a la lista de nodos, con el parámetro type especificando el nombre completo de la clase a la que debería de ser instanciada, y el parámetro args especificando el diccionario de argumentos que se pasaría a la clase. Cada tipo de nodo que se defina en un futuro, debería de estar documentado en el directorio docs.

  • Argumentos(args): En esta sección los argumentos son creados y definidos. El valor de estos argumentos, es obtenido posteriormente desde la clase nodo concreta para ser utilizado.

  • Conexiones(connection_refs): En esta sección se definen las conexiones necesarias para recabar métricas y enviarlas, como por ejemplo, la uri de la API de NSX y sus credenciales, o la IP del servidor Kafka al que se van a envíar las métricas. Posteriormente se accede a estás conexiones definidas desde la sección args de cada nodo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prod_monitoring_nsxt-1.0.3.post2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file prod_monitoring_nsxt-1.0.3.post2-py3-none-any.whl.

File metadata

  • Download URL: prod_monitoring_nsxt-1.0.3.post2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.8

File hashes

Hashes for prod_monitoring_nsxt-1.0.3.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 94defa5db902db3f3b8d89a3ea82f92d0bff60f1ee3a0fb7567c4702940900e6
MD5 6d0742987e70f8094251a9afbbd9ba7b
BLAKE2b-256 8be4b361ed9a67c87c5ffd842d33f7ada086e40b361553d266a93062bb25d2fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page