Vous pouvez fournir les informations qu'un agent envoie à une destination avec l'option de filtre dans la section [server|<dest_id>] du fichier local liagent.ini.

L'option est au format suivant :

filter = {collector_type; collector_filter; event_filter}
Type de filtre Description
collector_type Liste séparée par des virgules qui définit les types de collecteur. Les valeurs prises en charge sont filelog ou winlog. Si aucune valeur n'est fournie, tous les types de collecteurs sont utilisés.
collector_filter Spécifie le nom d'une section de collecteur au format regex. Par exemple, vcops_.* fait référence à toutes les sections de collecteur qui commencent par « vcops_ ».
event_filter Les filtres des champs d'événements utilisent la même syntaxe que les listes autorisées ou bloquées dans les sections de collecteur. Un agent n'envoie que les événements avec l'expression True ou une valeur non nulle. Un event_filter vide a toujours la valeur True. Pour utiliser event_filter sur des événements, vous devez définir un analyseur dans les sections de collecteur appropriées pour l'extraction de champs. Si une expression ne peut pas être évaluée en raison de l'absence de champs dans l'événement collecté, celui-ci est abandonné.

Vous pouvez spécifier plusieurs expressions de filtre en les séparant par une virgule, comme indiqué dans l'exemple suivant :

filter= 
{winlog;Micr.*;},{filelog;apache-access;level=="error"}

Si un message répond à plusieurs critères de filtre pour une cible de destination, il n'est envoyé qu'une seule fois.

Tableau 1. Exemples de syntaxe
Filtre Signification

filter= {winlog;Microsoft.*;}

Envoie des événements à partir de collecteurs winlog uniquement si le nom de l'événement commence par « Microsoft ».

filter= {winlog;Microsoft.*; eventid == 1023}

Envoie des événements à partir de collecteurs winlog uniquement si le nom de l'événement commence par « Microsoft » et si l'ID d'événement est égal à 1023.

filter= {;.*;}

Valeur de filtre par défaut. Envoie tous les événements depuis toutes les sources.
filter= {winlog;.*;} Envoie tous les événements depuis des sections winlog.
filter= {filelog;syslog;facility<5} Envoie des événements à partir de la section [filelog|syslog] si les installations sont inférieures à 5. Les sections [filelog|syslog] doivent disposer d'un analyseur qui extrait le champ d'installation. Sinon, tous les événements sont ignorés.
filter= {;;} Ne correspond à aucun événement. Utilisez cette syntaxe pour désactiver le transfert d’événements.

L'exemple suivant ajoute un filtre à la configuration de la deuxième destination de l'exemple précédent.

 

; The second destination receives just syslog events through the plain syslog protocol.
[server|syslog-audit]
hostname=third_party_audit_management.eng.vmware.com
proto=syslog
ssl=no
filter= {filelog; syslog; }

L'exemple suivant utilise une expression de filtre plus complexe.

; This destination receives vRealize Operations Manager events if they have the level field equal
;to "error" or "warning" and they are collected by sections whose name begins with "vrops-"

[server|licf-prod1]
hostname=vrops-errors.licf.vmware.com
filter= {; vrops-.*; level == "error" || level == "warning"}

Vous pouvez spécifier plusieurs expressions de filtre en les séparant par une virgule, comme indiqué dans l'exemple suivant.

filter= e.
{winlog;Micr.*;},{filelog;apache-access;level=="error"}