SNMP — router, switch, server, printer, access point va boshqa qurilmalarni kuzatish hamda ayrim parametrlarini boshqarish uchun ishlatiladigan protokol. Uning to‘liq nomi Simple Network Management Protocol hisoblanadi.
SNMP monitoring tizimiga qurilmaning holati, interfeys trafigi, xatolar, CPU yuklanishi, xotira sarfi, harorat va boshqa ko‘rsatkichlarni standart usulda olish imkonini beradi.
Protokol nomidagi “Simple” so‘zi butun monitoring tizimi oddiy degani emas. MIB daraxti, vendor OIDlari, counter turlari va xavfsizlik sozlamalari katta infratuzilmada ancha murakkab bo‘lishi mumkin.
SNMP arxitekturasi
SNMP tizimida uchta asosiy qism mavjud.
Manager
SNMP manager qurilmalardan ma’lumot so‘raydigan monitoring yoki boshqaruv dasturi.
Manager quyidagi vazifalarni bajaradi:
- OID qiymatlarini polling qilish;
- olingan qiymatlarni saqlash;
- grafik va hisobot yaratish;
- threshold asosida ogohlantirish;
- trap va inform xabarlarini qabul qilish;
- ayrim parametrlarni SET orqali o‘zgartirish.
Agent
SNMP agent boshqariladigan qurilmada ishlaydi. U mahalliy operatsion tizim, driver yoki firmwaredan statistikani oladi va manager so‘roviga SNMP formatida javob beradi.
Agent router firmware ichida, server daemonida, printerda yoki maxsus monitoring exporterida bo‘lishi mumkin.
Managed device
Monitoring qilinayotgan qurilma managed device hisoblanadi. U agent orqali o‘zidagi obyektlarni taqdim etadi.
MIB
MIB — boshqariladigan obyektlarning ierarxik tavsifi. Uning to‘liq nomi Management Information Base.
MIB oddiy ma’lumotlar bazasi fayli emas. U obyektlarning:
- nomi;
- OID qiymati;
- ma’lumot turi;
- o‘qish yoki yozish ruxsati;
- ma’nosi;
- birliklari;
- holati
haqida tavsif beradi.
Standart MIBlar turli ishlab chiqaruvchi qurilmalarida umumiy ko‘rsatkichlarni bir xil usulda olishga yordam beradi. Vendor MIBlar esa qurilmaga xos sensor va funksiyalarni qo‘shadi.
OID
OID — MIB daraxtidagi obyektni aniqlaydigan raqamli identifikator.
Misol:
1.3.6.1.2.1.1.5.0
Ushbu OID standart sysName obyektiga mos kelishi mumkin.
OID daraxti yuqoridan pastga bo‘linadi:
- ISO;
- organization;
- internet;
- management;
- MIB-2;
- system;
- aniq obyekt.
MIB fayli raqamli OIDni tushunarli nomga aylantiradi. Monitoring vositasi MIBsiz ham raqamli OID bilan ishlashi mumkin.
Scalar va table
SNMP obyektlari ikki keng ko‘rinishda uchraydi.
Scalar
Bitta qiymatni ifodalaydi. Masalan, qurilma nomi yoki uptime. Scalar OID ko‘pincha .0 bilan tugaydi.
Table
Bir nechta qator va ustundan iborat ma’lumot. Masalan, tarmoq interfeyslari jadvali.
Interfeys jadvalida quyidagi qiymatlar bo‘lishi mumkin:
- interface index;
- interface nomi;
- turi;
- tezligi;
- administrativ holati;
- operatsion holati;
- kiruvchi va chiquvchi baytlar;
- xatolar;
- discardlar.
Jadval qatorlari index orqali ajratiladi.
SNMP amallari
| Amal | Vazifasi |
|---|---|
| GET | Bitta yoki bir nechta OID qiymatini o‘qish |
| GETNEXT | Daraxtdagi keyingi OIDni olish |
| GETBULK | Ko‘p obyektni samarali olish |
| SET | Obyekt qiymatini o‘zgartirish |
| RESPONSE | Agentning so‘rovga javobi |
| TRAP | Agentdan managerga tasdiqsiz voqea xabari |
| INFORM | Tasdiq talab qiladigan voqea xabari |
| REPORT | SNMPv3dagi ayrim protokol holatlari haqida xabar |
GETNEXT MIB daraxti bo‘ylab yurishga yordam beradi. GETBULK ko‘p qatorli jadvallarni kamroq paket bilan olish uchun SNMPv2da qo‘shilgan.
Polling
Monitoring server qurilmadan ma’lumotni davriy so‘rashi polling deb ataladi.
Masalan, har 60 soniyada interfeys counterlari olinadi. Ikki o‘lchov orasidagi farq va vaqt asosida trafik tezligi hisoblanadi.
Tezlik = (yangi counter - eski counter) / vaqt
Counter baytlarda bo‘lsa, bit/s olish uchun natija 8 ga ko‘paytiriladi.
Polling intervali juda qisqa bo‘lsa:
- qurilma CPU yuklanadi;
- tarmoqda ortiqcha SNMP trafik paydo bo‘ladi;
- monitoring serverda yozuvlar soni oshadi.
Juda uzun interval esa qisqa davom etgan muammoni yashirishi mumkin.
Counterlar
SNMP counterlar doimiy oshib boruvchi qiymatlar bo‘lishi mumkin.
Asosiy turlar:
- Counter32;
- Counter64;
- Gauge;
- TimeTicks;
- Integer;
- Octet String;
- IP Address;
- Opaque.
Yuqori tezlikli interfeysda 32 bitli byte counter tez aylanib, nolga qaytishi mumkin. Counter64 katta qiymatlarda ancha uzoq ishlaydi.
Monitoring tizimi quyidagilarni hisobga oladi:
- counter rollover;
- qurilma reboot bo‘lishi;
- interface index o‘zgarishi;
- counter reset;
- polling oralig‘i.
Trap
Trap agentdan managerga voqea yuz berganda yuboriladigan asinxron xabar.
Misollar:
- interface down;
- qurilma qayta ishga tushdi;
- quvvat manbai ishlamay qoldi;
- harorat oshdi;
- autentifikatsiya xatosi;
- routing qo‘shniligi uzildi.
Trap tasdiq talab qilmaydi. UDP paket yo‘qolsa, manager voqeani olmasligi mumkin.
Shu sababli muhim holatlarda trap bilan birga polling ham ishlatiladi. Trap tez ogohlantiradi, polling esa haqiqiy holatni tekshiradi.
Inform
Inform trapga o‘xshash, lekin qabul qiluvchi manager javob bilan tasdiqlaydi. Tasdiq kelmasa, yuboruvchi qayta urinish mumkin.
Inform ishonchliroq, ammo agent yoki boshqa managerda qo‘shimcha holat va trafik talab qiladi.
SNMP portlari
SNMP odatda UDP transportidan foydalanadi.
TCP transporti ayrim standart va implementatsiyalarda mavjud bo‘lishi mumkin, lekin amaliy monitoringda UDP keng tarqalgan.
Firewall faqat kerakli manager manzillariga ruxsat berishi kerak. SNMP xizmatini umumiy internetga ochish xavfli.
SNMPv1
SNMPv1 dastlabki versiya hisoblanadi.
Xususiyatlari:
- GET, GETNEXT, SET va TRAP;
- community string;
- 32 bitli counterlar;
- sodda xato modeli;
- shifrlash yo‘q.
Community string tarmoq orqali ochiq shaklga yaqin uzatiladi. Uni parolga teng kuchli himoya deb bo‘lmaydi.
SNMPv2c
SNMPv2c quyidagi yaxshilanishlarni beradi:
- GETBULK;
- Counter64;
- yaxshilangan xato ishlovi;
- inform;
- samaraliroq jadval olish.
Biroq c varianti hali ham community stringga tayanadi va kuchli autentifikatsiya yoki shifrlash bermaydi.
SNMPv3
SNMPv3 xavfsizlik imkoniyatlarini kengaytiradi.
Asosiy darajalar:
| Daraja | Xususiyati |
|---|---|
| noAuthNoPriv | Autentifikatsiya ham, shifrlash ham yo‘q |
| authNoPriv | Xabar autentifikatsiyalanadi, lekin shifrlanmaydi |
| authPriv | Autentifikatsiya va shifrlash mavjud |
SNMPv3da foydalanuvchi, authentication protocol, privacy protocol va access policy sozlanadi.
USM modeli xabarni autentifikatsiya qilish va shifrlash uchun ishlatiladi. VACM esa foydalanuvchiga qaysi OID daraxtini ko‘rish yoki o‘zgartirish mumkinligini belgilaydi.
SET amali
SNMP faqat monitoring emas, boshqaruv uchun ham SET amaliga ega.
SET orqali nazariy jihatdan:
- interfeysni administrativ o‘chirish;
- qurilma nomini o‘zgartirish;
- konfiguratsiya qiymatini yozish;
- test amalini boshlash
mumkin.
Amaliy tarmoqda SET ko‘pincha cheklanadi. Noto‘g‘ri OID yoki avtomatlashtirish xatosi xizmatni uzishi mumkin. Monitoring uchun read-only kirish, boshqaruv uchun alohida himoyalangan hisob ishlatiladi.
SNMP va monitoring
SNMP quyidagi ko‘rsatkichlarda keng qo‘llanadi:
- interfeys bandwidth;
- packet error va discard;
- CPU va memory;
- fan va harorat;
- quvvat manbai;
- BGP yoki OSPF holati;
- printer toner darajasi;
- UPS batareyasi;
- storage hajmi;
- sensorlar.
Barcha vendor bir xil OID va birliklardan foydalanmasligi mumkin. MIB tavsifi va qurilma hujjati tekshiriladi.
Diagnostika
SNMP javob bermasa, quyidagilar ko‘riladi:
- IP reachability;
- UDP 161 ACL;
- SNMP agent holati;
- versiya;
- community yoki SNMPv3 user;
- authentication va privacy algoritmi;
- engine ID va time window;
- OID mavjudligi;
- view va access policy;
- source interface;
- VRF;
- rate limit.
Trap kelmasa UDP 162, receiver service, source manzil, trap destination va qurilmadagi event sozlamasi tekshiriladi.
Bog‘liq tushunchalar
Monitoring, SNMP manager, SNMP agent, MIB, OID, GET, GETBULK, SET, Trap, Inform, Counter64, SNMPv3, UDP