Arquivos XML
Escrito por Hitfy
Documentação para implantação de:
Arquivos XML
Arquivos XML com Discovery
Arquivos XML do TMS
Arquivos XML
Documentação para criar itens personalizados que monitoram os arquivos.
Para monitorar arquivos, utilizar a chave:
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Onde:
- file - caminho completo para o arquivo
- regexp - expressão regular no padrão GNU
- encoding - identificador do código de página
- start line - número da primeira linha a pesquisar (por padrão é a primeira linha do arquivo).
- end line - número da última linha a pesquisar (por padrão a última linha do arquivo).
- output - parâmetro opcional de formatação. A sequência de escape \0 será substituída pelo texto encontrado enquanto a sequência de escape \N (onde N=1...9) será substituída pela Nth ocorrência (ou um texto vazio se N for maior que a quantidade de ocorrências).
Para mais informações, visitar a documentação oficial do Zabbix:
https://www.zabbix.com/documentation/4.4/en/manual/config/items/itemtypes/zabbix_agent
Arquivos XML com Discovery
Template: Template_Descoberta_Arquivo_XML_Padrao
Aplicar a template padrão e então alterar as macros de configuração.
Definir o caminho a ser monitorado nas macros onde se encontra a consulta PowerShell.
Diretório Exemplo:
C:\TMS\Producao\*\Arquivo.extensão
Arquivo Exemplo:
tasks.xml
A pasta será descoberta quando existir o arquivo informado no diretório.
Com isso, basta editar as macros "{$DISC1}" e "{$DISC2}" com as informações, conforme exemplo:
[System.Collections.ArrayList]$dados = @(); $i = Get-ChildItem -Path C:\TMS\Producao; foreach($dir in $i){ $file = $dir.FullName; $path = \"$file\tasks.xml\"; if(Test-Path -Path $path){ $index = $dados.Add($dir) } }; $result = $dados | select @{Name=\"{#N}\";Expression={$_.Name}} | ConvertTo-Json -Compress; Write-Output '{\"data\":' $result '}'
Arquivos XML do TMS
Template: Template_TMS-XML_Padrao
Esta template funciona assim como a de Descoberta.
Basta editar a macro "{$COMANDO}" com o diretório e arquivo:
powershell "$(get-childitem C:\TMS).getfiles('tasks.xml') | select-object * | select @{Name=\"{#N}\";Expression={$_.FullName}} | convertto-json -compress"