2015-02-20 00:40:22
Ograniczenie liczby MIBów w sub-agentach Net-SNMP

Szybki protip dla tych, którzy tworzą własne sub-agenty dla Net-SNMP, a dla których problemem może być duża liczba trzymanych w systemie MIBów i wynikające z tego zwiększone użycie pamięci przez sub-agentów.

Problem bierze się stąd, że sub-agenty Net-SNMP mają tendencję do ładowania wszystkich MIBów podanych w pliku /etc/snmp/snmp.conf (lub adekwatnym), w tym nie związanych z danym agentem (co jest logiczne, bo Net-SNMP nie zamierza zgrywać mądrzejszego od nas). Można to obejść na trzy sposoby - jeden, to usuwając niepotrzebne MIBy z snmp.conf (co najczęściej nie wchodzi w grę). Drugi - ustawiając zmienną środowiskową MIBS przed uruchomieniem agenta (np. we własnym skrypcie startowym). Trzeci - ustawiając tą zmienną wewnątrz kodu subagenta. Na przykład:

[..]
#define BP_MIBS "BP-PRODUCT-MIB:DISMAN-EVENT-MIB:DISMAN-SCHEDULE-MIB:DISMAN-SCRIPT-MIB:UCD-SNMP-MIB"
[..]
    /* init BPTable mib code */
    init_BPTable();

    /* read BPTable.conf files. */
    setenv("MIBS", BP_MIBS, 1);
    init_snmp("BPTable");
[..]

Tu się nasuwa pytanie - dlaczego tak? Ano dlatego, że zmienna MIBS ma priorytet nad wszystkim, w tym tym, co jest zapisane w /etc/snmp/snmpd.conf i - tutaj - BPTable.conf (który ma niższy priorytet niż /etc/snmp/snmpd.conf), poza tym, to jest wygodniejsze dla potencjalnego administratora - zamiast dwóch plików konfiguracyjnych, mamy jeden nie wpływający (pod tym względem) na pracę agenta, i nie ma problemu z niezapowiedzianymi interferencjami.

Co można zyskać? W przypadku moich agentów użycie spadło o około 5 MB, co w przypadku agenta zużywającego (RSS) do tej pory 8MB jest wartością sporą. A nawet, gdy agent zużywał 15MB, to zmniejszenie tego do 10MB w tak prosty sposób jest po prostu miłe. ;)


Może Cię zainteresować...

Link | Komentarzy: 2 | Linux, Programowanie, Tech, Techblog
Pokazuj komentarze.
Powered by:
Hellcore Mailer - polski program pocztowyOpera Web BrowserFreeBSD - The Power to Serve!Slackware
RSSy:
Sidekick:
Projekty:
O autorze:
Zobacz:
Kategorie:
Archiwum:
Szukaj: