Parámetros y configuración
Parámetros
--conf | Ruta al archivo de configuración |
--target_databases | Ruta al listado de bases de datos objetivo a monitorizar |
--target_agents | Ruta al listado de agentes objetivo en los que almacenar los datos de las bases de datos objetivo. Este parámetro es opcional, y se usará para dar nombres de agentes personalizados a los agentes generados por el plugin. |
--custom_queries | Ruta al fichero con la definición de consultas personalizadas a las bases de datos objetivo. Este parámetro es opcional y cada consulta realizada se corresponderá con un módulo. |
Archivo de configuración (--conf)
El contenido del fichero será el siguiente:
agents_group_id = < ID del grupo en el que se crearán los agentes >
interval = < Intervalo de monitorización de los agentes en segundos >
user = < Usuario de conexión >
password = < Contraseña >
threads = < Número de hilos que se usaran para la creación de agentes >
modules_prefix = < Prefijo de módulos >
execute_custom_queries = < Activar con 1 para habilitar el uso de consultas personalizadas >
scan_databases = < Activar con 1 para monitorizar todas las bases de datos del server >
agent_per_database = < Activar con 1 para crear un agente por cada base de datos encontrada en los objetivos a monitorizar >
db_agent_prefix = < Prefijo que se incluira en el nombre de cada agente creado para cada base de datos encontrada en los objetivos a monitorizar >
analyze_connections = < Activar con 1 para habilitar la monitorización de conexiones >
engine_uptime = < Activar con 1 para habilitar la monitorización del tiempo en ejecución >
query_stats = < Activar con 1 para habilitar la moitorización de estadísticas de consultas >
innodb_stats = < Activar con 1 para habilitar la monitorización de estadísticas de innodb >
cache_stats = < Activar con 1 para habilitar la monitorización de estadísticas de cache >
Ejemplo:
agents_group_id = 10
interval = 300
user = sa
password = HHgD85V@
threads = 1
modules_prefix =
execute_custom_queries = 1
analyze_connections = 1
engine_uptime = 1
query_stats = 1
innodb_stats = 1
cache_stats = 1
scan_databases = 1
agent_per_database = 1
db_agent_prefix = mysql.
Listado de bases de datos objetivo (--target_databases)
El contenido del fichero será un listado de bases de datos objetivo, separando cada base de datos por comas o por líneas. El formato para una base de datos podrá ser cualquiera de los siguientes:
ip:puerto
ip
En caso de no indicarse el puerto, se usará el puerto 3306 TCP por defecto para la conexión al objetivo.
Ejemplo:
172.17.0.2, 172.17.0.3
172.17.0.4:3306
Listado de agentes objetivo (--target_agents)
El contenido del fichero será un listado de bases de nombres de agentes, separando cada agente por comas o por líneas. Estos nombres de agentes se usarán para volcar la información de cada base de datos objetivo en el nombre de agente indicado correspondiente, en lugar de dejar que el plugin genere los nombres de agentes de forma automática.
La posición de cada nombre de agente en el listado debe coincidir con la posición de la base de datos objetivo en su propio listado, es decir, el nombre para la primera base de datos objetivo será el primer nombre de este listado, teniendo en cuenta que las líneas en blanco son ignoradas.
Ejemplo:
agente1,,agente3
agente4
agente5,agente6,agente7,,agente9
Consultas personalizadas (--custom_queries)
Se debe introducir un módulo por cada consulta personalizada que se pretenda monitorizar. Los módulos deben seguir una estructura, que es la siguiente:
check_begin --> Etiqueta de abertura del módulo
name --> Nombre del módulo
description --> Descripción del módulo.
operation --> Tipo de operación
datatype --> Tipo de módulo
min_warning --> Configuración del umbral mínimo de warning
max_warning --> Configuración del umbral máximo de warning
str_warning --> Configuración de string de warning
warning_inverse --> Activar el intervalo inverso con 1 para umbral de warning
min_critical --> Configuración del umbral mínimo de critical
max_critical --> Configuración del umbral máximo de critical
str_critical --> Configuración de string de critical
critical_inverse --> Activar el intervalo inverso con 1 para umbral de crítico
module_interval --> Este intervalo se calcula como un multiplicador del intervalo del agente.
target --> Consulta personalizada
target_databases --> Agentes de bases de datos en los que se creará el módulo
check_end --> Etiqueta de cierre del módulo
En caso de habilitarse la monitorización de cada base de datos dentro de los servidores MySQL objetivo, las consultas personalizadas se lanzarán para cada una de dichas bases de datos. En esos casos, es posible referenciar a la base de datos en uso con la variable "$__self_dbname".
Ejemplo:
check_begin
name Select 1 $__self_dbname
description Number of invalid objects
operation value
datatype generic_data
min_warning 5
target SELECT 1;
target_databases all
check_end
check_begin
name Agents count in $__self_dbname
description Number of invalid objects
operation value
datatype generic_data
min_warning 5
target SELECT COUNT(*) FROM $__self_dbname.tagente;
target_databases pandora
check_end
check_begin
name Agents in $__self_dbname
description Invalid objects (detail)
operation full
datatype generic_data
target SELECT id_agente, nombre FROM $__self_dbname.tagente limit 10;
target_databases pandora
check_end