Dicas e truques para personalizar os modelos de e-mail

Os modelos de e-mail de alerta customizados no IBM® QRadar ® são implementados usando modelos Velocity . Velocidade é uma linguagem de template baseada em Java que fornece uma imensa quantidade de potência e programabilidade.

Nota: Este artigo do blog técnico é como é e não passou por nenhuma vetagem extra.

Problema-Domínios de Multitenancy

Atualmente, o DomainID para endereços IP de sobreposição ou ocupação variada não está disponível nos modelos de e-mail customizados.

Solução-Use propriedades customizadas AQL Do Sistema

Do Sistema possui propriedades customizadas AQL (Ariel query language) que estão disponíveis nos modelos de email quando você usa a seguinte sintaxe:

${AqlCustomPropertiesList}
Como mostra a seguinte captura de tela, é simples criar uma propriedade customizada AQL que inclui as informações de domínio:
Figura 1. Propriedade customizada AQL
Imagem mostrando que informações de domínio devem ser digitados no campo Descrição.

Mas, infelizmente, temos várias propriedades customizadas de AQL e a única coisa que o modelo de e-mail permite é obter a LIST de AqlCustomProperties e seus valores:

AQL Custom Properties: GregAQL: Net_10_0_0_0
00MYAQL: Net_10_0_0_0
DomainInformation: ApophisDomain (ID: 1)
SystemName: ApophisQAFedora
Porque Velocity é uma linguagem de templos baseada em Java flexível, podemos simplesmente passar por cada um deles e imprimir aquele que queremos:
#foreach ( $str in $AqlCustomPropertiesList.split("\n") )
#if ( $str.contains('DomainInformation') )
                DomainInformation:                             $str
#end
#end
Adicionar o exemplo de código anterior no template de email dá o resultado que você deseja:
DomainInformation: DomainInformation: ApophisDomain  (ID: 1)

Você também pode imprimir os valores de quaisquer propriedades customizadas, calculadas ou AQL, utilizando uma das seguintes sequências:

  • ${body.CustomProperty(“CustomName”)}
  • ${body.CalculatedProperty(“CalculatedName”)}
  • ${body.AqlCustomProperty(“AQLName”)}

O gabarito é tão simples quanto o seguinte trecho de código:

DomainInformation: ${body.AqlCustomProperty(“DomainInformation”)}