Entries from януари 2005 ↓

HTB + net-snmp мини как-да

Този документ е публикуван с надеждата, че ще бъде полезен някому, но без НИКАКВА ГАРАНЦИЯ, ВКЛЮЧИТЕЛНО И БЕЗ ГАРАНЦИИТЕ ПО ПОДРАЗБИРАНЕ! С други думи, ако след прилагането на инструкциите, посочени тук, вашият 4-процесорен Compaq ML570 вземе, че подскочи и се тръшне примрял на една страна, аз
не нося никаква отговорност! Толкоз.

    1. Linux ядро 2.4.х (*), изпитано с 2.4.28 – www.kernel.org. От 2.4.20 насам htb е част от ядрото на Линус Торвалдс, така че допълнителни кръпки не са ви необходими. Все пак, за пълнота тук добавям една полезна връзка към разработка на Лукаш Чжарновски, която добавя и няколко опашкиращи дисциплини, по една или друга причина неуспели да си проправят път в официалното ядро: esfq, wrr.
    2. Дистрибуцията на net-snmp, изпробвано с net-snmp-5.2.1.tar.gz, взета от тук:

      http://sourceforge.net/project/showfiles.php?group_id=12694

    3. Кръпка за net-snmp 5.2.1, допълваща поддръжка за QOS. Можете да я свалите от тук: http://x-ray.prokon.cz/data/snmp/downloads/snmp-extension-0.2.1-rc1.tar.gz
    1. Първо разархивирайте изходния код на net-snmp:
    2. 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/
    3. След това настройте net-snmp посредством:
    4. ./configure --prefix=/usr/local/net-snmp --with-mib-modules=qos
    5. След това компилирайте и инсталирайте:
    6. make && make install
    7. Ако искате да виждате транслирани имената на клоните на snmp дървото, ще трябва да копирате QOS.TXT от snmp-extension-0.2.1-rc1.tar.gz там, където се очаква да го търси и snmpd, примерно в /usr/local/net-snmp/share/snmp/mibs/. Остава ви само да понатрупане един известен брой класове (примерно 10-20к) и да стартирате snmpd:
    8. /usr/local/net-snmp/sbin/snmpd -m /usr/local/net-snmp/share/snmp/mibs/QOS.TXT
    1. Разширението на net-snmp за LINUX-KERNEL-QOS не работи с ядро 2.6. Вероятна причина за това е, че netlink интерфейса е променен. Не съм сигурен и не мога да кажа нищо повече по въпроса.
    2. Не мисля, че тази разработка ще позволи да изградите работеща система, която да обхожда повече от 40-50 класа наведнъж. Лично аз го използвам за статистики само на основните си вътрешни класове, но не и за крайните листа.
  1. Въведение
  2. Този документ описва (накратко) как да инсталирате и конфигурирате net-snmp, така че да можете да наблюдавате различни параметри на вече изградена йерархия от HTB класове, така че след това да си запазвате и изобразявате тази информация посредством mrtg/rrdtool или каквото си пожелаете.

  3. Необходими предварителни условия
  4. За да получите накрая snmpd сървър, който разбира от LINUX-KERNEL-QOS дефиниции (с отделен от IANA номер на клончето enterprises 18756), ви е необходим следния софтуер:

  5. Инсталация и конфигуриране
  6. Същинско събиране на информация за състоянието на отделните класове
  7. Естествено, след цялата борба (ако всичко тръгне от раз, значи имате късмет) ще искате да можете да визуализирате състоянието на 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 графики.

    Пишете ми, ако намерите грешки и/или несъответствия в този текст.