Tipos de mídia
Visão geral
Os tipos de mídia são exportados com todos os objetos relacionados e relações entre objetos.
Exportando
Para exportar tipos de mídia, faça o seguinte:
- Acesse Alerts > Media types.
- Marque as caixas de seleção dos tipos de mídia a serem exportados.
- Clique em Export abaixo da lista para exportar no formato YAML padrão, ou clique na seta para selecionar um formato de exportação diferente.

Dependendo do formato selecionado, os tipos de mídia são exportados para um arquivo local com um nome padrão:
zabbix_export_mediatypes.yaml- na exportação YAML;zabbix_export_mediatypes.xml- na exportação XML;zabbix_export_mediatypes.json- na exportação JSON.
Importando
Para importar tipos de mídia, faça o seguinte:
- Acesse Alerts > Media types.
- Clique em Import no canto superior direito.
- Selecione o arquivo de importação.
- Marque as opções necessárias nas regras de importação.
- Clique em Import no canto inferior direito do formulário de configuração.

Regras de importação:
| Rule | Description |
|---|---|
| Update existing | Os elementos existentes serão atualizados usando os dados do arquivo de importação. Caso contrário, eles não serão atualizados. |
| Create new | Novos elementos serão criados usando os dados do arquivo de importação. Caso contrário, eles não serão criados. |
Uma mensagem de sucesso ou falha da importação será exibida no frontend.
Formato de exportação
Exportar para YAML:
zabbix_export:
version: '8.0'
media_types:
- name: Pushover
type: WEBHOOK
parameters:
- name: endpoint
value: 'https://api.pushover.net/1/messages.json'
- name: eventid
value: '{EVENT.ID}'
- name: event_nseverity
value: '{EVENT.NSEVERITY}'
- name: event_source
value: '{EVENT.SOURCE}'
- name: event_value
value: '{EVENT.VALUE}'
- name: expire
value: '1200'
- name: message
value: '{ALERT.MESSAGE}'
- name: priority_average
value: '0'
- name: priority_default
value: '0'
- name: priority_disaster
value: '0'
- name: priority_high
value: '0'
- name: priority_information
value: '0'
- name: priority_not_classified
value: '0'
- name: priority_warning
value: '0'
- name: retry
value: '60'
- name: title
value: '{ALERT.SUBJECT}'
- name: token
value: '<PUSHOVER TOKEN HERE>'
- name: triggerid
value: '{TRIGGER.ID}'
- name: url
value: '{$ZABBIX.URL}'
- name: url_title
value: Zabbix
- name: user
value: '{ALERT.SENDTO}'
status: DISABLED
max_sessions: '0'
script: |
try {
var params = JSON.parse(value),
request = new HttpRequest(),
data,
response,
severities = [
{name: 'not_classified', color: '#97AAB3'},
{name: 'information', color: '#7499FF'},
{name: 'warning', color: '#FFC859'},
{name: 'average', color: '#FFA059'},
{name: 'high', color: '#E97659'},
{name: 'disaster', color: '#E45959'},
{name: 'resolved', color: '#009900'},
{name: 'default', color: '#000000'}
],
priority;
if (typeof params.HTTPProxy === 'string' && params.HTTPProxy.trim() !== '') {
request.setProxy(params.HTTPProxy);
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw 'Parâmetro "event_source" incorreto fornecido: "' + params.event_source + '".\nDeve ser 0-3.';
}
if (params.event_value !== '0' && params.event_value !== '1'
&& (params.event_source === '0' || params.event_source === '3')) {
throw 'Parâmetro "event_value" incorreto fornecido: ' + params.event_value + '\nDeve ser 0 ou 1.';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
params.event_nseverity = '7';
}
if (params.event_value === '0') {
params.event_nseverity = '6';
}
priority = params['priority_' + severities[params.event_nseverity].name] || params.priority_default;
if (isNaN(priority) || priority < -2 || priority > 2) {
throw '"priority" deve ser -2..2';
}
if (params.event_source === '0' && isNaN(params.triggerid)) {
throw 'o campo "triggerid" não é um número';
}
if (isNaN(params.eventid)) {
throw 'o campo "eventid" não é um número';
}
if (typeof params.message !== 'string' || params.message.trim() === '') {
throw 'o campo "message" não pode estar vazio';
}
data = {
token: params.token,
user: params.user,
title: params.title,
message: params.message,
url: (params.event_source === '0')
? params.url + '/tr_events.php?triggerid=' + params.triggerid + '&eventid=' + params.eventid
: params.url,
url_title: params.url_title,
priority: priority
};
if (priority == 2) {
if (isNaN(params.retry) || params.retry < 30) {
throw 'o campo "retry" deve ser um número com valor mínimo de 30 se "priority" estiver definido como 2';
}
if (isNaN(params.expire) || params.expire > 10800) {
throw 'o campo "expire" deve ser um número com valor máximo de 10800 se "priority" estiver definido como 2';
}
data.retry = params.retry;
data.expire = params.expire;
}
data = JSON.stringify(data);
Zabbix.log(4, '[ Pushover Webhook ] Enviando solicitação: ' + params.endpoint + '\n' + data);
request.addHeader('Content-Type: application/json');
response = request.post(params.endpoint, data);
Zabbix.log(4, '[ Pushover Webhook ] Resposta recebida com código de status ' + request.getStatus() + '\n' + response);
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, '[ Pushover Webhook ] Falha ao analisar a resposta recebida do Pushover');
response = null;
}
}
if (request.getStatus() != 200 || response === null || typeof response !== 'object' || response.status !== 1) {
if (response !== null && typeof response === 'object' && typeof response.errors === 'object'
&& typeof response.errors[0] === 'string') {
throw response.errors[0];
}
else {
throw 'Erro desconhecido. Verifique o log de depuração para mais informações.';
}
}
return 'OK';
}
catch (error) {
Zabbix.log(4, '[ Pushover Webhook ] Falha na notificação do Pushover: ' + error);
throw 'Falha na notificação do Pushover: ' + error;
}
description: |
Consulte o guia de configuração aqui: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover
Defina o parâmetro token com a chave do seu aplicativo Pushover.
Ao atribuir a mídia Pushover ao usuário do Zabbix, adicione a chave do usuário no campo send to.
message_templates:
- event_source: TRIGGERS
operation_mode: PROBLEM
subject: 'Problema: {EVENT.NAME}'
message: |
O problema começou em {EVENT.TIME} em {EVENT.DATE}
Nome do problema: {EVENT.NAME}
host: {HOST.NAME}
Severidade: {EVENT.SEVERITY}
Dados operacionais: {EVENT.OPDATA}
ID original do problema: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: RECOVERY
subject: 'Resolvido em {EVENT.DURATION}: {EVENT.NAME}'
message: |
O problema foi resolvido em {EVENT.RECOVERY.TIME} em {EVENT.RECOVERY.DATE}
Nome do problema: {EVENT.NAME}
Duração do problema: {EVENT.DURATION}
host: {HOST.NAME}
Severidade: {EVENT.SEVERITY}
ID original do problema: {EVENT.ID}
{TRIGGER.URL}
- event_source: TRIGGERS
operation_mode: UPDATE
subject: 'Problema atualizado em {EVENT.AGE}: {EVENT.NAME}'
message: |
{USER.FULLNAME} {EVENT.UPDATE.ACTION} o problema em {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
O estado atual do problema é {EVENT.STATUS}, a idade é {EVENT.AGE}, reconhecido: {EVENT.ACK.STATUS}.
- event_source: DISCOVERY
operation_mode: PROBLEM
subject: 'Descoberta: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}'
message: |
Regra de descoberta: {DISCOVERY.RULE.NAME}
IP do dispositivo: {DISCOVERY.DEVICE.IPADDRESS}
DNS do dispositivo: {DISCOVERY.DEVICE.DNS}
Status do dispositivo: {DISCOVERY.DEVICE.STATUS}
Tempo de atividade do dispositivo: {DISCOVERY.DEVICE.UPTIME}
Nome do serviço do dispositivo: {DISCOVERY.SERVICE.NAME}
Porta do serviço do dispositivo: {DISCOVERY.SERVICE.PORT}
Status do serviço do dispositivo: {DISCOVERY.SERVICE.STATUS}
Tempo de atividade do serviço do dispositivo: {DISCOVERY.SERVICE.UPTIME}
- event_source: AUTOREGISTRATION
operation_mode: PROBLEM
subject: 'Autoregistro: {HOST.HOST}'
message: |
Nome do host: {HOST.HOST}
IP do host: {HOST.IP}
Porta do agent: {HOST.PORT}
Elementos exportados
Os elementos exportados são explicados na tabela abaixo.
| Element | Type | Description | |
|---|---|---|---|
| name | string | (obrigatório) Nome do tipo de mídia. | |
| type | string | (obrigatório) Transporte usado pelo tipo de mídia. Valores possíveis:1 EMAIL (0), SMS (1), SCRIPT (2), WEBHOOK (4). |
|
| status | string | Se o tipo de mídia está habilitado. Valores possíveis:1 ENABLED (0, padrão), DISABLED (1) |
|
| max_sessions | integer | O número máximo de alertas que podem ser processados em paralelo. Valores possíveis para SMS:1 1 (padrão). Valores possíveis para outros tipos de mídia:1 0-100 (onde 0 - ilimitado). |
|
| attempts | integer | O número máximo de tentativas para enviar um alerta. Valores possíveis:1 1-10 (padrão: 3). |
|
| attempt_interval | string | O intervalo (usando segundos ou time suffix) entre as tentativas de repetição. Valores possíveis:1 0-60s (padrão: 10s). |
|
| description | string | Descrição do tipo de mídia. | |
| message_templates | Elemento raiz para os modelos de mensagem do tipo de mídia. | ||
| event_source | string | (obrigatório) Origem do evento. Valores possíveis:1 TRIGGERS (0), DISCOVERY (1), AUTOREGISTRATION (2), INTERNAL (3), SERVICE (4). |
|
| operation_mode | string | Modo de operação. Valores possíveis:1 PROBLEM (0), RECOVERY (1), UPDATE (2). |
|
| subject | string | Assunto da mensagem. | |
| message | string | Corpo da mensagem. | |
Veja também: Media type object (consulte a propriedade relevante com o nome correspondente).
Os seguintes elementos adicionais são exportados apenas para o tipo de mídia Email.
| Element | Type | Description | |
|---|---|---|---|
| provider | string | Provedor de email. | |
| smtp_server | string | Servidor SMTP. | |
| smtp_port | integer | Porta do servidor SMTP para conexão. Default: 25. |
|
| smtp_helo | string | SMTP helo. | |
| smtp_email | string | Endereço de email a partir do qual as notificações serão enviadas. | |
| smtp_security | string | Nível de segurança da conexão SMTP a ser usado. Valores possíveis:1 NONE (0, default), STARTTLS (1), SSL_OR_TLS (2). |
|
| smtp_verify_host | string | Verificação de host SSL para SMTP. Valores possíveis:1 NO (0, default), YES (1). |
|
| smtp_verify_peer | string | Verificação de peer SSL para SMTP. Valores possíveis:1 NO (0, default), YES (1). |
|
| smtp_authentication | string | Método de autenticação SMTP a ser usado. Valores possíveis:1 NONE (0, default), PASSWORD (1), OAUTH (2). |
|
| username | string | Nome de usuário. | |
| password | string | Senha de autenticação. | |
| redirection_url | string | URL do frontend do Zabbix para redirecionar de volta a autorização OAuth. | |
| client_id | string | O identificador do cliente registrado no servidor de autorização OAuth. | |
| authorization_url | string | URL OAuth, com parâmetros, para obter tokens de acesso e atualização. | |
| token_url | string | URL OAuth para trocar o token de autorização por tokens de acesso e atualização. | |
| message_format | string | Formato da mensagem. Valores possíveis:1 TEXT (0), HTML (1, default). |
|
Veja também: Media type object (consulte a propriedade relevante com o nome correspondente).
SMS
Os seguintes elementos adicionais são exportados apenas para o tipo de mídia SMS.
| Element | Type | Description | |
|---|---|---|---|
| gsm_modem | string | (required) Nome do dispositivo serial do modem GSM. | |
Veja também: Media type object (consulte a propriedade relevante com o nome correspondente).
Script
Os seguintes elementos adicionais são exportados apenas para o tipo de mídia Script.
| Element | Type | Description | |
|---|---|---|---|
| script name | string | (required) Nome do script. | |
| parameters | Elemento raiz para os parâmetros do script. | ||
| sortorder | string | (required) Ordem dos parâmetros do script passados ao script como argumentos de linha de comando. | |
| value | string | Valor do parâmetro do script. | |
Veja também: Objeto de tipo de mídia (consulte a propriedade relevante com um nome correspondente).
Webhook
Os seguintes elementos adicionais são exportados apenas para o tipo de mídia Webhook.
| Element | Type | Description | |
|---|---|---|---|
| script | string | Script. | |
| timeout | string | Intervalo de timeout da requisição HTTP do script JavaScript. Valores possíveis:1 1-60s (padrão: 30s). |
|
| process_tags | string | Indica se as tags retornadas devem ser processadas. Valores possíveis:1 NO (0, padrão), YES (1). |
|
| show_event_menu | string | Indica a presença de uma entrada no menu de eventos se a macro {EVENT.TAGS.*} tiver sido resolvida com sucesso nos campos event_menu_url e event_menu_name.Valores possíveis:1 NO (0, padrão), YES (1). |
|
| event_menu_url | string | URL da entrada do menu de eventos. Suporta a macro {EVENT.TAGS.*}. | |
| event_menu_name | string | Nome da entrada do menu de eventos. Suporta a macro {EVENT.TAGS.*}. | |
| parameters | Elemento raiz para os parâmetros do tipo de mídia webhook. | ||
| name | string | (obrigatório) Nome do parâmetro do webhook. | |
| value | string | Valor do parâmetro do webhook. | |
Veja também: Media type object (consulte a propriedade relevante com o nome correspondente).
Notas de rodapé
1 Valores inteiros da API entre parênteses, por exemplo, ENABLED (0), são mencionados apenas para referência. Para mais informações, consulte a página do objeto da API vinculada na entrada da tabela ou no final de cada seção.