Na seção Administração → Scripts scripts globais definidos pelo usuário pode ser configurado e mantido.
Scripts globais, dependendo do escopo configurado e também de permissões, estão disponíveis para execução:
Os scripts são executados no agente Zabbix, servidor Zabbix (proxy) ou Apenas servidor Zabbix. Veja também Comando execução.
Tanto no agente Zabbix quanto nos scripts remotos do proxy Zabbix são desabilitados por predefinição. Eles podem ser habilitados por:
AllowKey=system.run[*]
no agente configuração;Uma lista de scripts existentes com seus detalhes é exibida.
Dados exibidos:
Coluna | Descrição |
---|---|
Nome | Nome do script. Clicar no nome do script abre o script formulário de configuração. |
Escopo | Escopo do script - operação de ação, ação manual do host ou ação manual do evento. Essa configuração determina onde o script está disponível. |
Usado em ações | Ações onde o script é usado são exibidas. |
Tipo | O tipo de script é exibido - comando Webhook, Script, SSH, Telnet ou IPMI. |
Execute on | É exibido se o script será executado apenas no agente Zabbix, servidor Zabbix (proxy) ou servidor Zabbix apenas. |
Comandos | Todos os comandos a serem executados dentro do script são exibidos. |
Grupo de usuários | O grupo de usuários para o qual o script está disponível é exibido (ou Todos para todos os grupos de usuários). |
Grupo de hosts | O grupo de hosts para o qual o script está disponível é exibido (ou All para todos os grupos de hosts). |
Acesso ao host | O nível de permissão para o grupo de hosts é exibido - Read ou Write. Somente usuários com o nível de permissão necessário terão acesso à execução do script. |
Para configurar um novo script, clique no botão Criar script na canto superior direito.
Um botão abaixo da lista oferece uma opção de edição em massa:
Para usar esta opção, marque as caixas de seleção antes dos respectivos scripts e clique em Excluir.
Você pode usar o filtro para exibir apenas os scripts de seu interesse para um melhor desempenho de pesquisa, os dados são pesquisados com macros não resolvido.
O link Filter está disponível acima da lista de scripts. Se você clicar nele, fica disponível um filtro onde você pode filtrar scripts por nome e escopo.
Atributos do script:
Parâmetro | Descrição | |||
---|---|---|---|---|
Nome | Nome exclusivo do script. Ex. Limpar sistema de arquivos /tmp |
|||
Escopo | Escopo do script - operação de ação, ação manual do host ou ação manual do evento. Esta configuração determina onde o script pode ser usado - em comandos remotos de operações de ação, a partir do menu do host ou do menu do evento respectivamente. Definir o escopo para 'Operação de ação' torna o script disponível para todos os usuários com acesso a Configuração → Ações. Se um script for realmente usado em um ação, seu escopo não pode ser alterado de 'operação de ação'. Suporte a macro O escopo afeta o intervalo de macros disponíveis. Por exemplo, macros relacionadas ao usuário ({USER.*}) são suportadas em scripts para permitir a transmissão de informações sobre o usuário que iniciou o script. No entanto, eles não são compatíveis se o escopo do script for uma operação de ação, pois as operações de ação são executadas automaticamente. Para descobrir quais macros são compatíveis, faça uma pesquisa por 'Notificações e comandos baseados em acionador/Comandos baseados em acionador', 'Scripts de ação de host manual' e 'Scripts de ação de evento manual' na tabela macros com suporte. Observe que, se uma macro pode resolver um valor com espaços (por exemplo, nome do host), não se esqueça de citar conforme necessário. |
|||
Caminho do menu | O caminho do menu desejado para o script. Por exemplo, Default ou Default/ , exibirá o script no respectivo diretório. Os menus podem ser aninhados, por exemplo. Menu principal/Submenu1/Submenu2 . Ao acessar scripts através do menu host/evento nas seções de monitoramento, eles serão organizados de acordo com os diretórios fornecidos.Este campo é exibido apenas se 'Ação manual do host' ou 'Ação manual do evento' estiver selecionado como Escopo. |
|||
Type | Clique no respectivo botão para selecionar o tipo de script: Webhook, Script, SSH, Telnet ou IPMI comando. |
|||
Tipo de script: Webhook | ||||
Parâmetros | Especifique as variáveis do webhook como pares atributo-valor. Veja também: Webhook configuração de mídia. Macros e macros de usuário personalizados são suportados em valores de parâmetro. O suporte a macro depende do escopo do script (consulte Escopo acima). |
|||
Script | Insira o código JavaScript no bloco que aparece ao clicar no campo de parâmetro (ou no botão visualizar/editar próximo a ele). O suporte a macro depende do escopo do script (consulte Escopo acima). Veja também: configuração de mídia Webhook, objetos Javascript adicionais. |
|||
Timeout | Tempo limite de execução JavaScript (1-60s, padrão 30s). Sufixos de tempo são suportados, por exemplo, 30s, 1m. |
|||
Tipo de script: script | ||||
Execute on | Clique no respectivo botão para executar o shell script em: Agente Zabbix - o script será executado pelo agente Zabbix (se o item system.run for permitido) no host servidor Zabbix (proxy) - o script será executado pelo servidor Zabbix ou proxy (se habilitado por EnableRemoteCommands) - dependendo se o host é monitorado por servidor ou proxy Zabbix server - o script será executado apenas pelo Zabbix server |
|||
Comandos | Digite o caminho completo para os comandos a serem executados dentro do script. O suporte a macro depende do escopo do script (veja Escopo acima). macros de usuário personalizados são suportados. |
|||
Tipo de script: SSH | ||||
Método de autenticação | Selecione o método de autenticação - senha ou chave pública. | |||
Nome de usuário | Digite o nome de usuário. | |||
Senha | Digite a senha. Este campo estará disponível se 'Senha' for selecionado como método de autenticação. |
|||
Arquivo de chave pública | Digite o caminho para o arquivo de chave pública. Este campo está disponível se 'Chave pública' for selecionado como método de autenticação. |
|||
Arquivo de chave privada | Digite o caminho para o arquivo de chave privada. Este campo está disponível se 'Chave pública' for selecionado como método de autenticação. |
|||
Passphrase | Insira a senha. Este campo está disponível se 'Chave pública' for selecionado como método de autenticação. |
|||
Porta | Digite a porta. | |||
Comandos | Insira os comandos. O suporte a macro depende do escopo do script (consulte Escopo acima). macros de usuário personalizados são suportados. |
|||
Tipo de script: Telnet | ||||
Nome de usuário | Digite o nome de usuário. | |||
Senha | Digite a senha. | |||
Porta | Digite a porta | |||
Comandos | Insira os comandos. O suporte a macro depende do escopo do script (consulte Escopo acima). macros de usuário personalizados são suportados. |
|||
Tipo de script: IPMI | ||||
Command | Insira o comando IPMI. O suporte a macro depende do escopo do script (consulte Escopo acima). macros de usuário personalizados são suportados. |
|||
Descrição | Digite uma descrição para o script. | |||
Grupo de hosts | Selecione o grupo de hosts para o qual o script estará disponível (ou All para todos os grupos de hosts). | |||
Grupo de usuários | Selecione o grupo de usuários para o qual o script estará disponível (ou Todos para todos os grupos de usuários). Este campo é exibido apenas se 'Ação manual do host' ou ' Ação de evento manual' está selecionada como Escopo. |
|||
Permissões de host necessárias | Selecione o nível de permissão para o grupo de hosts - Read ou Write. Somente usuários com o nível de permissão necessário terão acesso para executar o script. Este campo é exibido apenas se 'Ação manual do host' ou 'Ação manual do evento' estiver selecionado como Escopo. |
|||
Ativar confirmação | Marque a caixa de seleção para exibir uma mensagem de confirmação antes de executar o script. Esse recurso pode ser especialmente útil com operações potencialmente perigosas (como um script de reinicialização) ou que podem levar muito tempo. Esta opção é exibida apenas se 'Ação manual do host' ou 'Ação manual do evento' estiver selecionado como Escopo . |
|||
Texto de confirmação | Insira um texto de confirmação personalizado para o pop-up de confirmação ativado com a caixa de seleção acima (por exemplo, O sistema remoto será reinicializado. Tem certeza?). Para ver a aparência do texto, clique em Confirmação de teste ao lado do campo. As macros {HOST.*} e {USER.*} são compatíveis. macros de usuário personalizados são suportados. Observação: as macros não serão expandidas ao testar a mensagem de confirmação. Este campo é exibido apenas se 'Ação manual do host ' ou 'Ação de evento manual' está selecionada como Escopo. |
Os scripts executados pelo servidor Zabbix são executados pela ordem descrita em Seção Execução do comando incluindo a verificação do código de saída. O resultado do script será exibido em um janela pop-up que aparecerá após a execução do script.
Nota: O valor de retorno do script é a saída padrão junto com erro padrão.
Veja um exemplo de script e a janela de resultados abaixo:
O resultado do script não exibe o script em si.
Você pode encontrar uma situação em que ocorre um tempo limite durante a execução de um roteiro.
Veja um exemplo de script rodando no agente Zabbix e a janela de resultados abaixo:
A mensagem de erro, neste caso, é a seguinte:
Para evitar tal situação, é aconselhável otimizar o script em si (em vez de ajustar o parâmetro Timeout para um valor correspondente (no nosso caso, > '5') modificando o agente Zabbix configuração e servidor Zabbix configuração).
Caso ainda seja alterado o parâmetro Timeout no agente Zabbix configuration após o erro mensagem aparece:
Significa que a modificação foi feita no agente Zabbix configuração e é obrigatório para modificar a configuração de tempo limite também no servidor Zabbix configuração.
Veja um exemplo de script rodando no servidor Zabbix e o resultado janela abaixo:
Também é aconselhável otimizar o próprio script (em vez de ajustar TrapperTimeout para um valor correspondente (no nosso caso, > '11') modificando o servidor Zabbix configuração).