Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Mój jest ten kawałek Internetu…

…złe emocje i brudne buty proszę więc zostawić przed drzwiami.

SNMP pod Linuksem...

Mamy w firmie kilkadziesiąt modemów, kilkanaście zarządzalnych switchy, ileś urządzeń radiowych. To wszystko razem tworzy dość skomplikowaną sieć. A ja, wraz z kolegami muszę nad tym zapanować. Oczywiście radzimy sobie, ale bywa to dość upierdliwe. Zwykle konfigurujemy urządzenia i badamy ich stan przez WWW lub telneta. Oczywiście każde urządzenie ma inny interfejs, a z każdym z tych interfejsów są jakieś problemy (np. w jednym modemie hasło zmieniam elinksem, a przepustowość firefoksem, bo pierwsze nie działa w firefoksie, drugie w elinksie). Sprzętu przybywa, więc zarządzanie nim staje się coraz większym problemem.

Fajnie by było móc zarządzać wszystkim z jednego miejsca. Można część zadań zautomatyzować jakimiś skryptami z osobnymi backendami dla każdego typu urządzenia (tak mam teraz zrobiony backup konfiguracji części urządzeń) i całością zarządzać w jednym miejscu (własny interfejs WWW), ale tu byłaby kupa roboty. Taka śmierdząca kupa... więc sobie to daruję, przynajmniej na większą skalę.

Jest jednak coś co łączy większość naszych urządzeń: SNMP. Prawie wszystkie te urządzenia obsługują SNMP. Dotychczas używałem tego tylko do monitorowania wykorzystania łącz, ewentualnie traktowałem jako ficzer, który należy wyłączać ze względów bezpieczeństwa (niektóre urządzenie po ustawieniu hasła dostępu do WWW i telneta dalej pozwalały na dostęp r/w przez SNMP z community name private). Wczoraj, myśląc nad zautomatyzowaniem kolejnego zadania (przygotowania konfiguracji MRTG dla wszystkich switchy, zsynchronizowanej z danymi o topologii sieci z bazy danych), zacząłem się zastanawiać, czy nie można by spróbować tego SNMP jakoś szerzej wykorzystać...

Od razu zaznaczam, że z SNMP jestem dość zielony, co może mieć duży wpływ na to co napiszę poniżej – jak pisze bzdury, to prosze dać znać.

Wiem, że jest coś takiego jak słynne Open View, którego na oczy nie widziałem, ale podejrzewam, że byłoby tym czego poszukuję. I to, że na pewno nas na to nie stać. Postanowiłem poszukać coś tańszego, najlepiej otwartego i za darmo. Zacząłem oczywiście od tego co widzi poldek...

Poldek, poza narzędziami do monitorowania urządzeń, w sensie rysowania statystyk (to mi już u mnie MRTG + RRDTool załatwiają), znalazł niewiele. GXSNMP jest nierozwijany od lat, a gdy go ostatnio oglądawał, to się za bardzo nie nadawał do użytku. Tym razem sobie go darowałem. Kolejny był Scotty, którym już też kiedyś się bawiłem. Pamiętam go jako brzydkie, ale działające coś w Tk/Tcl. Chciałem znowu tego spróbować, ale nawet się nie uruchomiło. Scotty okazał się niekompatybilny z aktualnym Tcl (używa jakiegoś prywatnego symbolu, którego w nowej wersji biblioteki brak). Na razie nie chciało mi się z tym dalej walczyć.

GXSNMP i Scotty to narzędzia nie tylko do zarządzania siecią przez SNMP, ale też, a może przede wszystkim, do rysowania mapy sieci. Do SNMP poldek pokazał mi jeszcze Mbrowse – Mbrowse is an SNMP MIB browser based on GTK and net-snmp. Pomyślałem, że to może się przydać – pozwoli się dobrać do konkretnych zmiennych urządzenia. Po zainstalowaniu się nawet uruchomił, pokazał drzewko MIB... ale nie udało mi się tym odczytać chociażby jednej wartości z localhost (snmpwalk i snmpget z konsoli działały). Do kitu.

W PLD nie znalazłem czego szukałem (rzadko to się zarza), to zajrzałem na Freshmeat. Pierwsze na co tam trafiłem, to MIB Views, firmy Muonics. Oprogramowanie komercyjne, z możliwością darmowego wypróbowania przez piętnaście minut. Postanowiłem spróbować. Na pierwszy rzut oka wygląda podobnie do Mbrowse, tyle że dużo ładniej... i działa. Wygląda na to, że to co ma robić, to robi i robi to dobrze. Interfejs jest ładny i wygodny (na tyle, na ile mnie się to udało teraz stwierdzić). Jednak raczej tego nie kupimy – MIB Views nie daje żadnych mechanizmów zarządzania całą siecią. W danym momencie pracuje się z jednym urządzeniem (agentem SNMP), a żeby przełączyć się na inne trzeba od nowa podawać jego parametry. Jeszcze muszę zobaczyć jak to będzie działać z konkretnymi urządzeniami (na razie bawiłem się w domu, tylko z localhost), ale raczej to sobie darujemy.

Na Freshmeatcie znalazłem też trochę otwartego lub darmowego oprogramowania. W szczególności zainteresowały mnie dwa Javowe programy: Open Eyes i NetWhistler. Obydwa służą do tworzenia mapy sieci i zarządania siecią. Pierwszy ma brzydki i mało intuicyjny interfejs, nie chciało mi się w to wgłębiać. Drugi wydaje się całkiem sensowny, ale strasznie długo z nim walczyłem, żeby dodać tam chociaż jedną maszynę. Okazało sie, że NetWhistler działa tylko uruchomione z roota, inaczej wali jakimiś mało mówiącymi wyjątkami. To zdaje się być normą w oprogramowaniu Javowym – oprogramowanie zakłada, że ma dostęp do wszystkich swoich plików, a instalator NetWhlister upierał się jeszcze, żeby instalowac z roota. W każdym razie, z roota chodzi i nawet daje się używać, ale na kolana nie powala. I zakłada, że wszystko jest zorganizowane w ładne podsieci IP (u nas to bardziej skomplikowane – wiele VLANów, podsieci w kilku VLANach jednocześnie, adresy oderwane od jakiejkolwiek podsieci) i bezpośrednio dostępne (u nas wiele sieci jest odizolowanych, nie chciałbym włączać pomiędzy nimi routingu, żeby wszystko dało się zapingowac z workstacji adminów). Może warto się tym jeszcze pobawić... a może i nie.

Z oprogramowania na Freshmeat znalezionego pod hasłem SNMP zainteresowało mnie jeszcze jedno: Internode Nodemap. Internode Nodemap to zestaw narzędzi to tworzenia map sieci, ale nie koncentrujące się na urządzeniach, ale na łączech. Sama mapa nie jest wyklikiwana, ale wczytywana z plików konfiguracyjnych. Pod każdą mapkę może być podłożony obrazek jako tło – w ten sposób można np. wrysować swoje łącze na plan miasta. To mogło by się dobrze u nas sprawdzić, wymagałoby jednak sporo pracy – wypadałoby zrobić coś co zamieni dane o topologii sieci z naszej bazy na plik konfiguracyjny dla Internode Nodemap i dołożyć informacje o geograficznym/fizycznym położeniu urządzeń (czyli zrobić interfejs w którym to będzie można wyklikać). Możliwy do uzyskania efekt kusi, więc może się tym zajmiemy.

Wciąż nie jestem w pełni zadowolony z wyniku poszukiwań. To co znalazłem może i może się do czegoś przydać, ale ciągle to nie jest to. Nie znalazłem narzędzia, które mógłbym po prostu zainstalować i stosować, wiedząc, że ułatwi mi pracę i nie musząc dostosowywać tego do naszej sieci, czy naszej sieci do tego narzędzia. Np. myślałem o czymś, co mogło by bezpiecznie (wykorzystując SNMPv3) korzystać z SNMP proxy na maszynach z dostępem do zamknietych sieci. Jednak mało co umie SNMP w wersji 3, a obsługi proxy (czy raczej kontekstów, bo jak dobrze zrozumiałem, to do tego się to sprowadza) nie widziałem nigdzie. Liczyłem też na to, że uda się jakoś wykorzystać dane o topologii sieci z naszej bazy – co do czego i jak jest podłączone. A może wciąż gdzieś tam jest coś, czego nie znalazłem, a co rozwiązało by wszelkie moje problemy...

12 komentarzy do wpisu „ SNMP pod Linuksem...”


Zmiany w firmie...

Wreszcie zatrudnili nowego admina. Powinien być najpóźniej od grudnia, bo ostatnio zapiernicz był straszny (we dwóch robiliśmy za trzech), ale ważne że już jest. Właściwie, to tylko pojawił się w pracy i już znacznie mniej roboty było. Nic się nie popsuło. :-)

Przyszedł też nowy magazynier (zastanawiamy się czy będzie po biurach wózkiem widłowym jeździł) i odeszła koleżanka, którą chciałbym tutaj, przy okazji, pozdrowić ;-)

Coraz ciężej się w tych kolegach i koleżankach w pracy połapać – coraz częściej nie mam pojęcia kto mi mówi cześć...

1 komentarz do wpisu „ Zmiany w firmie...”