EQL لغة استعلام محرك SKOOR

يمكن البحث عن الكائنات أو يمكن تصفية قائمة الكائنات المرئية حاليًا باستخدام لغة استعلام محرك SKOOR EQL. يكون سطر الأوامر مخفيًا بشكل افتراضي ولكن يمكن فتحه/إغلاقه بالنقر على زر EQL في الزاوية اليمنى السفلية من جزء النافذة الأيمن أو الأيسر حسب السياق:


يتم تنفيذ سطر الأوامر EQL في طريقة عرض التكوين ولكن يمكن استخدامه أيضًا ضمن بحث عرض المسؤول. على سبيل المثال، لعرض جميع مهام ICMP أسفل الكائن الحالي، أدخل استعلام EQL التالي في حقل إدخال الاستعلام:

بناء الجملة

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

أمر

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

Object-type

device, job, SLO, ... أو * لأي

WHERE 

كلمة المفتاح

Variable

تتطلب المتغيرات التالية سلسلة كقيمة: Name ، subtype ، address ، ، netmask, property("propertyname")
يتطلب المتغير التالي قيمة عددية: id
يتطلب المتغير التالي حالة كقيمة: state

Operator

=، != ، ~= ، ، ^= ، إلخ (انظر أدناه)

Value

سلسلة (بعلامات اقتباس "...")، أو رقم (بدون علامات اقتباس) أو حالة (بدون علامات اقتباس).
تُحلل السلاسل (بعلامات اقتباس) مثل سلاسل C ويجب أن يتم تحريرها بنفس الطريقة. يجب أن تكون ريجكس "\d{2}$" على النحو التالي: "\\d{2}$". \n ، \b وما إلى ذلك يمكن استخدامه أيضًا ("\n" يستخدم للهروب من "newline").

AND / OR

كلمة رئيسية لعدة شروط WHERE

أوامر EQL

GET

قائمة الكائنات

أوامر EQL الإضافية للوظائف

الأمر

الوظيفة

CHECK

تنفيذ عملية check now على المهام

START

بدء المهمة (المهام)

STOP

إيقاف المهمة (المهام)

DELETE

حذف المهمة (المهام) (فقط للمستخدمين من نوع مسؤول)

SET TO OK

تعيين حالة المهمة (المهام) إلى OK

SET TO WARNING

تعيين حالة المهمة (المهام) إلى Warning

SET TO MINOR

تعيين حالة المهمة (المهام) إلى Minor

SET TO NO DATA

تعيين حالة المهمة (المهام) إلى No Data

SET TO MAJOR

تعيين حالة المهمة (المهام) إلى Major

SET TO UNDEFINED

تعيين حالة المهمة (المهام) إلى Undefined

SET TO MAINTENANCE OK

تعيين حالة المهمة (المهام) إلى Maintenance OK

SET TO MAINTENANCE WARNING

تعيين حالة المهمة (المهام) إلى Maintenance Warning

SET TO MAINTENANCE MINOR

تعيين حالة المهمة (المهام) إلى Maintenance Minor

SET TO MAINTENANCE NO DATA

تعيين حالة المهمة (المهام) إلى Maintenance No Data

SET TO MAINTENANCE MAJOR

تعيين حالة المهمة (المهام) إلى Maintenance Major

RESET

إعادة تعيين حالة المهمة (المهام) إلى حالتها الأصلية


إذا عثر استعلام الأمر CHECK على أكثر من 50 مهمة، فسيتم تنفيذ check now على أول 50 مهمة وجدولة بقية المهام التي تم العثور عليها لفحصها في الخلفية لتجنب مزامنة الكثير من المهام.

بعد تشغيل على سبيل المثال CHECK job WHERE subtype="icmp" ، يتم تغيير سطر الأوامر تلقائيًا إلى GET job WHERE subtype="icmp".

تعمل جميع الأوامر المذكورة أعلاه بشكل متكرر، مما يعني أن جميع الكائنات الموجودة أسفل الكائن المحدد حاليًا والتي تتطابق مع المعايير يتم العمل عليها.

عوامل تشغيل EQL

=

يساوي

!=

لا يساوي

>=

أكبر من أو يساوي

>

أكبر من

<=

أقل من أو يساوي

<

أقل من

عوامل إضافية للسلاسل

~=

تطابق

^=

يبدأ ب

~~

يحتوي على

$=

ينتهي ب

!~

لا يتطابق مع

!^

لا يبدأ ب

!!

لا يحتوي على

!$

لا ينتهي ب

عوامل تشغيل إضافية للخصائص

is defined

is not defined

عوامل إضافية للمهام والمجدولات

is stopped

تم إيقافه

is not stopped

يتم تشغيله

أمثلة EQL

الأمر

الوظيفة

GET *

جميع الكائنات (افتراضي)

GET job

جميع المهام

GET device

جميع الأجهزة

GET * where id = 10

جميع الكائنات ذات id 10

GET * WHERE name = "foo"

جميع الكائنات ذات name "foo"

GET job WHERE name ^= "client-"

جميع المهام التي تبدأ name ب "client"

GET job WHERE name $= "-snmp"

جميع المهام التي تنتهي name ب "-snmp"

GET job WHERE state != ok

جميع المهام ذات الحالة غير موافق عليها

GET slo WHERE name ~~ "DNS"

جميع الوظائف التي تحتوي على name "DNS"

GET job WHERE subtype = "icmp"

جميع مهام ICMP

GET job WHERE execution is not stopped

جميع الوظائف التي بدأت حاليًا

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

جميع وظائف IMAP التي تحتوي name على "Mail"

GET device WHERE address = "10.1.0.155"

جميع الأجهزة التي تحتوي على address "10.1.0.155"

GET device WHERE address ^= "10.1.1"

جميع الأجهزة التي يبدأ حقلها address بـ "10.1.1"

GET device WHERE state = no data

جميع الأجهزة في الحالة No Data

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

جميع الأجهزة التي يتطابق فيها name مع التعبير العادي

GET slo WHERE state = minor OR state = major 

جميع الأجهزة في الحالات الصغرى أو الرئيسية

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

جميع الأجهزة التي تتطابق خاصيتها owner "Joe"

GET job WHERE property("service_kpi") IS DEFINED

جميع الأجهزة التي تم تعيين الخاصية service_kpi بها

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

جميع الأجهزة

GET scheduler WHERE execution is stopped

جميع المجدولات المتوقفة

START job WHERE subtype = icmp

بدء جميع مهام ICMP

STOP job WHERE name ^= "server"

إيقاف جميع المهام التي يبدأ اسمها ب "server"

SET TO OK job WHERE subtype = "execute"

تعيين كافة مهام التنفيذ إلى الحالة OK

SET TO MAINTENANCE MAJOR job where subtype="parsefile"

تعيين جميع مهام ملف التحليل إلى الحالة Maintenance Major


باستخدام EQL يمكن للمرء بسهولة ربط مجموعة من الكائنات أسفل مجموعة أو SLO.

مثال: ربط جميع الموجهات والمفاتيح بخدمة SLO /root/Customer/Services/SLOs/Network

  1. اختر Edit dependency من القائمة المنسدلة لخدمة شبكة SLO

  2. انتقل إلى /root/Customer/Devices في النافذة الموجودة على الجانب الأيمن

  3. انقر فوق الزر EQL في الزاوية اليمنى السفلى من النافذة على الجانب الأيمن

  4. أدخل استعلام البحث: GET device WHERE subtype = "router" OR subtype = "switch"

  5. حدد جميع الأجهزة بالنقر فوق خانة الاختيار الموجودة في أعلى القائمة

  6. انقر فوق أحد الأسهم إلى اليسار. يجب أن تظهر جميع الأجهزة الآن في النافذة اليسرى

  7. قم بالتأكيد بالنقر فوق الزر موافق


بحث سريع باستخدام مشغلي EQL

تتوفر أيضًا مشغلات EQL التالية للبحث في مربع نص البحث السريع لمحرك SKOOR في رأس طريقة عرض تكوين محرك SKOOR:

=

يساوي

!=

لا يساوي

~=

يتطابق

^=

يبدأ ب

~~

يحتوي على

$=

ينتهي ب

!~

لا يتطابق مع

!^

لا يبدأ ب

!!

لا يحتوي على

!$

لا ينتهي ب

أمثلة:

سلسلة البحث

البحث في جميع

id=15

الكائنات التي يكون فيها id هو 15

addr=192.168.1.2

الأجهزة ذات العنوان المحدد

=dns01

الكائنات التي تحتوي على name = "dns01"

^=dns

كائنات ذات name تبدأ بـ "dns"

$=01

كائنات ذات name تنتهي بـ "01"

!$01

كائنات ذات name لا تنتهي بـ "01"

!!dns

كائنات ذات name لا تحتوي على "dns"

~=DNS.*ch

كائنات مع name تحتوي على "DNS" "ch"

~=^DNS.*ch$

كائنات تحتوي على name تبدأ ب "DNS" وتنتهي بـ "ch"

~=dns\d\d$

كائنات تحتوي على name تحتوي على "dns" متبوعة برقمين