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-zookeeperconfluentinc/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:
- Descargar o clonar el proyecto desde el repositorio.
- Asegurarse de tener un entorno de Python funcional con la versión requerida y los paquetes necesarios.
- Modificar el fichero
configuration.yamlpara recolectar las métricas de los nodos deseados y configurar el sistema kafka al que se van a envíar. - Ejecutar el siguiente comando desde nuestro entorno de python para no tener problemas en la localización de las clases desde el fichero "configuration.yaml":
python setup.py install.
- Ejecutar el script "executor.py" con el fichero de configuración (configuration.yaml).
- 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 upen 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
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ámetrotypeespecificando el nombre completo de la clase a la que debería de ser instanciada, y el parámetroargsespecificando 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 directoriodocs. -
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ónargsde cada nodo.
Metadata
Release files for prod-monitoring-nsxt 1.0.2.post11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prod_monitoring_nsxt-1.0.2.post11-py3-none-any.whl | Python 3 | none | any | Details |
Release files / prod_monitoring_nsxt-1.0.2.post11-py3-none-any.whl
| Download URL | prod_monitoring_nsxt-1.0.2.post11-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b801fd3821d8a56ce26381a8e8e8b327ab838236016f8058e204b8a665c6ca16
|
|
BLAKE2b-256 checksum How to use checksums |
32daea01121e7e08bc8819dd148197f418023a768bd21015203340ee57593c9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|