7 Parâmetros de configuração dos plugins
Veja os parâmetros de configuração para plugins do Zabbix agent 2:
- Plugin Ceph
- Plugin Docker
- Plugin Ember+
- Plugin Memcached
- Plugin Modbus
- Plugin MongoDB
- Plugin MQTT
- Plugin MSSQL
- Plugin MySQL
- Plugin NVIDIA GPU
- Plugin Oracle
- Plugin PostgreSQL
- Plugin Redis
- Plugin S.M.A.R.T.
Princípios de configuração de plugins
Esta página descreve os princípios de configuração de plugins e as melhores práticas.
Todos os plugins são configurados usando o parâmetro Plugins.*, que pode fazer parte do arquivo de configuração do Zabbix agent 2 ou de um arquivo de configuração próprio do plugin. Se um plugin usar um arquivo de configuração separado, o caminho para esse arquivo deve ser especificado no parâmetro Include do arquivo de configuração do Zabbix agent 2.
Um parâmetro típico de plugin tem a seguinte estrutura:
Plugins.<PluginName>.<Parameter>=<Value>
Além disso, existem dois grupos específicos de parâmetros:
-
Plugins.<PluginName>.Default.<Parameter>=<Value> usado para definir valores padrão de parâmetros.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> usado para definir conjuntos separados de parâmetros para diferentes alvos de monitoramento por meio de sessões nomeadas.
Todos os nomes de parâmetros devem obedecer aos seguintes requisitos:
- recomenda-se capitalizar os nomes dos seus plugins
- o parâmetro deve ser capitalizado
- caracteres especiais não são permitidos
- o aninhamento não é limitado por um nível máximo
- o número de parâmetros não é limitado
Por exemplo, para executar cheques ativos que não possuem Scheduling intervalo de atualização imediatamente após o reinício do agent apenas para o plugin Uptime, defina Plugins.Uptime.System.ForceActiveChecksOnStart=1 no arquivo de configuração.
Da mesma forma, para definir um limite personalizado para cheques concorrentes para o plugin CPU, defina Plugins.CPU.System.Capacity=N no arquivo de configuração.
Valores padrão
Você pode definir valores padrão para os parâmetros relacionados à conexão (URI, nome de usuário, senha, etc.) no arquivo de configuração no formato:
Plugins.<PluginName>.Default.<Parameter>=<Value>
Por exemplo, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, etc.
Se um valor para esse parâmetro não for fornecido em uma chave de item ou nos parâmetros da sessão nomeada, o plugin usará o valor padrão. Se um parâmetro padrão também não estiver definido, os valores padrão codificados serão usados.
Se uma chave de item não tiver nenhum parâmetro, o agent 2 do Zabbix tentará coletar a métrica usando os valores definidos na seção de parâmetros padrão.
Sessões nomeadas
As sessões nomeadas representam um nível adicional de parâmetros de plugin e podem ser usadas para especificar conjuntos separados de parâmetros de autenticação para cada uma das instâncias monitoradas. Cada parâmetro de sessão nomeada deve ter a seguinte estrutura:
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Um nome de sessão pode ser usado como um parâmetro de chave de item connString em vez de especificar um URI, nome de usuário e/ou senha separadamente.
Nas chaves de item, o primeiro parâmetro pode ser um connString ou um URI. Se o primeiro parâmetro da chave não corresponder a nenhum nome de sessão, ele será tratado como um URI. Observe que passar credenciais de URI incorporadas na chave do item não é suportado, use parâmetros de sessão nomeada em vez disso.
A lista de parâmetros de sessão nomeada disponíveis depende do plugin.
É possível substituir os parâmetros da sessão especificando novos valores nos parâmetros da chave do item (veja o exemplo).
Se um parâmetro não for definido para a sessão nomeada, o Zabbix agent 2 usará o valor definido no parâmetro padrão do plugin.
Prioridade dos parâmetros
Os plugins do Zabbix agent 2 procuram os valores dos parâmetros relacionados à conexão na seguinte ordem:

- O primeiro parâmetro da chave do item é comparado aos nomes das sessões. Se nenhuma correspondência for encontrada, ele será tratado como um valor real; nesse caso, a etapa 3 será ignorada. Se uma correspondência for encontrada, o valor do parâmetro (geralmente, um URI) deve ser definido na sessão nomeada.
- Outros parâmetros serão obtidos da chave do item, se definidos.
- Se um parâmetro da chave do item (por exemplo, senha) estiver vazio, o plugin procurará o parâmetro correspondente na sessão nomeada.
- Se o parâmetro da sessão também não estiver especificado, será usado o valor definido no parâmetro padrão correspondente.
- Se tudo mais falhar, o plugin usará o valor padrão codificado.
Exemplo 1
Monitoramento de duas instâncias “MySQL1” e “MySQL2”.
Parâmetros de configuração:
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
Como resultado desta configuração, cada nome de sessão pode ser usado como um connString em uma chave de item, por exemplo, mysql.ping[MySQL1] ou mysql.ping[MySQL2].
Exemplo 2
Fornecendo alguns dos parâmetros na chave do item.
Parâmetros de configuração:
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password
Chave do item: pgsql.ping[session1,new_username,,postgres]
Como resultado desta configuração, o agent irá se conectar ao PostgreSQL usando os seguintes parâmetros:
- URI do parâmetro da sessão:
192.0.2.234:5432 - Nome de usuário da chave do item:
new_username - Senha do parâmetro da sessão (já que foi omitida na chave do item):
session_password - Nome do banco de dados da chave do item:
postgres
Exemplo 3
Coletando uma métrica usando parâmetros de configuração padrão.
Parâmetros de configuração:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Chave do item: pgsql.ping[,,,postgres]
Como resultado desta configuração, o agent irá se conectar ao PostgreSQL usando os parâmetros:
- URI padrão:
192.0.2.234:5432 - Nome de usuário padrão:
zabbix - Senha padrão:
password - Nome do banco de dados da chave do item:
postgres
Conexões
Alguns plugins suportam a coleta de métricas de várias instâncias simultaneamente. Tanto instâncias locais quanto remotas podem ser monitoradas. Conexões TCP e Unix-socket são suportadas.
É recomendado configurar os plugins para manter as conexões com as instâncias em estado aberto. Os benefícios são a redução da congestão de rede, latência e uso de CPU e memória devido ao menor número de conexões. A biblioteca cliente cuida disso.
O período de tempo pelo qual as conexões não utilizadas devem permanecer abertas pode ser determinado pelo parâmetro Plugins.<PluginName>.KeepAlive. Exemplo: Plugins.Memcached.KeepAlive