Às vezes, você pode querer executar uma verificação de agent que não vem predefinida no Zabbix. É aí que os parâmetros de usuário entram em cena.
Você pode escrever um comando que recupere os dados necessários e incluí-lo no parâmetro de usuário no arquivo de configuração do agent (parâmetro de configuração 'UserParameter').
Um parâmetro de usuário tem a seguinte sintaxe:
Como você pode ver, um parâmetro de usuário também contém uma chave. A chave será necessária ao configurar um item. Insira uma chave de sua escolha que seja fácil de referenciar (deve ser única dentro de um host).
Reinicie o agent ou use a opção de controle em tempo de execução do agent para carregar o novo parâmetro, por exemplo:
Em seguida, ao configurar um item, insira a chave para referenciar o comando do parâmetro de usuário que você deseja executar.
Os parâmetros de usuário são comandos executados pelo agent do Zabbix. Observe que até 16MB de dados podem ser retornados antes das etapas de pré-processamento do valor do item.
/bin/sh é usado como interpretador de linha de comando em sistemas operacionais UNIX. Os parâmetros de usuário obedecem ao tempo limite da verificação do agent; se o tempo limite for atingido, o processo do parâmetro de usuário bifurcado será encerrado.
Veja também:
Um comando simples:
O agent sempre retornará '1' para um item com a chave 'ping'.
Um exemplo mais complexo:
O agent retornará '1' se o servidor MySQL estiver ativo, '0' caso contrário.
Parâmetros de usuário flexíveis aceitam parâmetros com a chave. Desta forma, um parâmetro de usuário flexível pode ser a base para criar vários items.
Parâmetros de usuário flexíveis têm a seguinte sintaxe:
| Parâmetro | Descrição |
|---|---|
| Key | Chave de item única. O [*] define que esta chave aceita parâmetros dentro dos colchetes. Os parâmetros são fornecidos ao configurar o item. |
| Command | Comando a ser executado para avaliar o valor da chave. Apenas para parâmetros de usuário flexíveis: Você pode usar referências posicionais $1…$9 no comando para se referir ao respectivo parâmetro na chave do item. O Zabbix analisa os parâmetros entre [ ] da chave do item e substitui $1,...,$9 no comando de acordo. $0 será substituído pelo comando original (antes da expansão de $0,...,$9) a ser executado. Referências posicionais são interpretadas independentemente de estarem entre aspas duplas (") ou simples ('). Para usar referências posicionais sem alteração, especifique dois sinais de cifrão - por exemplo, awk '{print $$2}'. Neste caso, $$2 será convertido em $2 ao executar o comando. |
Referências posicionais com o sinal $ são procuradas e substituídas pelo agent Zabbix apenas para parâmetros de usuário flexíveis. Para parâmetros de usuário simples, tal processamento de referência é ignorado e, portanto, qualquer citação de sinal $ não é necessária.
Certos símbolos não são permitidos em parâmetros de usuário por padrão. Veja a documentação UnsafeUserParameters para uma lista completa.
Algo muito simples:
Podemos definir um número ilimitado de items para monitoramento, todos tendo o formato ping[algo].
Vamos adicionar mais sentido!
Este parâmetro pode ser usado para monitorar a disponibilidade do banco de dados MySQL. Podemos passar o nome de usuário e a senha:
Quantas linhas correspondem a uma expressão regular em um arquivo?
Este parâmetro pode ser usado para calcular o número de linhas em um arquivo.
O valor de retorno do comando é uma saída padrão juntamente com um erro padrão produzido pelo comando.
Um item que retorna texto (caractere, log ou tipo de informação texto) não ficará não suportado em caso de saída de erro padrão.
O valor de retorno é limitado a 16MB (incluindo espaços em branco à direita que são truncados); limites do banco de dados também se aplicam.
Parâmetros de usuário que retornam texto (caractere, log ou tipo de informação texto) também podem retornar um espaço em branco. Em caso de resultado inválido, o item ficará não suportado.