Posso criar um item do Zabbix que rastreie o CKSUM de um arquivo com um nome de arquivo ligeiramente variável?

1

Usando o Zabbix v2.4 no RHEL 6.4

Meta

Gostaria de acompanhar a soma de verificação de um arquivo em vários sistemas em que o diretório não muda, mas o nome do arquivo tem variações muito pequenas. Em nosso caso, o nome do arquivo contém um número de compilação para o software e temos vários sites em versões diferentes. (Daí a diferença de nomes.)

Pergunta e captura

Posso criar um único item de modelo que contabilize esses nomes de arquivos variados usando o suporte interno de expressões regulares?

  • Não é possível modificar os nomes dos arquivos para remover o número da compilação.
  • Não tem muito controle sobre as configurações do agente, portanto, adicionar UserParameters seria um esforço considerável.

Nomes de arquivos de exemplo:

  • 12 3 4_file.jar
  • 12 5 4_file.jar

O que eu tentei

O Zabbix tem suporte a expressões regulares, mas não consegui encontrar um bom exemplo de seu uso em chaves de itens. A página Expressão Regular diz

In those cases where that may lead to misinterpretation when referencing (for example, a comma in the parameter of an item key) the whole reference may be put in quotes like this

que implica que eles podem ser usados em chaves, mas, talvez, não do jeito que eu gostaria de usá-los.

Eu defini um RE personalizado como "Nome_do_Arquivo" com as expressões lógicas adequadas para corresponder aos meus nomes de arquivos (os testes foram bem feitos) e minha chave é a seguinte:

vfs.file.cksum[/path/to/file/@FileName]

Mas quando reviso os registros do Agente, ele diz "não há suporte para" vfs.file.cksum [/ path / to / file / @ FileName] "com" nenhum arquivo ou diretório ", por isso não Parece que a chave está expandindo / combinando, o que significa que eu provavelmente não entendi como usar os REs personalizados em chaves (ou eles só funcionam em certos tipos de chaves).

    
por BrM13 24.06.2015 / 16:45

1 resposta

1

De acordo com a documentação do item , vfs.file.cksum[] aceita um nome de arquivo como o primeiro parâmetro (diferentemente, por exemplo, logrt[] item), portanto, uma expressão regular não funcionará lá.

Uma abordagem possível seria usar uma macro de usuário aqui e definir o item da seguinte forma:

vfs.file.cksum[/path/to/file/12{$VERSION}4_file.jar]

Em seguida, defina a macro {$VERSION} apropriada para cada host.

Alternativamente, você pode usar descoberta de baixo nível para descobrir os arquivos que deseja, mas isso envolveria escrever um UserParameter, o que você preferiria evitar. Enquanto isso, há uma solicitação de recurso para uma descoberta de arquivo integrada em ZBXNEXT-712 que você pode votar.

    
por 25.06.2015 / 08:53