Conseils et astuces pour la personnalisation des modèles d'e-mail

Les modèles d'e-mail d'alerte personnalisés dans IBM® QRadar sont implémentés à l'aide de modèles Velocity . Langage de templating basé sur Java, Velocity offre une énorme quantité de puissance et de programmabilité.

Remarque: Cet article de blogue technique est As-is et n'a pas été soumis à un contrôle supplémentaire.

Problème - Les domaines multilocation

Actuellement, DomainID pour la multilocation ou le chevauchement d'adresses IP n'est pas disponible dans les modèles d'e-mail personnalisés.

Solution-Utilisez les propriétés personnalisées d'AQL QRadar

QRadar possède des propriétés personnalisées AQL (langage de requête Ariel) qui sont disponibles dans les modèles de courrier électronique lorsque vous utilisez la syntaxe suivante:

${AqlCustomPropertiesList}
Comme le montre la capture d'écran suivante, il est simple de créer une propriété personnalisée AQL qui inclut les informations du domaine :
Figure 1 : Propriété personnalisée AQL
Image montrant que les informations de domaine doivent être entrées dans la zone Description.

Malheureusement, nous avons plusieurs propriétés personnalisées AQL et la seule chose que le modèle d'e-mail nous permet est d'obtenir la liste des AqlCustomProperties et leurs valeurs :

AQL Custom Properties: GregAQL: Net_10_0_0_0
00MYAQL: Net_10_0_0_0
DomainInformation: ApophisDomain (ID: 1)
SystemName: ApophisQAFedora
Comme Velocity est un langage de templating basé sur Java et d'une grande souplesse, nous pouvons les parcourir une à une et imprimer celle que nous voulons :
#foreach ( $str in $AqlCustomPropertiesList.split("\n") )
#if ( $str.contains('DomainInformation') )
                DomainInformation:                             $str
#end
#end
L'ajout de l'exemple de code précédent dans le modèle d'e-mail vous donne le résultat souhaité :
DomainInformation: DomainInformation: ApophisDomain  (ID: 1)

Vous pouvez également imprimer les valeurs de toutes les propriétés personnalisées, calculées ou AQL en utilisant une des chaînes suivantes :

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

Le modèle est aussi simple que le fragment de code suivant :

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