Agentes y módulos generados por el plugin
El plugin creará un agente por cada URL de HAProxy indicada. El nombre del agente se calcula aplicando un hash MD5 sobre el netloc de la URL, y el alias se corresponde con dicho netloc (por ejemplo, 192.168.0.10:8404). En cada agente se incluirán los módulos obtenidos al parsear el endpoint CSV de estadísticas de HAProxy.
El módulo status se crea siempre para cada fila, independientemente de los tokens de monitorización, con el fin de alertar ante estados DOWN/MAINT/STOP. El resto de campos numéricos se incluyen como módulos generic_data (enteros/decimal) o generic_data_string (cadenas), siguiendo el formato <pxname>_<svname>_<campo>.
Los principales campos disponibles en el CSV de HAProxy, y que dan lugar a módulos, son:
pxname: Nombre del proxy (frontend/backend/listener).
svname: Nombre del servicio (FRONTEND/BACKEND/server name).
qcur: Peticiones actualmente en cola.
qmax: Máximo de peticiones en cola.
scur: Sesiones actuales.
smax: Máximo de sesiones.
slim: Límite de sesiones configurado.
stot: Sesiones acumuladas.
bin: Bytes recibidos.
bout: Bytes enviados.
dreq: Peticiones denegadas (seguridad).
dresp: Respuestas denegadas (seguridad).
ereq: Errores de petición.
econ: Errores de conexión hacia el backend.
eresp: Errores de respuesta.
wretr: Reintentos de conexión.
wredis: Reenvíos a otro servidor.
status: Estado (UP/DOWN/MAINT/STOP/...) — siempre se monitoriza.
weight: Peso total / peso del servidor.
act: Servidores activos (backend) / servidor activo.
bck: Servidores de backup (backend) / servidor de backup.
chkfail: Chequeos de salud fallidos.
chkdown: Transiciones UP->DOWN.
lastchg: Segundos desde la última transición UP<->DOWN.
downtime: Tiempo total de caída (segundos).
qlimit: Maxqueue configurado para el servidor.
pid: Process ID.
iid: ID único del proxy.
sid: ID del servidor (único dentro del proxy).
throttle: Porcentaje de throttle actual.
lbtot: Veces que el servidor fue seleccionado.
tracked: ID del proxy/servidor si el tracking está habilitado.
type: Tipo (0=frontend, 1=backend, 2=server, 3=socket).
rate: Sesiones por segundo (último segundo).
rate_lim: Límite configurado de nuevas sesiones/s.
rate_max: Máximo de sesiones por segundo.
check_status: Estado del último health check.
check_code: Código del check (capa 5-7).
check_duration: Tiempo en ms del último health check.
hrsp_1xx: Respuestas HTTP con código 1xx.
hrsp_2xx: Respuestas HTTP con código 2xx.
hrsp_3xx: Respuestas HTTP con código 3xx.
hrsp_4xx: Respuestas HTTP con código 4xx.
hrsp_5xx: Respuestas HTTP con código 5xx.
hrsp_other: Respuestas HTTP con otros códigos.
hanafail: Detalle de checks de salud fallidos.
req_rate: Peticiones HTTP por segundo.
req_rate_max: Máximo de peticiones HTTP por segundo.
req_tot: Total de peticiones HTTP recibidas.
cli_abrt: Transferencias abortadas por el cliente.
srv_abrt: Transferencias abortadas por el servidor.
comp_in: Bytes de respuesta HTTP alimentados al compresor.
comp_out: Bytes de respuesta HTTP emitidos por el compresor.
comp_byp: Bytes que pasaron por alto al compresor HTTP.
comp_rsp: Respuestas HTTP que fueron comprimidas.
lastsess: Segundos desde la última sesión asignada.
last_chk: Contenido/error del último health check.
last_agt: Contenido/error del último agent check.
qtime: Tiempo medio de cola (ms) sobre las últimas 1024 peticiones.
ctime: Tiempo medio de conexión (ms) sobre las últimas 1024 peticiones.
rtime: Tiempo medio de respuesta (ms) sobre las últimas 1024 peticiones.
ttime: Tiempo medio total de sesión (ms) sobre las últimas 1024 peticiones.
agent_status: Estado del último agent check.
agent_code: Código numérico reportado por el agent.
agent_duration: Tiempo en ms del último agent check.
check_desc: Descripción legible de check_status.
agent_desc: Descripción legible de agent_status.
check_rise: Parámetro rise del servidor para los checks.
check_fall: Parámetro fall del servidor para los checks.
check_health: Valor del health check del servidor.
agent_rise: Parámetro rise del agent.
agent_fall: Parámetro fall del agent.
agent_health: Parámetro health del agent.
addr: Dirección:puerto o socket unix.
cookie: Valor de cookie del servidor o nombre de cookie del backend.
mode: Modo del proxy (tcp, http, health, unknown).
algo: Algoritmo de balanceo.
conn_rate: Conexiones durante el último segundo transcurrido.
conn_rate_max: Mayor conn_rate conocido.
conn_tot: Número acumulado de conexiones.
intercepted: Peticiones interceptadas acumuladas.
dcon: Peticiones denegadas por reglas tcp-request connection.
dses: Peticiones denegadas por reglas tcp-request session.
El módulo status se traduce a un valor numérico según el siguiente mapeo: 5=UP, 4=OPEN, 3=NOLB, 2=MAINT, 1=STOP/STOPPING, 0=DOWN, lo que permite configurar alertas en base a umbrales de warning (2-4) y critical (0-2).