Plugin Docker
Plugin para la monitorización de estádisticas de Docker
- Introducción
- Matriz de compatibilidad
- Pre requisitos
- Configuración
- Ejecución manual
- Ejecución programada
- Módulos generados por el plugin
Introducción
Matriz de compatibilidad
Este plugin se ha desarrollado utilizando Docker versión 18.03.1-ce, build 9ee9f40
Pre requisitos
- Requiere lanzarse desde un equipo con docker instalado.
- Puede lanzarlo desde máquinas remotas utilizando docker_machine.
Se requiere conexión con el servicio Tentacle asociado a su servidor de Pandora FMS (para
ejecuciones locales del plugin) bajo las siguientes condiciones:
- Si tiene as_server_plugin habilitado.
Configuración
Configuraciones generales del plug-in
## Launch a pre-command before invoke docker commands
#pre_command = eval $(docker-machine env ml1)
docker = docker
## Log file
log_file = /tmp/pandora_docker.log
pre_command
Configura un comando de precarga de entorno previa ejecución de los comandos
para extraer información. Defina el siguiente contenido si utiliza docker_machine:
pre_command = eval $(docker-machine env nombre_de_nodo)
docker
Ubicación del binario docker completa, si existe en el PATH de sistema puede dejar
el valor por defecto ‘docker’
log_file
Ubicación y nombre del fichero de log que utilizará el plugin
Configuración general
## Agent configuration
#agent_name = My Docker agent # hostname by default
agent_interval = 300
agent_group = Docker
## Module interval
module_interval = 1
#module_tags = docker,stats
module_group = Docker
## Per container metrics, creates one agent per container.
metrics_per_container = 1
## Prefix for agent names per container by default "Docker"
metrics_per_container_prefix = Docker
## Plugin work mode, .by default as agent plugin
as_server_plugin = 0
agent_interval
Establece el valor del intervalo del agente.
agent_group
Establece el grupo de los agentes y las vistas de clúster que se crearán en Pandora
FMS Console.
module_interval
Es un factor multiplicativo del valor del intervalo del agente. Define el intervalo de
ejecución de los módulos. Evitará que los módulos se vayan a desconocido si tenemos que
el intervalo de ejecución del plugin es mayor que el del agente.
module_tags
Define la lista de etiquetas que se aplicarán a los módulos generados por el plugin.
Deben estar previamente definidos en Pandora FMS.
module_group
Define el grupo de módulos en el que se clasificarán los módulos generados por el
plugin. Debe estar previamente definido en Pandora FMS.
metrics_per_container
Indica que queremos métricas por cada contenedor por lo que genera un agente por contenedor con sus métricas independientes. Si se habilita este parametro se generan varios agentes por lo que el plugin no puede ejecutarse como plugin de agente, al habilitarlo el plugin cambia su modo a plugin de servidor.
metrics_per_container_prefix
Prefijo para los nombres de los agentes de cada contenedor, por defecto "Docker".
as_server_plugin
Cambia el tipo de plugin a plugin de servidor.
Modos de ejecución y transferencia de datos
## Pandora Server configuration, Only neede if as_server_plugin is enabled
mode = local
temp = /tmp
## local config
local_folder = /var/spool/pandora/data_in
## tentacle config -- only if mode = tentacle
tentacle_ip = test.artica.es
tentacle_port = 41121
tentacle_opts =
tentacle_client = tentacle_client
mode
Modo de transferencia de ficheros XML, puede ser:
● local: copia los ficheros a local_folder
● tentacle: transfiere los ficheros a tentacle_ip por tentacle_port
temp
Ubicación temporal donde almacenar los archivos antes de enviarlos.
local_folder
Ubicación donde mover los archivos en el modo local.
tentacle_ip
Dirección IP o FQDN donde Pandora FMS está trabajando.
tentacle_port
Puerto donde el servicio Tentacle asociado a su servidor Pandora FMS está
escuchando.
tentacle_opts
Opciones extra para el cliente Tentacle.
tentacle_client
Path donde encontrar el binario del cliente tentacle.
Ejecución manual
Para ejecutar el plugin configure el archivo de configuración según las instrucciones
precedentes.
./docker_stats.64 docker_stats.conf
Al ejecutar el plugin con el parámetro as_server_plugin habilitado en el terminal, el resultado debe ser así:
Al ejecutarlo sin as_server_plugin, es decir, como plugin de agente, nos devolverá un XML:
Ejecución programada
Se puede ejecutar como plugin de servidor, como module_plugin en un agente, o desde el cron de sistema.
Módulos generados por el plugin
Si no esta definido el parametro metrics_per_container solo genera un agente con las estadisticas generales de docker de la maquina.
En caso de estar habilitado, se genera un agente por contenedor, con las estadisticas especificas de ese contenedor, y además un agente con las estadisticas generales del nodo.
Docker blocks in |
Escritura del disco de Docker |
Docker blocks out | Lectura del disco de Docker |
Docker cpu usage | Uso de CPU de Docker |
Docker memory usage | Uso de memoria RAM de Docker |
Docker network input | Tráfico de entrada de Docker |
Docker network output | Tráfico de salida de Docker |