EQL : SKOOR Engine Query Language (langage d'interrogation du moteur)

Les objets peuvent être recherchés ou la liste des objets actuellement visibles peut être filtrée à l'aide du langage de requête SKOOR Engine Query Language (EQL). La ligne de commande est masquée par défaut, mais peut être ouverte/fermée en cliquant sur le bouton EQL situé dans le coin inférieur droit du volet gauche ou droit de la fenêtre, selon le contexte :


La ligne de commande EQL est implémentée dans la vue de configuration, mais peut également être utilisée dans la recherche de la vue d'administration. Par exemple, pour afficher toutes les tâches ICMP sous l'objet actuel, entrez la requête EQL suivante dans le champ de saisie de la requête :

Syntaxe

COMMAND Object-type WHERE variable Operator value [AND|OR variable Operator value]

COMMAND

GET / CHECK / START / STOP / DELETE / SET / RESET

Object-type

device, job, SLO, ... ou * pour tout

WHERE 

Mot-clé

Variable

Les variables suivantes nécessitent une chaîne de caractères comme valeur : Name , subtype , address , netmask ,property("propertyname")
La variable suivante nécessite une valeur numérique :id
La variable suivante nécessite un état comme valeur : state

Operator

= , != , ~= , ^= , etc. (voir ci-dessous)

Value

Une chaîne (avec des guillemets "..."), un nombre (sans guillemets) ou un état (sans guillemets).
Les chaînes (entre guillemets) sont analysées comme des chaînes C et doivent être échappées de la même manière. L'expression régulière "\d{2}$" doit être saisie sous la forme "\\d{2}$". \n , \b etc. peuvent également être utilisés ("\n" est utilisé pour échapper un "newline").

AND / OR

Mot-clé pour les conditions d'WHERE multiples

Commandes EQL

GET

liste d'objets

Commandes EQL supplémentaires pour les tâches

Commande

Fonction

CHECK

Exécuter une opération d'check now sur les tâches

START

Démarrer le(s) travail(s)

STOP

Arrêter la ou les tâches

DELETE

Supprimer des tâches (uniquement pour les utilisateurs de type Administrateur)

SET TO OK

Définir l'état des tâches sur « en cours d'OK »

SET TO WARNING

Définir l'état des tâches sur « en cours d'Warning »

SET TO MINOR

Définir l'état des tâches sur « en cours d'Minor »

SET TO NO DATA

Définir l'état des tâches sur « en cours d'No Data »

SET TO MAJOR

Définissez l'état du ou des travaux sur «Major» (En cours de traitement).

SET TO UNDEFINED

Définir l'état du ou des travaux sur « Undefined »

SET TO MAINTENANCE OK

Définir l'état du ou des travaux sur « Maintenance OK »

SET TO MAINTENANCE WARNING

Définir l'état du ou des travaux sur « Maintenance Warning »

SET TO MAINTENANCE MINOR

Définir l'état du ou des travaux sur « Maintenance Minor »

SET TO MAINTENANCE NO DATA

Définir l'état du ou des travaux sur « Maintenance No Data »

SET TO MAINTENANCE MAJOR

Définir l'état des tâches sur « Maintenance Major »

RESET

Réinitialiser l'état des tâches à leur état d'origine


Si une requête de commande CHECK trouve plus de 50 tâches, elle exécutera check now sur les 50 premières tâches et planifiera les tâches restantes pour qu'elles soient vérifiées en arrière-plan afin d'éviter la synchronisation d'un trop grand nombre de tâches.

Après avoir exécuté par exemple CHECK job WHERE subtype="icmp", la ligne de commande est automatiquement remplacée par GET job WHERE subtype="icmp".

Toutes les commandes ci-dessus fonctionnent de manière récursive, ce qui signifie que toutes les entrées situées sous l'entrée actuellement sélectionnée et qui correspondent aux critères sont traitées.

Operateurs EQL

=

égal

!=

n'est pas égal à

>=

supérieur ou égal

>

supérieur

<=

inférieur ou égal

<

inférieur à

Operateurs supplémentaires pour les chaînes

~=

correspond

^=

commence par

~~

contient

$=

se termine par

!~

ne correspond pas

!^

ne commence pas par

!!

ne contient pas

!$

ne se termine pas par

Operateurs supplémentaires pour les propriétés

is defined

is not defined

Operateurs supplémentaires pour les tâches et les Schedulers

is stopped

est arrêté

is not stopped

est démarré

Exemples EQL

Commande

Fonction

GET *

tous les objets (par défaut)

GET job

tous les travaux

GET device

tous les appareils

GET * where id = 10

tous les objets avec id 10

GET * WHERE name = "foo"

tous les objets avec l'name "foo"

GET job WHERE name ^= "client-"

tous les travaux dont l'name commence par "client"

GET job WHERE name $= "-snmp"

tous les travaux dont l'name se termine par "-snmp"

GET job WHERE state != ok

tous les travaux dont l'état n'est pas OK

GET slo WHERE name ~~ "DNS"

tous les SLO dont l'name contient "DNS"

GET job WHERE subtype = "icmp"

tous les travaux ICMP

GET job WHERE execution is not stopped

tous les travaux actuellement démarrés

GET job WHERE name ~~ "Mail" AND subtype = "Imap"

tous les travaux IMAP dont l'name contient "Mail"

GET device WHERE address = "10.1.0.155"

tous les périphériques dont l'address est "10.1.0.155"

GET device WHERE address ^= "10.1.1"

tous les périphériques dont le champ address commence par "10.1.1"

GET device WHERE state = no data

 tous les appareils dans l'état No Data

GET device WHERE name ~= "\\d{2}$"

tous les appareils dont name correspond à l'expression régulière

GET slo WHERE state = minor OR state = major 

tous les SLO dans les états Minor ou Major

GET device WHERE property("owner") = "Joe" 

tous les appareils dont la propriété owner correspond à "Joe"

GET job WHERE property("service_kpi") IS DEFINED

tous les travaux dont la propriété service_kpi est définie

GET device WHERE property("Green, Blue or Red") = "Red"

tous les appareils

GET scheduler WHERE execution is stopped

tous les Schedulers arrêtés

START job WHERE subtype = icmp

démarrer tous les travaux ICMP

STOP job WHERE name ^= "server"

arrêter toutes les tâches dont le nom commence par "server"

SET TO OK job WHERE subtype = "execute"

définir tous les travaux d'exécution sur l'état « OK »

SET TO MAINTENANCE MAJOR job where subtype="parsefile"

définir tous les travaux parsefile sur l'état Maintenance Major


À l'aide d'EQL, il est facile de lier un ensemble d'objets sous un groupe ou un SLO.

Exemple : relier tous les routeurs et commutateurs au service SLO /root/Customer/Services/SLOs/Network

  1. Choisissez Edit dependency dans la liste déroulante du service réseau SLO

  2.  Accédez à /root/Customer/Devices dans la fenêtre de droite

  3. Cliquez sur le bouton EQL dans le coin inférieur droit de la fenêtre de droite

  4. Saisissez la requête de recherche : GET device WHERE subtype = "router" OR subtype = "switch"

  5. Sélectionnez tous les appareils en cochant la case supérieure

  6. Cliquez sur l'une des flèches à gauche. Tous les appareils devraient maintenant être visibles dans la fenêtre de gauche

  7. Confirmez en cliquant sur le bouton OK


Recherche rapide avec les opérateurs EQL

Les opérateurs EQL suivants sont également disponibles pour la recherche dans la zone de texte de recherche rapide SKOOR Engine située dans l'en-tête de la vue de configuration SKOOR Engine :

 =

égal à

!=

n'est pas égal à

~=

correspond

^=

commence par

~~

contient

$=

se termine par

!~

ne correspond pas

!^

ne commence pas par

!!

ne contient pas

!$

ne se termine pas par

Exemples :

Chaîne de recherche

Recherche tous les

id=15

les objets dont l'id est 15

addr=192.168.1.2

des appareils avec une adresse spécifique

=dns01

objets dont l'name est "dns01"

^=dns

les objets dont l'name commence par "dns"

$=01

objets dont l'name se termine par "01"

!$01

les objets dont l'name ne se termine pas par "01"

!!dns

objets avec name ne contenant pas "dns"

~=DNS.*ch

objets dont l'name contient "DNS" "ch"

~=^DNS.*ch$

objets dont l'name commence par "DNS" et se termine par "ch"

~=dns\d\d$

objets dont l'namee contient "dns" suivi de 2 chiffres