Този документ е публикуван с надеждата, че ще бъде полезен някому, но без НИКАКВА ГАРАНЦИЯ, ВКЛЮЧИТЕЛНО И БЕЗ ГАРАНЦИИТЕ ПО ПОДРАЗБИРАНЕ! С други думи, ако след прилагането на инструкциите, посочени тук, вашият 4-процесорен Compaq ML570 вземе, че подскочи и се тръшне примрял на една страна, аз
не нося никаква отговорност! Толкоз.
-
- Linux ядро 2.4.х (*), изпитано с 2.4.28—www.kernel.org. От 2.4.20 насам htb е част от ядрото на Линус Торвалдс, така че допълнителни кръпки не са ви необходими. Все пак, за пълнота тук добавям една полезна връзка към разработка на Лукаш Чжарновски, която добавя и няколко опашкиращи дисциплини, по една или друга причина неуспели да си проправят път в официалното ядро: esfq, wrr.
- Дистрибуцията на net-snmp, изпробвано с net-snmp-5.2.1.tar.gz, взета от тук:
http://sourceforge.net/project/showfiles.php?group_id=12694 - Кръпка за net-snmp 5.2.1, допълваща поддръжка за QOS. Можете да я свалите от тук: http://x-ray.prokon.cz/data/snmp/downloads/snmp-extension-0.2.1-rc1.tar.gz
- Първо разархивирайте изходния код на net-snmp:
- След това настройте net-snmp посредством:
- След това компилирайте и инсталирайте:
- Ако искате да виждате транслирани имената на клоните на snmp дървото, ще трябва да копирате QOS.TXT от snmp-extension-0.2.1-rc1.tar.gz там, където се очаква да го търси и snmpd, примерно в /usr/local/net-snmp/share/snmp/mibs/. Остава ви само да понатрупане един известен брой класове (примерно 10-20к) и да стартирате snmpd:
tar jxf net-snmp-5.2.1.tar.gz -C /usr/src
Разархивирайте някъде snmp-extension-0.2.1-rc1.tar.gz, след което копирайте съдържанието на директорията source в /usr/src/net-snmp-5.2/agent/mibgroup:
cd /usr/src/net-snmp-5.2 tar zxf snmp-extension-0.2.1-rc1.tar.gz cp source/* agent/mibgroup/
./configure --prefix=/usr/local/net-snmp --with-mib-modules=qos
make && make install
/usr/local/net-snmp/sbin/snmpd -m /usr/local/net-snmp/share/snmp/mibs/QOS.TXT
- Разширението на net-snmp за LINUX-KERNEL-QOS не работи с ядро 2.6. Вероятна причина за това е, че netlink интерфейса е променен. Не съм сигурен и не мога да кажа нищо повече по въпроса.
- Не мисля, че тази разработка ще позволи да изградите работеща система, която да обхожда повече от 40-50 класа наведнъж. Лично аз го използвам за статистики само на основните си вътрешни класове, но не и за крайните листа.
- Въведение
- Необходими предварителни условия
- Инсталация и конфигуриране
- Същинско събиране на информация за състоянието на отделните класове
Този документ описва (накратко) как да инсталирате и конфигурирате net-snmp, така че да можете да наблюдавате различни параметри на вече изградена йерархия от HTB класове, така че след това да си запазвате и изобразявате тази информация посредством mrtg/rrdtool или каквото си пожелаете.
За да получите накрая snmpd сървър, който разбира от LINUX-KERNEL-QOS дефиниции (с отделен от IANA номер на клончето enterprises 18756), ви е необходим следния софтуер:
Естествено, след цялата борба (ако всичко тръгне от раз, значи имате късмет) ще искате да можете да визуализирате състоянието на htb/cbq класовете си, нали? Не бива да забравяте, че идентификаторите на класовете в htb йерархията са с шестнайсетични major и minor числа. За да стане всичко още по-весело, същите тези класове трябва да ги търсите със същите идентификатори, но в десетичен формат. За по-подробно описание на отделните полета в таблицата, разгледайте файла QOS.TXT (който е същинския mib, в крайна сметка). Редът на индексите е следния—колона в таблицата (според QOS.TXT), тип на устройството (т.е. eth, ppp или друго), пореден номер на устройството, qos major и qos minor на класа. Ето един пример:
snmpwalk -m <път до QOS.TXT> -v 2c -c community ip_address LINUX-KERNEL-QOS::qosDropped.2.1.1.800
Обърнете внимание на последните четири числа. Започваме ги отзад напред. Последното е qos minor на търсения от нас клас в десетичен формат. Предпоследното е qos major, пред него е устройството с индекс 1, а пред него стои тип 2 (т.е. ethernet). Накратко питаме по snmp за това колко изпуснати (dropped) байтове има за клас 1:320, закачен за устройството eth1.
Забележки:
Сами се сетете как можете да използвате тази информация, за да си рисувате красивички mrtg/rrdtool графики.
Пишете ми, ако намерите грешки и/или несъответствия в този текст.