Implements methods and models for remote monitoring with Kafka and Grafana.
Project description
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:
PyYAML
requests
paramiko
kafka-python
library-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-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:
- 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 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.
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ámetrotype
especificando el nombre completo de la clase a la que debería de ser instanciada, y el parámetroargs
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 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ónargs
de cada nodo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for proc_monitoring-1.0.1.post3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef39c05485474ac03db2eb0eddb8ccb129e014e5d903eab0ac3472ab08ef4e95 |
|
MD5 | 29bac118b673e690fb0335ae85b0c2e0 |
|
BLAKE2b-256 | a3bd6172f6e1e9e93d538c7f7395d77c9216ce029b32c719fa0d50605cc9ded4 |