Parámetros
El ejecutor tiene tres superficies de configuración:
- Flags de CLI (esta sección).
-
Parámetros en tiempo de ejecución —
argsposicionales yparamscon nombre, pasados después de los flags (esta sección). - La plantilla YAML — tareas, agentes/módulos y transferencia. Referencia completa en Referencia de plantillas.
Flags de CLI
pandora-plugin_exec -t <plantilla.yml> [flags] [args...] [clave=valor...]
| Flag | Efecto |
|---|---|
-t, --template <ruta> |
Plantilla a ejecutar (obligatorio) |
--dry-run |
Imprime el XML generado por stdout, no transfiere |
--strict |
Aborta en el primer fallo de tarea en lugar de omitir |
-v, --verbose |
Registro de depuración en stderr (resultados de tareas, omisiones, avisos) |
--version |
Imprime la versión y sale |
| Código de salida | Significado |
|---|---|
| 0 | Éxito |
| 1 | Error de parseo/validación de la plantilla |
| 2 | Fallo de tarea bajo --strict |
| 3 | Error de transferencia |
Los flags van antes de los argumentos: el parseo de flags se detiene en el primer token que no es flag, así que los flags deben preceder a los argumentos (pandora-plugin_exec -t tpl.yml --dry-run sda1, no ... sda1 --dry-run). Un argumento que empieza por guion se rechaza con un error claro en lugar de tratarse silenciosamente como posicional.
Parámetros en tiempo de ejecución
Los tokens que quedan después de los flags alimentan dos variables reservadas, sembradas en el almacén antes de que se ejecute ninguna tarea:
-
args— lista ordenada de tokens posicionales:{{ args[0] }},{{ len(args) }},for_each: args. -
params— mapa de tokens con nombre:{{ params.host }},{{ params.threshold + 5 }}.
Reglas de parseo:
- Cada token se divide por el primer
=sin escapar. Un=inmediatamente precedido por\es un literal escapado y no divide. - El token tiene nombre solo si la clave candidata (tras desescapar
\=→=) coincide con[A-Za-z_][A-Za-z0-9_]*. En caso contrario, todo el token es posicional.
Todo token se clasifica — no hay casos de error. Claves con nombre duplicadas: gana la última. Los valores con aspecto numérico se convierten en números, así que la aritmética funciona con ellos. Las variables de tarea no pueden llamarse args ni params (reservadas); for_each: args sí es válido.
Trampa del escapado en shell: bash consume \= antes de que el ejecutor lo vea. Protege la barra invertida con comillas simples ('query\=a=b') o duplícala (query\\=a=b).
| Token | Se convierte en |
|---|---|
sda1 |
args[0] = "sda1" |
90 |
args[0] = 90 (número) |
host=db01 |
params.host = "db01" |
threshold=90 |
params.threshold = 90 (número) |
conn=user=a;pw=b |
params.conn = "user=a;pw=b" (solo el primer = divide) |
'query\=a=b' |
posicional "query=a=b" (la clave contendría = — no es un identificador) |
=foo |
posicional "=foo" (clave vacía) |
k=1 k=2 |
params.k = 2 (gana la última) |
Parámetros opcionales
Los parámetros en tiempo de ejecución fallan de forma explícita, no silenciosa: referenciar una variable no definida no renderiza una cadena vacía — el módulo se omite con un aviso, para proteger contra erratas. Por tanto, un {{ params.x }} a secas omite el módulo cuando x no se pasó. Para hacer opcional un parámetro, elige un patrón explícito:
| Patrón | Efecto |
|---|---|
{{ params.missing ?? "default" }} |
Renderiza un valor por defecto cuando falta la clave |
when: "'k' in params" |
Incluye el módulo solo cuando se pasó la clave |
{{ len(args) > 1 ? args[1] : "all" }} |
Protege un acceso posicional según el tamaño |
Parámetros aceptados por las plantillas incluidas
| Plantilla | Parámetro | Por defecto | Efecto |
|---|---|---|---|
templates/df_used.yml |
include |
— | Fuerza monitorizar un montaje cuyo fstype está fuera de la lista por defecto (coincidencias exactas de montaje separadas por comas) |
templates/df_used.yml |
exclude |
— | Nunca monitoriza un montaje — exclude siempre gana sobre include |
templates/pandora_netusage.yml |
include |
— | Monitoriza solo estas interfaces (nombres exactos separados por comas) |
templates/pandora_netusage.yml |
exclude |
— | Nunca monitoriza una interfaz — exclude siempre gana sobre include |
templates/pandora_mem_used.yml |
mem_critical |
95 |
Umbral crítico para el porcentaje de Memory_Used |
templates/pandora_mem_used.yml |
swap_critical |
95 |
Umbral crítico para el porcentaje de Swap_Used |