Monitorización
Este proyecto incluye un módulo empaquetado "proc_monitoring", el cual contiene métodos para enviar métricas hacia sistemas Kafka.
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:
PyYAMLrequestsparamikokafka-pythonlibrary-commons
-
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.
- Activar el entorno de Python que fue creado.
- Instalar el módulo ejecutando este comando en la ruta del proyecto:
python setup.py install
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.
Configuration
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á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 proc-monitoring 1.0.1.post3
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 |
|---|---|---|---|---|
| proc_monitoring-1.0.1.post3-py3-none-any.whl | Python 3 | none | any | Details |
Release files / proc_monitoring-1.0.1.post3-py3-none-any.whl
| Download URL | proc_monitoring-1.0.1.post3-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef39c05485474ac03db2eb0eddb8ccb129e014e5d903eab0ac3472ab08ef4e95
|
|
BLAKE2b-256 checksum How to use checksums |
a3bd6172f6e1e9e93d538c7f7395d77c9216ce029b32c719fa0d50605cc9ded4
|
| 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
|