Kod 1-misol: takroriy yo'q qilish/siqish bilan oddiy voqea ogohlantirishi # syslog-ng metama'lumotlari
# filtr: xost("amdftp") va match("disk to'liq xato");
while() {
if($variable_server->get_scalar("ftp_disk_full") == 0) {
mening % ishim = (
boshlash
navbat
harakat
parametrlar => [ $manzil, $subject, $msg, $name ]
=> vaqt(),
=> "elektron pochta",
=> send_mail,
);
if($action_server->add(%job)) {
# skalerlar ixtiyoriy qiymatlarga o'rnatilishi mumkin (ikkinchi parametr), lekin
# vaqti tugagach, har doim 0 ni qaytaradi. $variable_server-
>set_scalar("ftp_disk_full", 1, "+3600");
}
}
}
In
Kod misoli 2, yanada murakkab hodisa korrelyatsiyasi
namoyon bo'ladi. [1] dan keyin ushbu kod misoli "Hodisa
mazmunini tahlil qilish bo'yicha hisobot" va "Bir nechta
xostlar bo'ylab sodir bo'lgan bir xil hodisalarni aniqlash"
funksiyalarini namoyish etadi. Ushbu misolda VTEC
barcha xostlardan "NFS server javob bermayapti"
xabarlarini kuzatish uchun tuzilgan va ma'lum bir fayl
serveri uchun ushbu xabarni bildiruvchi noyob tizimlar
soni ma'lum besh daqiqalik vaqt ichida 50 dan oshsa,
ogohlantiradi.
Keyin qoida mexanizmi ushbu ogohlantirishni qo'lga kiritishi va chora ko'rishi
mumkin.
Koddan so'ng, jurnal xabarlari STDIN dan oqib chiqayotganda, ular
biz filtrlaydigan uchta turdan biri ekanligi tekshiriladi. Asosiy faylni
pastga/yuqori holatida, o'zgaruvchi serveriga kalit sifatida
ta'sirlangan fayl serverining nomidan foydalanib, tegishli ro'yxat
o'zgaruvchisini yangilash kerakligi aytiladi. Har bir urish uchun vaqt
tugashi besh daqiqaga o'rnatiladi. Kontseptual ravishda, bu bizda
fayl serveri nomi bilan indekslangan ikki guruh oshiruvchilarga ega
bo'lishini anglatadi. Har bir oshiruvchining qiymati bizga taxminan
qancha xostlar bir vaqtning o'zida ushbu server uchun berilgan holat
haqida xabar berishini ko'rsatadi (har bir xost faqat har besh yoki
undan ko'p daqiqada bir marta "javob bermayapti" yoki "OK"
xabarini xabar qiladi deb hisoblaymiz). Agar xabar chegara xabari
bo'lsa, biz qilishimiz kerak bo'lgan narsa chora ko'rish - bu holda,
ta'sirlangan fayl haqida elektron pochta xabarini yuboring.
Birinchidan, syslog-ng metama'lumotlari bu safar biroz
ko'proq ishtirok etganiga e'tibor bering. Biz uchta turdagi
xabarlarni qoida mexanizmiga filtrlaymiz:
XXX server javob
bermayapti, XXX server OK,
va chegara xabarlari. Eshik
xabarlari muhim: qoida mexanizmi ishga tushganda
belgilangan_ro'yxat_eshigi
usuli ishga tushirilganda,
o'zgaruvchan server ushbu ro'yxat uchun soatni o'rnatadi.
Bunday holda, biz unga ikkita ro'yxatni ko'rishni aytamiz,
file_down
va
file_up,
va agar ulardan birida bitta kalitning
qiymati 50 dan oshsa, ogohlantirish yuborish.
Ushbu misol bilan tushunish kerak bo'lgan muhim
narsa, bu korrelyatsiyaga erishilgan nisbiy soddaligi,
ayniqsa [1] ning 9-rasmidagi xuddi shu misol bilan
solishtirganda. Umumiy funksionallik samarali bo'lsa-da,
xuddi shunday, asosiy Perl-ni o'qiy oladigan har qanday tizim boshqaruvchisi
VTEC qoida mexanizmini sharhlash, o'zgartirish va foydalanish imkoniyatiga ega
bo'lishi kerak; SECda bir xil funksionallik juda ko'p
hatto tajribali dasturchi uchun ham tushunish
qiyinroq.