Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

mediatype.get

Descripción

integer/array mediatype.get(object parameters)

El método permite recuperar tipos de medios según los parámetros dados.

Este método está disponible para usuarios de cualquier tipo (para usuarios de tipo Usuario desde Zabbix 7.0.6). Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.

Parámetros

(objeto) Parámetros que definen la salida deseada.

El método admite los siguientes parámetros.

Al solicitar información relacionada con el usuario de los tipos de medios, los usuarios de tipo Admin (desde Zabbix 7.0.4) y los usuarios de tipo Usuario (desde Zabbix 7.0.9) solo pueden recuperar datos sobre su propio usuario. Para un ejemplo, consulte Recuperar tipos de medios como Admin.

Parámetro Tipo Descripción
mediatypeids ID/array Devolver solo los tipos de medios con los IDs dados.
mediaids ID/array Devolver solo los tipos de medios utilizados por los medios dados.
userids ID/array Devolver solo los tipos de medios utilizados por los usuarios dados.
selectActions query Devolver una propiedad actions con las acciones que utilizan el tipo de medio.
selectMessageTemplates query Devolver una propiedad message_templates con un array de mensajes de tipo de medio.

Comportamiento del parámetro:
- soportado para usuarios de tipo Super admin (desde Zabbix 7.0.4)
selectUsers query Devolver una propiedad users con los usuarios que utilizan el tipo de medio.

Consulte user.get para restricciones basadas en el tipo de usuario.
sortfield string/array Ordenar el resultado por las propiedades dadas.

Valores posibles: mediatypeid.
filter objeto Devolver solo aquellos resultados que coincidan exactamente con el filtro dado.

Acepta un objeto, donde las claves son nombres de propiedades y los valores son un único valor o un array de valores con los que comparar.

No admite propiedades de tipo de dato text data type.

Posibles propiedades del objeto Tipo de medio para usuarios de tipo Admin (desde Zabbix 7.0.4) y usuarios de tipo Usuario (desde Zabbix 7.0.6): mediatypeid, name, type, status, maxattempts.
output query Propiedades del objeto Tipo de medio que se devolverán.

Los usuarios de tipo Admin (desde Zabbix 7.0.4) y los usuarios de tipo Usuario (desde Zabbix 7.0.6) solo pueden recuperar las siguientes propiedades: mediatypeid, name, type, status, maxattempts, description. Para un ejemplo, consulte Recuperar tipos de medios como Admin.

Por defecto: extend.
search objeto Devolver resultados que coincidan con el patrón dado (no distingue mayúsculas/minúsculas).

Acepta un objeto, donde las claves son nombres de propiedades y los valores son cadenas a buscar. Si no se dan opciones adicionales, esto realizará una búsqueda LIKE "%…%".

Solo admite propiedades de tipo de dato string y text data type.

Posibles propiedades del objeto Tipo de medio para usuarios de tipo Admin (desde Zabbix 7.0.4) y usuarios de tipo Usuario (desde Zabbix 7.0.6): name, description.
countOutput booleano Estos parámetros se describen en el comentario de referencia.
editable booleano
excludeSearch booleano
limit entero
preservekeys booleano
searchByAny booleano
searchWildcardsEnabled booleano
sortorder string/array
startSearch booleano

Valores de retorno

(entero/matriz) Devuelve:

  • una matriz de objetos;
  • el recuento de objetos recuperados, si el parámetro countOutput ha sido usado.

Ejemplos

Recuperar tipos de medios

Recupera todos los tipos de medios configurados. El siguiente ejemplo devuelve dos tipos de medios:

  • tipo de medio de correo electrónico;
  • tipo de medio SMS.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "mediatype.get",
           "params": {
               "output": "extend",
               "selectMessageTemplates": "extend"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "mediatypeid": "1",
                   "type": "0",
                   "name": "Email",
                   "smtp_server": "mail.example.com",
                   "smtp_helo": "example.com",
                   "smtp_email": "[email protected]",
                   "exec_path": "",
                   "gsm_modem": "",
                   "username": "",
                   "passwd": "",
                   "status": "0",
                   "smtp_port": "25",
                   "smtp_security": "0",
                   "smtp_verify_peer": "0",
                   "smtp_verify_host": "0",
                   "smtp_authentication": "0",
                   "maxsessions": "1",
                   "maxattempts": "3",
                   "attempt_interval": "10s",
                   "message_format": "0",
                   "script": "",
                   "timeout": "30s",
                   "process_tags": "0",
                   "show_event_menu": "1",
                   "event_menu_url": "",
                   "event_menu_name": "",
                   "description": "",
                   "provider": "0",
                   "message_templates": [
                       {
                           "eventsource": "0",
                           "recovery": "0",
                           "subject": "Problema: {EVENT.NAME}",
                           "message": "El problema comenzó a las {EVENT.TIME} el {EVENT.DATE}\r\nNombre del problema: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\nGravedad: {EVENT.SEVERITY}\r\nDatos operativos: {EVENT.OPDATA}\r\nID del problema original: {EVENT.ID}\r\n{TRIGGER.URL}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "1",
                           "subject": "Resuelto: {EVENT.NAME}",
                           "message": "El problema se ha resuelto a las {EVENT.RECOVERY.TIME} el {EVENT.RECOVERY.DATE}\r\nNombre del problema: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\nGravedad: {EVENT.SEVERITY}\r\n\r\nID del problema original: {EVENT.ID}\r\n{TRIGGER.URL}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "2",
                           "subject": "Problema actualizado: {EVENT.NAME}",
                           "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema el {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nEl estado actual del problema es {EVENT.STATUS}, reconocido: {EVENT.ACK.STATUS}."
                       },
                       {
                           "eventsource": "1",
                           "recovery": "0",
                           "subject": "Descubrimiento: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
                           "message": "Regla de descubrimiento: {DISCOVERY.RULE.NAME}\r\n\r\nIP del dispositivo: {DISCOVERY.DEVICE.IPADDRESS}\r\nDNS del dispositivo: {DISCOVERY.DEVICE.DNS}\r\nEstado del dispositivo: {DISCOVERY.DEVICE.STATUS}\r\nTiempo en funcionamiento del dispositivo: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nNombre del servicio del dispositivo: {DISCOVERY.SERVICE.NAME}\r\nPuerto del servicio del dispositivo: {DISCOVERY.SERVICE.PORT}\r\nEstado del servicio del dispositivo: {DISCOVERY.SERVICE.STATUS}\r\nTiempo en funcionamiento del servicio del dispositivo: {DISCOVERY.SERVICE.UPTIME}"
                       },
                       {
                           "eventsource": "2",
                           "recovery": "0",
                           "subject": "Autorregistro: {HOST.HOST}",
                           "message": "Nombre del equipo: {HOST.HOST}\r\nIP del equipo: {HOST.IP}\r\nPuerto del agente: {HOST.PORT}"
                       }
                   ],
                   "parameters": []
               },
               {
                   "mediatypeid": "3",
                   "type": "2",
                   "name": "SMS",
                   "smtp_server": "",
                   "smtp_helo": "",
                   "smtp_email": "",
                   "exec_path": "",
                   "gsm_modem": "/dev/ttyS0",
                   "username": "",
                   "passwd": "",
                   "status": "0",
                   "smtp_port": "25",
                   "smtp_security": "0",
                   "smtp_verify_peer": "0",
                   "smtp_verify_host": "0",
                   "smtp_authentication": "0",
                   "maxsessions": "1",
                   "maxattempts": "3",
                   "attempt_interval": "10s",
                   "message_format": "1",
                   "script": "",
                   "timeout": "30s",
                   "process_tags": "0",
                   "show_event_menu": "1",
                   "event_menu_url": "",
                   "event_menu_name": "",
                   "description": "",
                   "provider": "0",
                   "message_templates": [
                       {
                           "eventsource": "0",
                           "recovery": "0",
                           "subject": "",
                           "message": "{EVENT.SEVERITY}: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "1",
                           "subject": "",
                           "message": "RESUELTO: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                       },
                       {
                           "eventsource": "0",
                           "recovery": "2",
                           "subject": "",
                           "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema el {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
                       },
                       {
                           "eventsource": "1",
                           "recovery": "0",
                           "subject": "",
                           "message": "Descubrimiento: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
                       },
                       {
                           "eventsource": "2",
                           "recovery": "0",
                           "subject": "",
                           "message": "Autorregistro: {HOST.HOST}\r\nIP del equipo: {HOST.IP}\r\nPuerto del agente: {HOST.PORT}"
                       }
                   ],
                   "parameters": []
               }
           ],
           "id": 1
       }

Recuperar tipos de medios como Admin

Como usuario de tipo Admin, recupere todos los tipos de medios que estén habilitados, con los usuarios que utilizan estos tipos de medios. El siguiente ejemplo devuelve dos tipos de medios:

  • tipo de medio email con un usuario (desde Zabbix 7.0.4, solo el propio usuario de tipo Admin);
  • tipo de medio SMS sin usuarios.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "mediatype.get",
           "params": {
               "output": "extend",
               "filter": {
                   "status": 0
               },
               "selectUsers": "extend"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "mediatypeid": "1",
                   "type": "0",
                   "name": "Email",
                   "status": "0",
                   "description": "",
                   "maxattempts": "3",
                   "users": [
                       {
                           "userid": "3",
                           "username": "database-admin",
                           "name": "John",
                           "surname": "Doe",
                           "url": "",
                           "autologin": "0",
                           "autologout": "0",
                           "lang": "default",
                           "refresh": "30s",
                           "theme": "default",
                           "attempt_failed": "0",
                           "attempt_ip": "",
                           "attempt_clock": "0",
                           "rows_per_page": "50",
                           "timezone": "default",
                           "roleid": "2",
                           "provisioned": "0"
                       }
                   ]
               },
               {
                   "mediatypeid": "3",
                   "type": "2",
                   "name": "SMS",
                   "status": "0",
                   "description": "",
                   "maxattempts": "3",
                   "users": []
               }
           ],
           "id": 1
       }

Recuperar tipos de medios de script y webhook

El siguiente ejemplo devuelve tres tipos de medios:

  • tipo de medio script con parámetros;
  • tipo de medio script sin parámetros;
  • tipo de medio de webhook con parámetros.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "mediatype.get",
           "params": {
               "output": ["mediatypeid", "name", "parameters"],
               "filter": {
                   "type": [1, 4]
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "mediatypeid": "10",
                   "name": "Script with parameters",
                   "parameters": [
                       {
                           "sortorder": "0",
                           "value": "{ALERT.SENDTO}"
                       },
                       {
                           "sortorder": "1",
                           "value": "{EVENT.NAME}"
                       },
                       {
                           "sortorder": "2",
                           "value": "{ALERT.MESSAGE}"
                       },
                       {
                           "sortorder": "3",
                           "value": "Zabbix alert"
                       }
                   ]
               },
               {
                   "mediatypeid": "13",
                   "name": "Script without parameters",
                   "parameters": []
               },
               {
                   "mediatypeid": "11",
                   "name": "Webhook",
                   "parameters": [
                       {
                           "name": "alert_message",
                           "value": "{ALERT.MESSAGE}"
                       },
                       {
                           "name": "event_update_message",
                           "value": "{EVENT.UPDATE.MESSAGE}"
                       },
                       {
                           "name": "host_name",
                           "value": "{HOST.NAME}"
                       },
                       {
                           "name": "trigger_description",
                           "value": "{TRIGGER.DESCRIPTION}"
                       },
                       {
                           "name": "trigger_id",
                           "value": "{TRIGGER.ID}"
                       },
                       {
                           "name": "alert_source",
                           "value": "Zabbix"
                       }
                   ]
               }
           ],
           "id": 1
       }

Ver también

Fuente

CMediaType::get() en ui/include/classes/api/services/CMediaType.php.