Log Analysis and Event Correlation Using Variable Temporal Event Correlator (vtec)

O'zgaruvchan vaqtinchalik hodisalar korrelyatori (VTEC)
yordamida jurnalni tahlil qilish va hodisalar korrelyatsiyasi
Pol Krizak -
Advanced Micro Devices, Inc.
paul.krizak@amd.com
ANTRACT
Tizim ma'murlari o'z muhitlarini kuzatish va avtomatlashtirish uchun o'nlab yillar davomida jurnal tahlilidan foydalanganlar. Hisoblash
muhitlari o'sib borishi va jurnallarning hajmi va hajmi oshgani sayin, Swatch kabi an'anaviy vositalardan foydalangan holda avtomatlashtirishni
yoqish uchun o'z vaqtida, foydali ma'lumotlarni va tegishli triggerlarni olish qiyinlashadi. Bulutli hisoblash bu muammoni kuchaytirmoqda,
chunki ma'lumotlar markazlaridagi tizimlar soni keskin ortib bormoqda. AMD da ushbu muammolarni hal qilish uchun biz Variable Temporal
Event Correlator yoki VTEC deb nomlangan vositani ishlab chiqdik.
VTEC o'ziga xos ko'p bosqichli/ko'p jarayonli dizayn, moslashuvchan va kengaytiriladigan dasturlash interfeysi, o'rnatilgan ish navbati
va voqealar haqidagi vaqtinchalik ma'lumotlarni saqlash va tavsiflashning yangi usuli kabi noyob dizayn xususiyatlariga ega bo'lib,
ularga tezda mos keladi. va real vaqt rejimida hodisalarni korrelyatsiya qilish bo'yicha keng ko'lamli vazifalarni samarali bajarish. Bu
xususiyatlar, shuningdek, VTEC-ga kuniga o'nlab gigabayt jurnal ma'lumotlarini qayta ishlash imkonini beradi. Ushbu maqola AMD da
to'rt yildan ortiq ishlab chiqarilgan ushbu vositaning arxitekturasi, ishlatilishi va samaradorligini tavsiflaydi.
Teglar: xavfsizlik, vaziyatni o'rganish, syslog, log tahlili, voqealar korrelyatsiyasi, vaqtinchalik o'zgaruvchilar
1.Kirish
VTEC, shuningdek, vaqtinchalik hodisa ma'lumotlarini taqdim
etishning yangi usulini taqdim etadi; bu tuzilmalar deyiladi
vaqtinchalik o'zgaruvchilar. Vaqtinchalik o'zgaruvchilar hodisalar
haqidagi vaqtinchalik ma'lumotlarni, masalan, o'zgarish chastotasi
va tezligini, voqea-korrelyatsiya qoidalarini yaratishda darhol foydali
bo'lgan tarzda ifodalash uchun tuzilgan. Ushbu qoidalar qoidaning
o'zida qo'shimcha ishlov berishni talab qilmasdan vaqtinchalik
ma'lumotlardan foydalanishi mumkin.
Jurnal tahlili yirik bulutli hisoblash muhitlarini samarali
avtomatlashtirish uchun muhim komponent hisoblanadi. Bulutlar
o'sib borishi bilan, apparatning ishlamay qolishi kabi kundalik
operatsion vazifalar ma'lumotlar markazining operatsion xodimlari
uchun ortib borayotgan yukga aylanadi. Bundan tashqari, katta
bulutlarda paydo bo'ladigan xatti-harakatlar odatda tashxis qo'yish
qiyin bo'lgan noodatiy muammolarni keltirib chiqaradi. Ushbu
muammolar tizimga texnik xizmat ko'rsatish va xizmat ko'rsatishda
yanada murakkab avtomatlashtirish usullarini talab qiladi. SEC [1,2]
va Splunk [3] kabi zamonaviy echimlar katta log hajmlariga o'tkazish
va murakkab korrelyatsiyalarni amalga oshirishda juda yaxshi ish
qildi, ammo ularning kamchiliklari bor. Ushbu maqola biz AMD da
ishlab chiqilgan Variable Temporal Event Correlator yoki VTEC deb
nomlangan muqobil yechimni taqdim etadi.
Va nihoyat, VTEC voqealarga javoban ishlab chiqarilgan harakatlarni
toifalarga ajratish, rejalashtirish va ustuvorlashtirish imkonini beruvchi
o'rnatilgan ish rejalashtiruvchisini o'z ichiga oladi. Bu foydalanuvchiga
jurnal tahlili natijasida hosil bo'ladigan harakatlar ketma-ketligi va
ustuvorliklarini avvalgidan ko'ra yaxshiroq nazorat qilish imkonini beradi.
Ushbu maqola quyidagicha tashkil etilgan: 2-bo'lim VTECni
yaratishga turtki bo'lgan hisoblash muhiti va jurnalni tahlil qilish
ehtiyojlarini tavsiflaydi. 3-bo'lim VTEC ichki arxitekturasini
tavsiflaydi. 4-bo'limda VTEC dan hisoblash muhitida turli xil
hodisalarni o'zaro bog'lash uchun qanday foydalanish
mumkinligini ko'rsatadigan bir nechta "qoida dvigatellari" misoli
batafsil bayon etilgan. 5-bo'lim qisqacha tavsiflanadi
AMD VTEC-ni ko'p yadroli va ko'p tizimli miqyoslilikni
hisobga olgan holda ishlab chiqdi. Tizimdagi har bir mavjud
protsessor siklidan foydalanish uchun deyarli har bir
komponent ko'p jarayonli va/yoki ko'p tarmoqli. Agar kerak
bo'lsa, har bir komponent yukni taqsimlash uchun o'z
mashinasida izolyatsiya qilinishi mumkin.
Translated from English to Uzbek - www.onlinedoctranslator.com
AMD da amalga oshirilgan ba'zi foydali qoidalar dvigatellari. 6-
bo'limda log trafigining ortishi bilan ishlash va masshtablash uchun
dizayn muhokama qilinadi. 7-bo'limda VTEC-dan foydalanishda
hozirda duch keladigan muammolar va takomillashtirish yo'nalishlari
tasvirlangan.
AMD da qoʻllanilgan birinchi avtomatlashtirilgan jurnalni tahlil qilish
vositalaridan biri Swatch edi [7]. Swatch juda ko'p reaktsion log tahlil
tizimi. Muayyan oddiy iboraga mos keladigan hodisalar administratorga
elektron pochta xabari kabi hodisalarni keltirib chiqarishi mumkin. AMD-
da suv toshqini oldini olishning oddiy tartiblari ko'pincha muhim
voqealarni o'tkazib yuborishga sabab bo'ldi, qoida tariqasida suv toshqini
taymerining amal qilish muddati tugashini kutib turdi. Bunga qo'shimcha
ravishda, Swatch bir torli bo'lib, shuning uchun AMD ning doimiy ravishda
o'sib borayotgan jurnal hajmiga (odatiy saytda taxminan 10 Gb/kun)
o'lchov qila olmadi.
2 Fon
Hisoblash muhitlari hajmi o'sishda davom etar ekan, tarmoqda
sodir bo'layotgan turli hodisalarni kuzatib borish tobora
qiyinlashib bormoqda. Tizimlar jamoasi qattiq disk yoki
xotiraning ishdan chiqishini qanday qayd etadi va kuzatadi? Yoki
minglab hisoblash tugunlaridan biri yadro vahimasiga duchor
bo'lganda? Bundan ham murakkab vazifa katta kompyuterlar
tarmog'ining muqarrar paydo bo'ladigan xatti-harakatlarini hal
qilishdir. Tizimlardagi zararsiz ko'rinadigan o'zgarishlar
(masalan, tarmoq tugunlariga oddiy cronjob qo'shish)
kutilmagan oqibatlarga olib kelishi mumkin (masalan, NIS/LDAP
serverlarini ortiqcha yuklash).
Taxminan 2006 yilda, AMD ning hisoblash tarmoqlari tez sur'atlar
bilan o'sib borayotganligi sababli, kompaniya eskirgan Swatch
o'rnatilishi endi samarali emasligini aniqladi va almashtirish jurnalini
monitoring qilish va tahlil qilish tizimini joriy qilish bo'yicha loyihani
ijaraga oldi. Loyihaning parametrlari quyidagilar edi:
Kuniga o'nlab gigabayt log ma'lumotlarini o'lchash Bir
nechta protsessorlardan foydalaning (AMD strategiyasi ko'p
yadroli hisoblashni o'z ichiga oladi)
Haqiqiy vaqtda minglab tizimlar bo'ylab voqealarni o'zaro bog'lash
imkoniyatiga ega bo'ling (to'plamni qayta ishlashsiz)
Tizimni ta'mirlash bo'yicha ishlar va elektron pochta xabarlarini ustuvorlashtirish va navbatga
qo'yish imkoniyatiga ega bo'ling
Muhim voqealarni o'tkazib yubormasdan ogohlantirishlarning toshqinlarini
oldini oling
O'zboshimchalik bilan jurnal oqimlaridagi voqealarni o'zaro bog'lash
(masalan, FlexLM litsenziyasi demon jurnallari)
Korrelyatsiya qoidalarini o'qish, o'zgartirish va yaratish oson bo'lishiga ishonch
hosil qiling
Ushbu katta, doimiy o'zgaruvchan va murakkab hisoblash muhitida
ko'plab tashkilotlar (jumladan, AMD) tizim boshqaruvchilari atrof-
muhitni barqaror saqlash uchun ko'rsatishi kerak bo'lgan sa'y-
harakatlarni kamaytirish uchun avtonom hisoblash amaliyotiga [4]
murojaat qilishdi. Buning tizim va OT konfiguratsiyasi jihati mavjud
bo'lib, unda Cfengine [5] kabi vositalar avtonom xatti-harakatlarni
faollashtirishi mumkin. Biroq, g'ayritabiiy yoki qiziqarli hodisalarni
aniqlash, ularni o'zaro bog'lash va odamlarni ogohlantirish yoki
muammoni tuzatish uchun avtomatik choralar ko'rish haqida gap
ketganda, hali ham bo'shliq mavjud.
Katta Linux/UNIX hisoblash tarmoqlari kontekstida xom hodisa
ma'lumotlari odatda syslog orqali mavjud. Standart syslog
demonlari, shuningdek, syslog-ng [6] kabi ilg'or bo'lganlar jurnal
ma'lumotlarini markaziy serverga yuborish imkoniyatiga ega.
Shunday qilib, tahlil qilish uchun etarlicha xom ma'lumot to'plash
kamdan-kam hollarda qiyin. Biroq, bu ma'lumotlarning hajmi
ko'pincha muammo tug'diradi: shunchalik ko'p ma'lumotlar
yig'iladiki, undan foydali ma'lumotlarni tahlil qilish va ajratib olish
qiyinlashadi.
O'sha paytda SEC [1] va Splunk [3] maqsadlarga erishish uchun
asosiy komponentlar sifatida mashhur tanlov edi. AMD
ikkalasini ham sinchkovlik bilan sinovdan o'tkazdi va oxir-oqibat
uyda ishlab chiqarilgan tizim eng yaxshi bo'lishiga qaror qildi.
SEC juda kuchli va moslashuvchan vosita edi (hali ham shunday),
lekin yozish qoidalarini o'rganish egri chizig'i uning qoidalari
juda tik. Buni [1] ko'rsatdi, bu aslida SECni "demisify" qilishi
kerak edi. Biroq, hatto o'rtacha darajada murakkab SEC
qoidalari ham undan foydalanishni bilmagan tizim
boshqaruvchilari tomonidan tushunarsiz deb topildi.
So'nggi bir necha yil ichida jurnallarni tahlil qilish va hodisalarni
korrelyatsiya qilish uchun bir qator vositalar ishlab chiqildi. Fedora
kabi ba'zi Linux distributivlari Logwatch [8] yordam dasturi
o'rnatilgan holda yetkazib beriladi. Logwatch tizim jurnali fayllarini
muntazam ravishda tahlil qiladi va elektron pochta orqali foydali,
odamlar o'qiy oladigan hisobotlarni taqdim etadi. Logwatch-dan
foydalanganda, tizim boshqaruvchilari elektron pochta orqali
o'tishlari va hodisalarni qo'lda korrelyatsiya qilishlari kerak, shuning
uchun u bir nechta serverlardan tashqariga chiqmaydi.
Splunk biz kutgan log-trafik hajmini boshqarish uchun etarlicha
mustahkam indekslash tizimiga ega emas edi. Splunk orqali
atigi bir necha yuz megabayt syslog ma'lumotlarini
yo'naltirgandan so'ng, Splunk ishlab chiquvchilari yordamida bir
necha hafta davomida sozlashga qaramay, indeksator to'g'ri
ishlashni to'xtatadi. Nihoyat, voqealar korrelyatsiyasi
xususiyatlari Swatch-ga o'xshash funksionallik bilan cheklangan
edi (bu 2006 yilda edi: Splunk v1.0).
O'zining etti dizayn maqsadini hisobga olgan holda, AMD VTEC-ni noldan
yaratdi. Bu jarayonda biz ma'lumotlar turlari va ma'lumotlarni qayta
ishlash usullarining yangi to'plamini ishlab chiqdik, bu esa o'sha paytdan
beri AMD-da voqealar korrelyatsiyasi va jurnal tahlilini sezilarli darajada
soddalashtirdi.
TCP soketlari orqali aniq belgilangan til. Tizimni bir nechta
komponentlarga bo'lish bir qator afzalliklarni keltirib
chiqaradi:
Bir qoida mexanizmidagi xatolar/xatolar odatda boshqalarga
ta'sir qilmaydi
Bir nechta jarayonlar ko'p yadroli tizimlarda protsessor
imkoniyatlaridan foydalanishi mumkin
Modullar orasidagi standart interfeyslar ishlashni optimallashtirish
yoki funksiyalarni qo'shish uchun modullarni sozlash vazifasini
soddalashtiradi
|