Ce document décrit Embedded Event Manager (EEM), qui est un outil de dépannage ajouté dans Adaptive Security Appliance (ASA) Version 9.2(1). La fonctionnalité est similaire à Cisco IOS ? basé sur EEM. Il s'agit d'un moyen efficace d'exécuter des commandes CLI basées sur des événements ASA (syslogs) et d'enregistrer les résultats. Ce document couvre une introduction à la fonctionnalité ainsi que quelques exemples d'applets EEM.
L'utilisation du module EEM nécessite que l'ASA soit configuré en mode de contexte unique.
Les informations de ce document sont basées sur la version 9.2(1) ou ultérieure d'ASA.
Cette section présente les directives et les limites de cette fonction.
Actuellement, EEM est uniquement pris en charge sur les pare-feu ASA qui fonctionnent en mode de contexte unique. Les pare-feu configurés en mode de contexte multiple ne sont pas actuellement pris en charge.
EEM est actuellement pris en charge dans les modes de pare-feu routé et transparent.
La commande event manager applet crée/modifie une applet event manager, un processus qui lie les événements aux actions et à la sortie. Le <nom> est limité à 32 caractères et ne peut pas contenir d'espaces. Ceci entre dans un sous-mode applet du gestionnaire d'événements.
ASA(config)# [no] event manager applet
Une description peut être ajoutée à une applet. Il n'a qu'un but informatif. Le <text> est limité à 256 caractères.
ASA(config-applet)# [no] description
Plusieurs événements peuvent être ajoutés à une applet qui déclenche l'applet pour appeler les actions qui y sont configurées. Ils sont définis avec le mot clé event. Plusieurs événements peuvent être configurés pour chaque applet.
Le premier type d'événement pris en charge est syslog. L'ASA utilise des ID Syslog afin d'identifier les Syslogs qui déclenchent une applet. Ceci est effectué par le mot clé id, qui peut être un syslog unique ou une plage. Le mot clé facultatif se produit indique le nombre de fois que le syslog doit se produire pour que l'applet soit appelée (la valeur par défaut est 1). Le mot clé période facultatif indique la durée, en secondes, pendant laquelle l'événement doit se produire. Elle limite la fréquence d'appel de l'applet à une seule fois la période configurée. Une occurrence de 5 avec une période de 30 signifie que le syslog doit se produire 5 fois dans les 30 secondes avant le déclenchement de l'événement. Si le syslog se produit 11 fois en 30 secondes, l'applet n'est déclenché qu'une seule fois. Une valeur de 0 pour la période signifie qu'aucune période n'est définie.
Plusieurs Syslogs peuvent être configurés, mais les plages ne peuvent pas se chevaucher.
ASA(config-applet)# [no] event syslog id[- ASA(config-applet)# no event syslog id] [occurs ]
[period] [- ]
La valeur de la occurrence <n> a une plage autorisée comprise entre 1 et 4294967295. La valeur de période <seconds> a une plage autorisée de 0 à 604800. Une valeur 0 (zéro) signifie qu'aucun point n'est configuré.
Dans cet exemple, EEM prend des mesures lorsqu'il détecte une condition de bloc de mémoire insuffisante. Si les blocs de 1 550 octets disponibles sont épuisés, il collecte show blocks pool 1550 dump et les enregistre sur le disque. Il le fait, au plus une fois toutes les 10 minutes.
event manager applet depletedblock
description "Take a snapshot of block output when it is depleted"
event syslog id 321007 period 600
action 1 cli command "show blocks pool 1550 dump"
output file rotate 10
Le module EEM peut également être configuré pour effectuer une action périodique. Lorsque vous configurez un événement basé sur le minuteur, utilisez le mot clé timer dans la configuration des événements. Il existe trois options basées sur le compteur :
ASA(config-applet)# [no] event timer absolute time
ASA(config-applet)# no event timer absolute
ASA(config-applet)# [no] event timer countdown time
ASA(config-applet)# no event timer countdown
ASA(config-applet)# [no] event timer watchdog time
ASA(config-applet)# no event timer watchdog
Par exemple, cette configuration d'événement envoie une requête ping à 192.168.1.100 toutes les 1 minute. Ceci pourrait être utilisé pour s'assurer qu'un tunnel VPN est maintenu et opérationnel même pendant les périodes de trafic inactif. Il utilise le minuteur de surveillance pour s'exécuter toutes les 60 secondes.
event manager applet period-event
description "Run a command once per minute"
event timer watchdog time 60
action 0 cli command "ping 192.168.1.100"
output none
Cette applet enregistre les informations d'allocation de bloc de mémoire toutes les heures et écrit la sortie dans un ensemble rotatif de fichiers journaux, puisqu'elle conserve une journée de journaux. Il utilise le minuteur de surveillance pour s'exécuter toutes les 1 heure.
event manager applet blockcheck
description "Log block usage"
event timer watchdog time 3600
output rotate 24
action 1 cli command "show blocks old"
Ces applets désactivent l'interface donnée (Gig 0/0) entre minuit et 3h du matin. Il utilise le minuteur absolu pour s'exécuter une fois par jour.
event manager applet disableintf
description "Disable the interface at midnight"
event timer absolute time 0:00:00
output none
action 1 cli command "interface GigabitEthernet 0/0"
action 2 cli command "shutdown"
action 3 cli command "write memory"
!
event manager applet enableintf
description "Enable the interface at 3am"
event timer absolute time 3:00:00
output none
action 1 cli command "interface GigabitEthernet 0/0"
action 2 cli command "no shutdown"
action 3 cli command "write memory"
Ces applets EEM peuvent également être appelées manuellement. Pour ce faire, l'applet doit configurer event none. Afin d'exécuter une applet manuellement, entrez la commande d'exécution du gestionnaire d'événements suivie du nom de l'applet. Si l'applet est configuré pour un mécanisme de déclenchement d'événement en dehors de 'none', la tentative d'exécution manuelle génère une erreur. Avec l'utilisation de l'un des exemples précédents, 's'est appauvri', vous voyez :
ASA# event manager run depletedblock
ERROR: Applet not configured with 'event none'
Les événements manuels peuvent être utilisés de la même manière qu'une macro. Par exemple, un événement manuel peut être utilisé pour exécuter quelques commandes dans l'ordre. Dans cet exemple, il enregistre la configuration, envoie une requête ping à un hôte et efface tous les désactivations.
event manager applet clean-up
event none
action 0 cli command "write mem"
action 1 cli command "ping 192.168.1.100"
action 2 cli command "clear shun"
output none
L'événement crashinfo déclenche une applet lorsqu'une panne se produit sur l'ASA. Quelle que soit la valeur de la commande output, les commandes action sont dirigées vers le fichier crashinfo. La sortie est générée avant que la partie show tech de crashinfo ne soit générée.
ASA(config-applet)# [no] event crashinfo
Lorsque l'applet est déclenché, les actions de l'applet sont exécutées. Chaque action a un ordinal qui est utilisé pour spécifier l'ordre des actions. Plusieurs actions peuvent être configurées par applet ; mais chaque ordinal ne peut être utilisé qu'une seule fois. Les commandes sont des commandes CLI typiques, telles que show blocks. Les devis sont fortement recommandés, mais ne sont pas obligatoires.
ASA(config-applet)# [no] actioncli command " ASA(config-applet)# no action"
La valeur de l'identificateur d'action <n> est comprise entre 0 et 4294967295. La valeur de la <commande> doit être citée, sinon une erreur se produit si la commande se compose de plusieurs mots. La commande est exécutée en mode de configuration en tant qu'utilisateur avec un niveau de privilège 15 (le plus élevé). La commande peut ne pas accepter d'entrée ; comme entrée sera désactivée si une commande a l'option noconfirm. Cela doit être utilisé car les commandes ne sont pas traitées de manière interactive.
La sortie des actions peut être dirigée vers un emplacement spécifié via la commande output. Une seule valeur de sortie peut être activée à la fois. La valeur par défaut est output none. Cette valeur ignore tout résultat des commandes action.
ASA(config-applet)# [no] output none
La commande output console envoie le résultat des commandes action à la console.
ASA(config-applet)# [no] output console
La commande output file dirige le résultat des commandes action vers les fichiers. Quatre options peuvent être utilisées. La nouvelle option écrit la sortie de l'applet dans un nouveau fichier pour chaque appel. Le nom de fichier a le format eem-<applet>-<timestamp>.log. Où <applet> est le nom de l'applet et <timestamp> est un horodatage daté au format AAAA-MJJ-hmss.
ASA(config-applet)# [no] output file new
L'option rotate est utilisée pour créer un ensemble de fichiers qui sont tournés comme le mécanisme de rotation du journal de Linux. Le format du nom de fichier est eem-<applet>-<x>.log. Où <applet> est le nom de l'applet et <x> le numéro de fichier. Le fichier le plus récent est indiqué par le numéro 0 (zéro) et le fichier le plus ancien par le numéro le plus élevé (<n>-1). Lorsqu'un nouveau fichier doit être écrit, le fichier le plus ancien est supprimé et tous les fichiers suivants sont renumérotés avant l'écriture du 0e fichier.
ASA(config-applet)# [no] output file rotate
La valeur de rotation <n> est comprise entre 2 et 100.
L'option overwrite est utilisée pour toujours écrire la sortie de la commande action dans un fichier unique tronqué à chaque fois.
ASA(config-applet)# [no] output file overwrite
L'option append est utilisée pour toujours écrire la sortie de la commande action dans un seul fichier, mais ce fichier est ajouté à chaque fois.
ASA(config-applet)# [no] output file append
L'argument <filename> est un nom de fichier local (à l'ASA). La commande overwrite peut également utiliser ftp :, tftp: et smb : fichiers ciblés.
EEM peut également être configuré à partir de l'ASDM. Choisissez Configuration > Device Management > Advanced > Embedded Event Manager. Dans cette section de l'ASDM, vous pouvez configurer vos applets EEM avec les mêmes paramètres que ceux décrits précédemment. Après avoir configuré une applet, cliquez sur Apply pour transmettre la configuration à l'ASA.
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
Toutes ces commandes sont utilisées en mode d’exécution.
Cette commande affiche la configuration en cours du système du gestionnaire d'événements.
ASA# show running-config event manager
Cette commande exécute une applet du gestionnaire d'événements qui a été configurée avec event none. Si vous exécutez une applet qui n'a pas été configurée avec event none, une erreur est signalée.
ASA# event manager run
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
16-Jul-2014 |
Première publication |