6 Plugin do MongoDB

Visão geral

O arquivo de configuração do Zabbix agent 2 é usado para configurar plugins. Estes parâmetros de configuração do Zabbix agent 2 são suportados para operar o plugin MongoDB.

Recomenda-se especificá-los em seu próprio arquivo de configuração (por exemplo, mongo.conf) e então usar a diretiva Include para adicionar esse arquivo à configuração do Zabbix agent 2.

O plugin MongoDB é um plugin carregável e está disponível e totalmente descrito no repositório do plugin MongoDB.

Observe que:

  • Os valores padrão refletem os padrões do processo, não os valores nos arquivos de configuração fornecidos.
  • Os valores suportam variáveis de ambiente.
  • O Zabbix suporta arquivos de configuração apenas em codificação UTF-8 sem BOM.
  • Comentários que começam com "#" são suportados apenas no início da linha.

Opções

Parâmetro Descrição
-V --version Imprime a versão do plugin e informações de licença.
-h --help Imprime informações de ajuda (forma abreviada).
-t, --test <item key> Executa o plugin para teste (configuração do plugin ignorada).

Parâmetros

Ao se conectar ao MongoDB, o plugin verifica sua configuração em uma ordem específica, que determina qual valor será usado. A ordem, da maior para a menor prioridade, é a seguinte:

  1. Parâmetros especificados na URI de conexão (por exemplo, os parâmetros de consulta definidos após ? em Plugins.MongoDB.Sessions.<session_name>.Uri têm a maior prioridade).
  2. Parâmetros na chave do item do Zabbix agent 2 (por exemplo, mongodb.collection.stats).
  3. Parâmetros definidos em uma sessão nomeada (por exemplo, Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Valores padrão (por exemplo, Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Por exemplo:

  • Se você especificar o banco de dados para autenticar uma conexão com o server MongoDB no parâmetro *.<SessionName>.Uri (por exemplo, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), então o plugin considerará o parâmetro *.<SessionName>.AuthSource como definido como admin, mesmo que o parâmetro *.<SessionName>.AuthSource esteja definido com outro valor.
  • Se você especificar a URI no parâmetro *.<SessionName>.Uri (por exemplo, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), mas fornecer o nome de usuário e a senha na chave do item do Zabbix agent 2, o plugin usará o nome de usuário e a senha da chave do item, mesmo que Plugins.MongoDB.Sessions.<SessionName>.User e Plugins.MongoDB.Sessions.<SessionName>.Password estejam configurados.

Se o esquema mongodb+srv:// for usado, a URI poderá obter parâmetros de um registro DNS TXT. Os parâmetros obtidos desse registro TXT substituem todas as outras configurações, incluindo parâmetros da URI, parâmetros da chave do item do Zabbix Agent 2 e parâmetros da sessão.
Pode existir apenas um registro TXT para o hostname usado na string de conexão.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Caminho para o executável do plugin MongoDB.
Exemplo de uso: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Tempo limite de execução da solicitação (a duração, em segundos, para aguardar a conclusão de uma solicitação antes de encerrá-la).
Plugins.MongoDB.KeepAlive no 60-900 300 Tempo máximo de espera (em segundos) antes que conexões do plugin não utilizadas sejam fechadas.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 String de conexão de uma sessão nomeada.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Deve corresponder ao formato da URI.
Esquemas suportados: mongodb:// e mongodb+srv://; o esquema tcp:// está obsoleto e é mantido por compatibilidade com configurações existentes.
A porta pode ser omitida (padrão=27017).
Exemplos: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User no Nome de usuário da sessão nomeada.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.
Plugins.MongoDB.Sessions.<SessionName>.Password no Senha da sessão nomeada.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Método de conexão usado para determinar se a descoberta automática dos nós do replica set do MongoDB deve ser habilitada ou desabilitada.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Valores suportados:
true - o plugin se conectará apenas ao server especificado, ignorando outros membros do replica set;
false - o plugin descobrirá automaticamente todos os nós no replica set.
Se o esquema tcp:// (obsoleto) for usado, o parâmetro será definido como true por padrão.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Mecanismo de autenticação para conexão com o server MongoDB.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Valores suportados: SCRAM-SHA-1, SCRAM-SHA-256 e MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin Banco de dados para autenticação da conexão com o server MongoDB.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Se o mecanismo de autenticação MONGODB-X509 for usado, este parâmetro será definido automaticamente como $external; modificá-lo para qualquer outro valor causará um erro na inicialização.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no Nome do replica set, usado para descoberta automática dos nós do replica set do MongoDB.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Se este parâmetro for usado com o esquema mongodb+srv://, ele se comportará como se várias URLs tivessem sido fornecidas; um server DNS pode ter um registro TXT que pode substituir este parâmetro (ou qualquer outro).

Indisponível se o parâmetro Plugins.MongoDB.Sessions.<SessionName>.Direct estiver definido como true; o agent falhará ao iniciar.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no Ordem para conexão com os nós do replica set do MongoDB ou fallback.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Valores suportados: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode e NearestMode.
Indisponível se o parâmetro Plugins.MongoDB.Sessions.<SessionName>.Direct estiver definido como true; o agent falhará ao iniciar.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Tipo de criptografia para comunicações entre o Zabbix agent 2 e os bancos de dados monitorados.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.

Valores suportados:
required - exige conexão TLS;
verify\_ca - verifica certificados;
verify\_full - verifica certificados e endereço IP.

Suportado desde a versão 1.2.1 do plugin.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Caminho completo de um arquivo contendo os certificados da CA de nível superior para verificação do certificado do par, usado para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Caminho completo de um arquivo contendo o certificado do agent ou a cadeia de certificados, usado para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Caminho completo de um arquivo contendo a chave privada do banco de dados usada para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.
<SessionName> - define o nome de uma sessão para uso nas chaves do item.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 URI padrão para conexão com o MongoDB.

Deve corresponder ao formato da URI.
Esquemas suportados: mongodb:// e mongodb+srv://.
Esquema obsoleto: tcp:// (usado como padrão por compatibilidade com configurações existentes).
A porta pode ser omitida (padrão=27017).
Exemplos: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User no Nome de usuário padrão para conexão com o MongoDB.
Plugins.MongoDB.Default.Password no Senha padrão para conexão com o MongoDB.
Plugins.MongoDB.Default.Direct no false Método de conexão padrão usado para determinar se a descoberta automática dos nós do replica set do MongoDB deve ser habilitada ou desabilitada.

Valores suportados:
true - o plugin se conectará apenas ao server especificado, ignorando outros membros do replica set;
false - o plugin descobrirá automaticamente todos os nós no replica set.
Se o esquema tcp:// (obsoleto) for usado, o parâmetro será definido como true por padrão.
Plugins.MongoDB.Default.AuthMechanism no Mecanismo de autenticação padrão para conexão com o server MongoDB.

Valores suportados: SCRAM-SHA-1, SCRAM-SHA-256 e MONGODB-X509.
Se nenhum valor for especificado aqui, em uma chave do item, em uma sessão nomeada ou na URI, será usado um mecanismo baseado em SCRAM (se um nome de usuário for fornecido; caso contrário, nenhuma autenticação será usada).
Plugins.MongoDB.Default.AuthSource no admin Banco de dados padrão para autenticação da conexão com o server MongoDB.

Se o mecanismo de autenticação MONGODB-X509 for usado, este parâmetro será definido automaticamente como $external; modificá-lo para qualquer outro valor causará um erro na inicialização.
Plugins.MongoDB.Default.ReplicaSet no Nome padrão do replica set; usado para descoberta automática dos nós do replica set do MongoDB.

Se este parâmetro for usado com o esquema mongodb+srv://, ele se comportará como se várias URLs tivessem sido fornecidas; um server DNS pode ter um registro TXT que pode substituir este parâmetro (ou qualquer outro).
Indisponível se o parâmetro Plugins.MongoDB.Default.Direct estiver definido como true; o agent falhará ao iniciar.
Plugins.MongoDB.Default.ReadPreference no Ordem padrão para conexão com os nós do replica set do MongoDB ou fallback.

Valores suportados: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode e NearestMode.
Indisponível se o parâmetro Plugins.MongoDB.Default.Direct estiver definido como true; o agent falhará ao iniciar.
Plugins.MongoDB.Default.TLSConnect no Tipo de criptografia padrão para comunicações entre o Zabbix agent 2 e os bancos de dados monitorados.

Valores suportados:
required - exige conexão TLS.
verify\_ca - verifica certificados.
verify\_full - verifica certificados e endereço IP.
Se nenhum valor for especificado aqui, em uma chave do item, em uma sessão nomeada ou na URI, uma conexão TLS não será estabelecida.
Plugins.MongoDB.Default.TLSCAFile no Caminho padrão de um arquivo contendo os certificados da CA de nível superior para verificação do certificado do par. Usado para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.
Plugins.MongoDB.Default.TLSCertFile no Caminho padrão de um arquivo contendo o certificado do cliente MongoDB ou a cadeia de certificados. Usado para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.
Plugins.MongoDB.Default.TLSKeyFile no Caminho padrão de um arquivo contendo a chave privada do cliente MongoDB usada para comunicações criptografadas entre o Zabbix agent 2 e os bancos de dados monitorados.

Veja também: