RSS Feed

Posts Tagged ‘snmp’

  1. Wspólnota i Pułapki językowe SNMP

    Luty 8, 2011 by 0verlord

    Samsung SCX-4725 Series, kombajn drukujący. Pomijając jakość, klikalność itp. Fajne ma tłumaczenie.
    Screenshot mówi wszystko w temacie.
    – skonfiguruj serwer, żeby odbierał pułapki!
    + a ustawiłeś odpowiednią wspólnotę?

    #fail.

    Co ciekawe, jest tego więcej, np. Microsoft tak tłumaczy. Przecież jak by nie patrzeć, jest to hasło do snmp, ewentualnie alarm wysyłany przez urządzenie. I patrząc na popularność tego sformułowania z jednej strony i jego beznadziejne tłumaczenie z drugiej – jestem za nie tłumaczeniem tego w ogóle.

    Pułapki wspólnoty SNMP

    🙂

    .

     


  2. Monitorowanie interfejsu po snmp w Nagiosie

    Styczeń 15, 2011 by 0verlord

    Skryptów sprawdzających to wszystko jest dość sporo. Jeżeli ktoś nie ma potrzeby monitorowania ani rysowania liczby pakietów na interfejsie (pps), może skorzystać z np. check_snmp_int.pl lub jego kolegi check_snmp_netint.pl
    Powyższe skrypty doskonale dają sobie radę z interfejsami i ruchem na nich.

    Natomiast jeżeli ktoś zapragnie monitorować ppsy, w zasadzie zostaje mu tylko kawałek pakietu SNMP4Nagios, który posiada odpowiednie narzędzie – check_if_by_snmp. Narzędzie to ma jeden zasadniczy problem – należy mu podać do monitorowania nie interfejs, tylko index interfejsu, który można sobie wyciągnąć z snmpwalka po tablicy iso.3.6.1.2.1.31.1.1.1.1 np. tak:

    snmpwalk -v 2c -c   iso.3.6.1.2.1.31.1.1.1.1 | grep 
    

    Problem w tym, że indeksy interfejsów nie są stałe i moga się np. zmienić po reboocie, a na pewno zmienią się indeksy interfejsów vlanowych (802.1q) jak je dodamy lub/i odejmiemy.

    Popełniłem banalnie prosty wrapper w bashu do załatwienia tego problemu, wygląda on tak:

    #!/bin/bash 
    
    while getopts "H:C:I:" Option
    do
      case $Option in
        H)  HOSTADDRESS=$OPTARG;;
        C)  COMMUNITY=$OPTARG;;
        I)  IFACE=$OPTARG;;
      esac
    done
    shift $(($OPTIND - 1))
    # Move argument pointer to next.
    
    IFINDEX=`/usr/bin/snmpwalk -v 2c -c $COMMUNITY \
    $HOSTADDRESS iso.3.6.1.2.1.31.1.1.1.1  | grep "$IFACE" | \ 
    cut -d' ' -f1 | cut -d'.' -f12`
    
    /usr/lib/nagios/plugins/check_if_by_snmp -H $HOSTADDRESS -C $COMMUNITY \ 
    -i $IFINDEX -I $IFACE -T -N -L -R /var/lib/nagiosgraph/rrd/
    

    Wrapper pobiera parametry przekazywane do skryptu przez Nagiosa, robi snmpwalka, grepem wyjmuje indeks snmp interfejsu, który podamy jako argument, po czym wstawia go do oryginalnego skryptu z SNMP4Nagios. W ten sposób zawsze będziemy monitorować właściwy interfejs, a nie tylko ten sam indeks.

    Wyjaśnienia wymaga chyba tylko ostatnia linijka i opcja -R, która pokazuje, gdzie skrypt ma zapisywać pliki rrd z perfdata do rysowania wykresów. U mnie, prosto do katalogu nagiosgrapha.

    Nie wiem, dlaczego inne pluginy nie monitorują liczby ppsów, przecież np. w ten sposób da się wykryć na interfejsie ddos, albo inną anomalię ruchu. A tutaj tylko jeden skrypt to robi, i na dodatek lekko bez sensu.

    Oczywiście mój wrapper będzie pewnie niewydajny w przypadku wykonywania wielu checków – pytanie jak bardzo niewydajny i kiedy zabija hosta.