Tarkibga o‘tish

Komponentlarning hayot aylanishi

Tizim 3 ta asosiy sikldan iborat: axborotni yig'ish, axborotni qayta ishlash va harakatlarni bajarish.

Ma'lumotlar to'plami

Axborot yig'ish tsikli orkestr, ombor, agentlar va ma'lumotlar bazalarining ishini o'z ichiga oladi. Orkestr maqsadlardan ma'lumotlarni to'playdigan agentlarni ishga tushiradi. Yig'ilgan ma'lumotlar omborda saqlanadi.

Orkestrator ishga tushganda, u va tizim agentlari o'rtasida quyidagi o'zaro ta'sir jarayoni sodir bo'ladi.

1. Tizimni ishga tushirish va komponentlarni ishga tushirish:

  • Orkestr avval o'z ishini boshlaydi va barcha ma'lum agentlarga eshittirish bildirishnomasini yuboradi.

  • Agentlar (allaqachon ishlayotgan yoki yangi) orkestrda ro'yxatdan o'ting, ularning mavjudligini tasdiqlang.

2. Maqsadlarni ro'yxatga olish va vazifalarni taqsimlash:

  • Har bir agent o'zi qo'llab-quvvatlaydigan harakatlar ro'yxatini uzatadi. Har bir agent o'zaro aloqada bo'lishi mumkin bo'lgan o'ziga xos maqsad turiga ega.

  • Orkestr tuzadi taqsimot matritsasi:

  • Har bir maqsad uchun u tanlanadi bitta tasodifiy agent, yukni taqsimlash uchun. Takrorlanishning oldini olish uchun agent ma'lumotlarni yig'ish paytida biz "maqsadni" bloklaymiz.

3. Agent tomonidan ma'lumotlarni yig'ish

Agent ikkita vazifadan birini oladi - Y hisobi yordamida maqsad X uchun ma'lumotlarni to'playdi yoki Z hisobi yordamida Y maqsadda X harakatini amalga oshiradi.

Yig'ish jarayoni:

  • Agent maqsadga ulanadi va APIni qaytaradigan formatda ma'lumotlarni to'playdi
  • Ma'lumotlar platformada ishlatiladigan modelimizga aylantiriladi
  • Agent aylantirilgan ma'lumotlarni platformaga yuboradi

4. Subgraflarni shakllantirish va yagonaligini tekshirish

Tegishli ob'ektlarni birlashtirish:

  • Tizim maqsadlar orasidagi ulanishlarni qidiradi (masalan, bitta IP-manzil virtual mashina va DNS yozuvi bilan bog'langan). Masalan, Zabbix adapteri X IP manzilli VMni va VMWare adapteri X IP manzilli VMni yig'di, ya'ni maqsadlar o'rtasida aloqa mavjud va ularning ma'lumotlari birlashtirilishi va birgalikda qayta ishlanishi kerak.

  • Tegishli ob'ektlar birlashtiriladi subgraf (bitta mantiqiy ob'ekt).

O'ziga xoslikni tekshirish:

  • Agent tomonidan yuborilgan metama'lumotlarga asoslanib, omborning vazifasi turli maqsadlardan to'plangan ob'ektlarning o'ziga xosligini ta'minlashdir. Agent bitta maqsad doirasidagi ob'ektlarning o'ziga xosligini ta'minlaydi.

  • Mojarolar oxirgi yangilanish vaqtiga qarab hal qilinadi.

5. Ma'lumotlar bazasida ma'lumotlarni saqlash

Repozitariy agentlardan ma'lumotlarni oladi va:

  • ClickHouse: "xom" ko'rsatkichlarni yozadi (vaqt seriyalari uchun optimallashtirilgan).
  • PostgreSQL: Topologiyani (ob'ektlar orasidagi aloqalarni) va metama'lumotlarni saqlaydi.

6. Tsiklni yakunlash:

  • Orkestr taymer keyingi yig'ish siklini boshlaydi

  • Jurnalga yozish - Har bir agentning “muvaffaqiyat/xato” holati jurnalda qayd etiladi (muammo tahlili uchun).

Subgrafni shakllantirish va ma'lumotlarni saqlash bosqichini tugatgandan so'ng, tizim siyosatlarni qo'llash, maqsadli tizim yukini hisoblash va to'plangan ma'lumotlarni keyingi tahlil qilishni o'z ichiga olgan qayta ishlashning keyingi bosqichiga o'tadi.

Tahlil

Bu dastlabki manba topologiyasini baholaydigan va optimallashtirilgan konfiguratsiyani taklif qiladigan asosiy qadamdir. Tahlildan so'ng tavsiya etilgan o'zgarishlar yaratiladi - resurslarni qaerga ko'chirish yoki ularning imkoniyatlarini o'zgartirishni aniqlaydigan harakatlar. Ushbu tavsiyalar ma'lumotlar bazasida saqlanadi.

Orkestrator ma'lumotlar bazasidan olingan harakatlar ro'yxatini qabul qiladi va o'zgarishlarning kerakli ketma-ketlikda to'g'ri bajarilishini ta'minlaydi. U bir xil ob'ekt yoki agentga qaratilgan harakatlar o'rtasidagi ziddiyatlarning oldini oladi, operatsiyalarning izchil va tartibli bajarilishini ta'minlaydi.

Tapologiya xodimi turli manbalardan (masalan, VMware va Zabbix) olingan ma'lumotlarni birlashtirish uchun mas'ul bo'lgan komponent hisoblanadi. Uning vazifasi resursning ("federatsiyalangan ob'ekt") yagona ko'rinishini yaratishdan iborat bo'lib, keyinchalik API orqali foydalanuvchilarga taqdim etiladi.

Interfeys orqali foydalanuvchilar qayta ishlangan ma'lumotlar va tahlil natijalariga kirishlari mumkin. Ma'lumotlar faqat ma'lumotlarning yaxlitligi va izchilligini ta'minlagan holda Tapologiya xodimida qayta ishlanganidan keyin taqdim etiladi.

Amallarni bajarish

1. Buyruqni qabul qilish

Buyruq orkestrga ikkita manbadan biridan keladi:

  • API – foydalanuvchi tugmani bosdi (qo‘lda harakat).
  • Tahlil – avtomatik tavsiya (masalan, to‘plangan ma’lumotlar asosida). Tavsiyalarning ishlash rejimini qo'lda rejimdan avtomatikga o'zgartiradigan ob'ekt bilan bog'liq faol siyosat mavjud bo'lsa

2. Orkestrga o'tkazish

Orkestr tekshiradi agent, ushbu amalni bajarishga qodir:

  • Agar agent mavjud bo'lsa → unga o'tadi harakat va maqsad (operatsiya bajariladigan ob'ekt).
  • Agar agent mavjud bo'lmasa → harakat qoldiriladi va birinchi mavjud mos agent uchun navbatda kutish qoladi.

3. Agent tomonidan harakatning bajarilishi

Agent:

  • Orkestrdan topshiriq oladi.
  • Buni bajaradi.
  • Harakatning borishi, shuningdek, harakat natijasi haqidagi ma'lumotlarni omborga yuboradi.

4. Natijani qaytaring

Repozitariy agentdan ma'lumotlarni oladi va uni saqlaydi PostgreSQL.

5. Joriy tsiklning oxiri

Agar amal bajarilgan bo'lsa, tizim kutish rejimiga qaytadi.

Har bir bosqichning ishlashi bo'yicha eslatmalar

  • Orkestr: jarayonni muvofiqlashtirishda asosiy rol o'ynaydi. Orkestrning yo'qligi butun tizimning ishlashini imkonsiz qiladi.

  • Agent: Muayyan vazifalarni bajarish uchun bevosita javobgar. Biroq, uning yo'qotilishi agentning boshqa nusxasini qayta ishga tushirish orqali osongina qoplanadi. Agar agent muvaffaqiyatsiz bo'lsa, orkestr o'z maqsadlarini ishlaydigan agentlar o'rtasida qayta taqsimlaydi.

  • Repository: muhim ma'lumotlarni va tizim holatini saqlaydi. Agar ombor yo'qolsa, ombor tiklanmaguncha barcha keyingi ishlov berish imkonsiz bo'ladi.