Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

4 Protocolo de plugin de Zabbix agent 2

El protocolo de Zabbix agent 2 se basa en código, tamaño y modelo de datos.

Código

Tipo Tamaño Comentarios
Byte 4 Tipo de carga útil, actualmente solo se admite JSON.

Tamaño

Tipo Tamaño Comentarios
Byte 4 Tamaño de la carga útil actual en bytes.

Datos de la carga útil

Tipo Tamaño Comentarios
Byte Definido por el campo Tamaño Datos en formato JSON.
Definición de datos de carga útil
Datos comunes

Estos parámetros están presentes en todas las solicitudes/respuestas:

Nombre Tipo Comentarios
id uint32 Para solicitudes: el identificador incremental utilizado para vincular solicitudes con respuestas. Único dentro de una dirección de solicitud (es decir, del agente al plugin o del plugin al agente).
Para respuestas: ID de la solicitud correspondiente.
type uint32 El tipo de solicitud.
Solicitud de registro

Una solicitud enviada por un plugin para escribir un mensaje de registro en el archivo de registro del agente.

dirección plugin → agente
respuesta no

Parámetros específicos para solicitudes de registro:

Nombre Tipo Comentarios
severity uint32 La gravedad del mensaje (nivel de registro).
message string El mensaje a registrar.

Ejemplo:

{"id":0,"type":1,"severity":3,"message":"mensaje"}
Solicitud de registro

Una solicitud enviada por el agente durante la fase de inicio del agente para obtener las métricas proporcionadas para registrar un plugin.

dirección agente → plugin
respuesta

Parámetros específicos para solicitudes de registro:

Nombre Tipo Comentarios
version string La versión del protocolo <mayor>.<menor>

Ejemplo:

{"id":1,"type":2,"version":"1.0"}
Respuesta de registro

Respuesta del plugin a la solicitud de registro.

dirección plugin → agente
respuesta n/a

Parámetros específicos para las respuestas de registro:

Nombre Tipo Comentarios
name string El nombre del plugin.
metrics array de strings (opcional) Las métricas con descripciones tal como se usan en el plugin. Devuelve RegisterMetrics(). Ausente si se devuelve un error.
interfaces uint32 (opcional) La máscara de bits de las interfaces soportadas por el plugin. Ausente si se devuelve un error.
error string (opcional) Un mensaje de error devuelto si un plugin no puede iniciarse. Ausente si se devuelven métricas.

Ejemplos:

{"id":2,"type":3,"metrics":["external.test", "External exporter Test."], "interfaces": 4}

o

{"id":2,"type":3,"error":"mensaje de error"}
Solicitud de inicio

Una solicitud para ejecutar la función Start de la interfaz Runner.

dirección agente → plugin
respuesta no

La solicitud no tiene parámetros específicos, solo contiene los parámetros de datos comunes.

Ejemplo:

{"id":3,"type":4}
Terminar solicitud

Una solicitud enviada por el agente para apagar un plugin.

dirección agente → plugin
respuesta no

La solicitud no tiene parámetros específicos, solo contiene los parámetros de datos comunes.

Ejemplo:

{"id":3,"type":5}
Solicitud de exportación

Una solicitud para ejecutar la función Export de la interfaz Exporter.

dirección agente → plugin
respuesta no

Parámetros específicos para solicitudes de exportación:

Nombre Tipo Comentarios
key string La clave del plugin.
parameters array de strings (opcional) Los parámetros para la función Export.

Ejemplo:

{"id":4,"type":6,"key":"test.key","parameters":["foo","bar"]}
Respuesta de exportación

Respuesta de la función Export de la interfaz Exporter.

dirección plugin → agente
respuesta n/a

Parámetros específicos para respuestas de exportación:

Nombre Tipo Comentarios
value string (opcional) Valor de respuesta de la función Export. Ausente si se devuelve un error.
error string (opcional) Mensaje de error si la función Export no se ha ejecutado correctamente. Ausente si se devuelve value.

Ejemplos:

{"id":5,"type":7,"value":"response"}

o

{"id":5,"type":7,"error":"error message"}
Configurar solicitud

Una solicitud para ejecutar la función Configure de la interfaz Configurator.

dirección agente → plugin
respuesta n/a

Parámetros específicos para solicitudes Configure:

Nombre Tipo Comentarios
global_options objeto JSON Objeto JSON que contiene las opciones de configuración global del agente.
private_options objeto JSON (opcional) Objeto JSON que contiene las opciones de configuración privadas del plugin, si se proporcionan.

Ejemplo:

{"id":6,"type":8,"global_options":{...},"private_options":{...}}
Validar solicitud

Una solicitud para ejecutar la función Validate de la interfaz Configurator.

dirección agente → plugin
respuesta

Parámetros específicos para solicitudes Validate:

Nombre Tipo Comentarios
private_options Objeto JSON (opcional) Objeto JSON que contiene opciones de configuración privadas del plugin, si se proporcionan.

Ejemplo:

{"id":7,"type":9,"private_options":{...}}
Validar respuesta

Respuesta de la función Validate de la interfaz Configurator.

direction plugin → agente
response n/a

Parámetros específicos para respuestas Validate:

Nombre Tipo Comentarios
error string (opcional) Un mensaje de error devuelto si la función Validate no se ejecuta correctamente. Ausente si se ejecuta correctamente.

Ejemplo:

{"id":8,"type":10}

o

{"id":8,"type":10,"error":"mensaje de error"}