Technika ZENOSS – sposób na udany monitoring sieci
ZENOSS – sposób na udany monitoring sieci Grzegorz Gałęzowski
linux@software.com.pl
Sieci komputerowe występują obecnie w każdej firmie i instytucji. W miarę rozrastania się i rozwoju sieci staje się ona coraz ważniejszym elementem każdej organizacji. Jednak im więcej zasobów oferuje sieć, tym bardziej staje się skomplikowana i więcej może ulec uszkodzeniu. Utrata zasobów sieciowych lub nawet pogorszenie jej działania jest niemożliwe do zaakceptowania dla użytkowników. Dlatego też zadaniem administratorów takich sieci jest utrzymanie ich w prawidłowej funkcjonalności i bezpieczeństwie.
A
dministrator sieci musi diagnozować problemy, zapobiegać powstawaniu nieprzewidzianych sytuacji i zapewniać możliwie jak najlepsze funkcjonowanie sieci. Niektóre sieci stają się czasami zbyt wielkie do zarządzania bez automatycznych narzędzi. Administrowanie siecią obejmuje następujące elementy: • • • • • •
kontrolę dostępności sieci; automatyzację zadań; kontrola czasu reakcji; audyt bezpieczeństwa; możliwość odtworzenia; rejestracja użytkowników.
zarządzania pomiędzy urządzeniami sieci. Dzięki wykorzystaniu SNMP dla dostępu do informacji, zarządzania na temat wysyłanych pakietów danych na sekundę oraz o liczbie otwartych połączeń TCP, administratorzy sieci mogą łatwiej zarządzać działaniem sieci oraz znajdować i rozwiązywać problemy. Automatycznie administrowana sieć z protokołem SNMP składa się z trzech komponentów: urządzenia zarządzanego, programu agenta oraz systemu odpowiedzialnego za zarządzanie. Urządzenia zarządzane to wę-
Już od roku 1988 mamy możliwość używania protokołu SNMP, który może nam pomóc w opanowaniu naszej sieci. Protokół ten stał się już standardem zarządzania sieciowego. Jest to proste rozwiązanie, które łatwo wdrożyć w różnych sieciach. SNMP jest protokołem warstwy aplikacji, który został opracowany w celu ułatwienia wymiany informacji Rysunek 1. Strona projektu z której można pobrać paczki instalacyjne
2
styczeń 2009
Technika ZENOSS – sposób na udany monitoring sieci zły sieciowe, które zawierają agenta SNMP i pracują w sieci. Urządzenia zbierają i zapamiętują charakterystyczne informacje, a następnie udostępniają dane przy użyciu SNMP. Urządzenia zarządzane, czasami nazywane elementami sieciowymi, mogą być ruterami, serwerami, stacjami roboczymi, przełącznikami sieciowymi, czy też drukarkami. Agent odpowiada za przetwarzanie żądań SNMP przychodzących od menedżera. Zajmuje się także wykonaniem procedur, które podtrzymują wartości zmiennych zdefiniowanych przez różne bazy MIB (Management Information Base). Do zarządzania siecią z wykorzystaniem SNMP możemy wybrać bardzo ciekawe narzędzie Zenoss, które możemy pobrać ze strony http://www.zenoss.com/download (Rysunek 1) Zenoss jest nowatorskim rozwiązaniem w dziedzinie zarządzania siecią. Jest to zestaw kilku programów o otwartym kodzie źródłowym. Zanim jeszcze przejdziemy do instalacji i konfiguracji tego programu, zapoznamy się z jego budową. Zenoss składa się z trzech warstw: • • •
ści ciągłego przeładowywania całej strony. Administrator w swojej pracy na tym pakiecie ogranicza się głównie do zainstalowania Zenoss, następnie diagnozowania i wyciągania wniosków z otrzymywanych z tego systemu raportów. Zope tak jak już to zostało wspomniane jest serwerem aplikacji udostępnianym na zasadach open source . Został napisany głównie w języku programowania Python. Serce Zope stanowi kilka komponentów, które zapewniają między innymi obsłu-
gę żądań http, składowanie obiektów, zarządzanie transakcjami, indeksowanie, dostęp do relacyjnych baz danych oraz wsparcie dla plug-inów pozwalających na łatwą rozbudowę. Zope wyróżnia się tym, że posiada transakcyjną bazę danych, która może przechowywać nie tylko treści i niestandardowe dane, ale także dynamiczny HTML, skrypty, relacyjne bazy danych i wiele innych elementów. Zastosowano w nim zintegrowany model zabezpieczeń.
Tabela 1. ?????????????????? Typ instalacji
Platforma systemowa
Obraz VMWare
MS Windows lub Linux
Instalacja z pakietów binarnych z graficznym instalatorem
Red Hat 3, 4, 5 CentOS 3, 4, 5 Fedora 6, 7, 8 openSUSE 10.2 openSUSE 10.3 SUSE Enterprise 10 Ubuntu Server 6.06, 8.04
Instalacja z pakietów rpm
RHEL 5 (x86_64) RHEL 5 (i386) RHEL 5 (src) RHEL 4 (x86_64) RHEL 4 (i386) RHEL 4 (src) CentOS 5 (x86_64) CentOS 5 (i386) CentOS 5 (src)
Instalacja z pakietów deb
Ubuntu, Debian (x86_64)
Warstwa użytkownika; Warstwa danych; Warstwa prezentacji.
Warstwa użytkownika umożliwia połączeUbuntu, Debian (i386) nie się aplikacji serwera Zenoss z klienInstalacja ze źródeł FreeBSD tem z wykorzystaniem przeglądarek: FiGentoo refox, IE 7, Seamonkey, Safari, Opera lub OpenSolaris Chrome. Dzięki tej warstwie mamy możSolaris 10 liwość zarządzania danymi z monitorowaMac OSX nych urządzeń sieciowych, które za pomoDowolna dystrybucja Linux cą SNMP przesyłają informacje do Zenoss. Cały proces jest w pełni zautomatyzowany. Tabela 2. Pola, związane z konfiguracją protokołów pocztowych Możemy także modyfikować i kontrolować SMTP Host Tutaj podajemy adres naszego serwera SMTP. wszystkie komponenty ręcznie. SMTP Port Tutaj definiujemy port na którym pracuje . DomyślW skład Zenoss wchodzą między innymi nie jest to port 25. takie komponenty oprogramowania (z otwarJeżeli serwer SMTP wymaga uwierzytelniania, aby tym kodem źródłowym) jak: Zope (serwer SMTP Username wysyłać pocztę, należy podać tutaj nazwę użytkowaplikacji), Python, MySQL, RRDtool. nika do którego będzie wysyłana poczta. Zenoss jest bardzo elastyczny, posiada SMTP Password Określa hasło dla użytkownika SMTP. bardzo wygodny panel sterowania (Rysunek 2), i można go z powodzeniem dosto- From Address for Emails Tutaj ustalamy adres e-mail z którego będą dosować do własnych potrzeb. Podstawą Zechodziły alerty. noss jest serwer aplikacji Zope, dzięki któ- Use TLS? Jeśli używany jest w SMTP Transport Layer Securiremu możliwe jest tworzenie systemów zaty, trzeba zaznaczyć to pole. rządzania treścią (CMS), portali interneSNPP Host Określenie protokołu Simple Network System przyjtowych, a także aplikacji webowych. Pomującego wiadomości. za tym zastosowano w nim także popularSNPP Port Numer portu dla protokołu SNPP. Domyślnie jest ną technologię AJAX, która umożliwia into port 444. terakcję aplikacji webowej bez konieczno-
www.lpmagazine.org
3
Technika ZENOSS – sposób na udany monitoring sieci Elementy, które wchodzą w skład te- • go serwera: •
•
•
•
Zserver – jest odpowiedzialny za odbieranie żądań kierowanych do serwera poprzez różne protokoły; Zpublisher – dostarcza do Zserver żądania obiektów. Weryfikuje także prawa i kończy transakcje; Transaction Manager – wspiera tzw. transakcje atomowe. Śledzi zmiany wszystkich obiektów w czasie trwania żądania. Wykonuje zatwierdzenie transakcji lub wycofanie w przypadku niepowodzenia; ZODB – to obiektowa baza danych, w której przechowywane są obiekty Zope;
•
ZEO – odpowiedzialna jest za współdzielenie obiektowej bazy danych poprzez instancje Zope; ZRDBM – tworzy interfejs umożliwiający na integrację Zope z innymi zewnętrznymi bazami danych.
wuje zdarzenia, kiedy nastąpi określone zdarzenie, takie jak np. przestój serwera. W przypadku zdarzeń dostępne są różne metody powiadomień, takie jak e-mail lub alarmy wysyłane na pager.
Zarządzanie siecią.
Dzięki Zope mamy udostępnione w syste- Warunkiem wstępnym do zarządzania z wymie Zenoss następujące obszary: korzystaniem Zenoss jest to, byśmy posiadali sieć i urządzenia, którymi możemy zarządzać. • Nawigacji i organizacji; • Zarządzania urządzeniami; • Zenoss składa się z trzech warstw. W • Dostęp do ustawień zarządzania systemem; każdej z tych warstw działają ściśle wy• Generowanie monitorów i raportów. specjalizowane moduły. • Zenmodeler – To jednorodny model śroWszystkie zdarzenia gromadzone są w badowiska i ustawień. Modelowane są zie danych serwera MySQL. Zenoss generoprzez niego dane z badanych urządzeń przez SSH, SNMP i skanowane porty; • Zendisc – Działa kiedy dodajemy podsieć do Zenoss i chcemy odkryć, wszystkie urządzenia istniejące w tej sieci; Ważną rolę odgrywają demony, które biorą udział w zbieraniu danych i ich udostępnianiu; • • • •
Rysunek 2. Panel sterowania Zenoss
•
Zenperfsnmp – Moduł odpowiedzialny za współpracę z RRDtool; Zencommand – Odpowiedzialny za współpracę z wtyczkami Nagios i Cacti; Zenprocess – Monitoruje dane takie jak procesor i używaną pamięć; Zenping – Pinguje urządzenia i zgłasza stan interfejsu. Dzięki temu Zenoss wie, czy dane urządzenie działa lub nie; Zenstatus – Testuje porty TCP i raportuje o włączeniu lub wyłączeniu usługi.
Informacje i zdarzenia.
Możemy tak skonfigurować Zenoss, by zawiadamiał nas przez e-mail lub pager, kiedy wystąpią określone zdarzenia. Zenoss może również automatycznie realizować odpowiednie reakcje na określone problemy. • •
•
Zenoss Core potrafi bezbłędnie i szybko wykryć wszystkie urządzenia, serwery, klienty, systemy operacyjne, aplikacje i procesy pracujące w sieci.
Rysunek 3. Panel zarządzanie usługami uruchamianymi w Zenoss
4
Zensyslog – tworzy zdarzenia na podstawie informacji z procesu syslog; Zeneventlog – tworzy zdarzenia na podstawie logów pobranych z systemów operacyjnych; Zentrap –Tworzy zdarzenia pochodzące od pułapek SNMP. Kiedy wystąpi problem na monitorowanym urządzeniu, to wygenerowany zostanie alarm;
styczeń 2009
Technika ZENOSS – sposób na udany monitoring sieci Proces rozpoznawania odbywa się na bieżąco i według ustalonego planu, automatycznie są wykrywane i rejestrowane zmiany w sieci, w tym także zmiany konfiguracji serwera, a trzeba przyznać, że jest to mechanizm nieobecny nawet w komercyjnych produktach. Zenoss rozpoznaje zmiany i pokazuje użyteczne detale na poziomie poszczególnych węzłów, podsieci lub całych sieci. Co więcej, Zenoss Core pozwala na monitorowanie zmian, na podstawie których mogą być generowane alarmy, w sytuacji gdy zmienia się konfiguracja sieci. Zenoss nie obsługuje jednak takiej liczby różnorodnych urządzeń, jak komercyjna konkurencja HP Open View czy Argent, nie monitoruje również serwerów Exchange czy SQL Server. Większe wrażenie niż rozpoznawanie sieci robią w nim narzędzia naprawcze, które mogą np. automatycznie wykonywać start lub zatrzymać usługi Windows. Podobnie jak większość komercyjnych produktów monitorujących i zarządzających siecią, pozwala na uruchamianie skryptów użytkownika.
wać następujące pakiety przed zainstalowaWybieramy system operacyjny na któniem Zenoss: rym będziemy przeprowadzać instalację. Do wyboru mamy takie oto systemy (w • MySQL 5.0.22 lub wyższa wersja My- wersjach 32 i 64 bitowych): SQL • Python 2.3.5 lub 2.4 wraz z środowiskiem • Red Hat 3, 4, 5; programistycznym Python • CentOS 3, 4, 5; • Fedora 6, 7, 8; Jeżeli Zenoss ma być kompilowany z kodu • openSUSE 10.2; źródłowego, musi być jeszcze zainstalowany: • openSUSE 10.3; SWIG, autoconf, i cały zestaw pakietów • SUSE Enterprise 10; niezbędnych do kompilacji oprogramowania. • Debian 4; • Ubuntu Server 6.06, 8.04.
Instalacja z pakietu binarnego
Zaczynamy od pobrania pakietu binarnego Gdy mamy już pobrany pakiet, uruchamiabezpośrednio ze strony: my shell i przełączamy się na użytkownihttp://www.zenoss.com/download/links?nt ka root, komendą su. Następnie uruchamia-
Instalacja i Konfiguracja Zenoss.
Zanim rozpoczniemy instalację i następnie konfigurację programu Zenoss musimy zapoznać się z jego wymaganiami. Zenoss wymaga platformy opartej na systemie Linux/Unix. Zenoss wspiera platRysunek 4. Uruchamiamy graficzny instalator formy przedstawione w Tabeli 1. Odnośnie wymagań stawianych serwerom na których będzie zainstalowany Zenoss, przedstawiają się one następująco: Sieci do 250 urządzeń 4 GB RAM Core 2 Duo E6300 1.86 75 GB wolnej powierzchni na dysku twardym Sieci powyżej 250 urządzeń 8 GB RAM XEON 5120 DC 1.86 75 GB co najmniej powierzchni dysków twardych w układzie RAID-1
Instalacja
Użytkownicy, którzy będą korzystali z wirtualnej wersji systemu lub też skorzystają z automatycznego instalatora nie muszą martwić się o zależności pakietów, ponieważ wszystko będzie już zintegrowane. Dla wszystkich Rysunek 5. Ekran powitalny instalatora innych instalacji, trzeba będzie zainstalo-
www.lpmagazine.org
5
Technika ZENOSS – sposób na udany monitoring sieci my graficzny instalator, za pomocą poniż- jest wybór katalogu w którym zostanie zaszego wpisu: instalowany Zenoss (Rysunek 6). Pozostało nam jeszcze podać hasło dla ./zenoss-stack-x.x.x-linux.bin serwera MySQL (Rysunek 7). Po skonfigurowaniu hasła dla serwera MySQL, instala(Rysunek 4) (x – aktualna wersja pakietu). Po tor jest już gotowy do właściwej instalacji pawydaniu powyższego polecenia wyświetli kietów systemu Zenoss (Rysunek 8). Teraz już się nam ekran powitalny instalatora (Ry- nastąpi właściwa instalacja pakietów (Rysusunek 5). Pierwszym etapem przy instalacji nek 9). Proces może potrwać dłuższą chwi-
lę. Po pomyślnym zainstalowaniu wszystkich pakietów, możemy zakończyć i uruchomić Zenoss (Rysunek 10).
Instalacja binarna.
Zenoss dostarcza binarne pakiety instalacyjne w formacie RPM dla RedHat, CentOS, SuSE i Fedory. Instalacja Zenoss w postaci pakietu rpm dla systemu Red Hat: •
Ściągamy najnowszą wersję pakietu RPM ze strony http://www.zenoss.com/download/;
•
Uruchamiamy okno terminalu i przechodzimy na użytkownika root : Su.
•
Jeżeli nie zostały zainstalowane jeszcze wszystkie zależności wykonujemy polecenie: yum -y install mysql mysql-server net-snmp net-snmp-utils / python python-dev
•
Instalujemy Zenoss: rpm -ivh zenoss-2.x.x-x.el5.i386 .rpm
Rysunek 6. Wybór katalogu dla instalacji Zenoss
•
Uruchamianie usługi SNMP: service snmp start
•
Uruchomienie serwera bazy danych MySQL: service mysqld start
•
Uruchamiamy Zenoss: /etc/init.d/zenoss start
Możemy przetestować naszą instalację. Otwieramy przeglądarkę i wprowadzamy adres na którym jest uruchomiony nasz serwer, należy pamiętać że nasłuch odbywa się na porcie 8080, na przykład http://localhost:8080. Musimy się jeszcze zalogować do panelu (Rysunek 11). Możemy od tego momentu rozpocząć przegląd dostępnych pozycji w menu systemu, np. topologię sieci (Rysunek 12).
Instalacja z kodu źródłowego.
Zenoss pozwala na instalację także z otwartego kodu źródłowego, dzięki temu nie jesteśmy ogra-
Rysunek 7. Konfiguracja hasła dla serwera MySQL
6
styczeń 2009
Technika ZENOSS – sposób na udany monitoring sieci niczeni przy instalacji wyłącznie do systemów Linux, instalację możemy przeprowadzić także na systemach z rodziny Unix. Instalacja tego typu wymaga jednak dużo więcej pracy i jest dużo bardziej czasochłonna niż instalacja z pakietów binarnych. Przed przystąpieniem do instalacji właściwego systemu, musimy dokonać aktualizacji niezbędnych pakietów. Będziemy musieli także doinstalować pakiety, które są wymagane do pracy całego systemu. Rozpoczynamy od komend (Ubuntu, Debian):
python; export PATH=$ZENHOME/bin:$PATH.
•
Utwórz katalog instalacyjny:
Możemy zainstalować Zenoss w dowolnym katalogu, ale musimy pamiętać by ustawić zmienną środowiska ZENHOME w .bashrc. Pobieramy ze strony najnowszą wersję kodu źródłowego:
mkdir /usr/local/zenoss
•
tar xzvf zenoss-x.x-x.tar.gz
Zmień właściciela katalogu na użytkownika zenoss: I przenosimy np. do katalogu /home/zenoss chown zenoss /usr/local/zenoss
mv zenoss-x.x-x /home/zenoss
sudo apt-get update sudo apt-get upgrade
Teraz można zainstalować bazę pakietów zależności wymaganych przez Zenoss: sudo apt-get install mysql-server; sudo apt-get install mysql-client; sudo apt-get install libmysqlclient15-dev; sudo apt-get install python2.4; sudo apt-get install python2.4-dev; sudo apt-get install build-essential; sudo apt-get install snmp; sudo apt-get install snmpd; sudo apt-get install autoconf; sudo apt-get install swig; sudo apt-get install python-setuptools.
Ubuntu instaluje Pythona w wersji 2.5. Jednak Zenoss wymaga wersji 2.4, by mógł właściwie zbudować wszystkie jego zależności. Więc przed Rysunek 8. Instalator gotowy do instalacji pakietów rozpoczęciem instalacji Zenoss, należy zmienić symlink do wersji 2.4: unlink /usr/bin/python ln -s /usr/bin/python2.4 /usr/bin/ python
Po instalacji można zmienić wszystko na poprzednie ustawienia /usr/bin/python, przez unlink /usr/bin/python ln -s /usr/bin/pythong2.5 /usr/bin/ python
Utwórz użytkownika Zenoss: useradd zenoss
Dodaj do zmiennych środowiskowych ZENHOME i PYTHONPATH w pliku .bashrc poniższe pozycje: export ZENHOME=/usr/local/zenoss; export PYTHONPATH=$ZENHOME/lib/
Rysunek 9. Właściwa instalacja pakietów
www.lpmagazine.org
7
Technika ZENOSS – sposób na udany monitoring sieci Zmieniamy właściciela na użytkownika ze- W katalogu z pakietami Zenoss znajdziesz Teraz pozostało nam skonfigurować ponoss skrypt install.sh. Należy go uruchomić litykę ściany ogniowej, snmp na komputeprzez wydanie polecenia: rach z systemami Linux, Windows i możechown -R zenoss /home/zenoss/ my przystąpić do uruchomienia systemu. zenoss-x.x-x ./install.sh Domyślnie Zenoss nie uruchamia się automatycznie, dlatego też trzeba odpalić Jesteśmy już gotowi, by zbudować z kodu źró- Kolejny etap to konfiguracja serwera My- go ręcznie: dłowego właściwą aplikację. SQL. Aby zbudować i zainstalować Zenoss, Na koniec jeszcze nadajemy odpowied- zenoss start uruchamiamy zawarty w katalogu skrypt in- nie uprawnienia. stall.sh. Skrypt zbiera informacje o konfiguJeżeli chcemy, by system uruchamiał się racji wszystkich niezbędnych do dalszej pra- chown root:zenoss /usr/local/ automatycznie, musimy jako użytkownik cy komponentów. zenoss/bin/zensocket root wykonać poniższe czynności: Z poziomu shella mamy jeszcze do wy- chmod 04750 /usr/local/zenoss/bin/ konania parę kroków. Zaloguj sie jako użyt- zensocket cp /usr/local/zenoss/bin/zenoss kownik zenoss: /etc/init.d/ Jeżeli nastąpią jakieś błędy przy instalacji update-rc.d zenoss defaults 95 su - zenoss zostaną one zapisane w pliku zenbuild.log Teraz już po restarcie Zenoss będzie uruchamiał się automatycznie. Możemy sprawdzić status systemu za pomocą: zenoss status
Ustawienia portów w ścianie ogniowej.
Zenoss wymaga dostępu do kilku otwartych portów, aby mógł skontaktować się z monitorowanymi systemami. W tym celu należy mu udostępnić następujące porty: • • •
Rysunek 10. Etap końcowy instalacji
8080 dla dostępu do interfejsu przez HTTP. 514 port odpowiedzialny za komunikację z syslog. 22 dostęp do SSH.
Aby ułatwić monitoring, systemy w naszej sieci muszą mieć zezwolony dostęp do następujących portów: •
161 dla SNMP i 22 dla SSH
SNMP w systemie Linux.
Zenoss używa protokołu SNMP do zbierania informacji, takich jak dane systemu, uruchomione procesy, parametry łącza i inne tego typu informacje. Urządzenia w sieci informują Zenoss o swoich parametrach przez agenta SNMP, który jest zainstalowany na każdym z tych urządzeń.
Instalacja SNMP w systemie Linux
Jeżeli planujemy zbierać informacje w sieci używając SNMP, musimy zainstalować SNMP na komputerach i innych urządzeniach, które będą wchodziły w skład kontrolowanych elementów.
Rysunek 11. Logowanie do systemu (domyślnie admin/zenoss)
8
styczeń 2009
Technika ZENOSS – sposób na udany monitoring sieci Użytkownicy systemu Linux mogą użyć (configure /etc/snmp/ do zainstalowania SNMP poleceń: snmpd.local.conf) yum -y install net-snmp
lub apt-get install snmpd
Wszystko zależy w tym przypadku od używanej dystrybucji. Po zainstalowaniu zalecana jest drobna zmiana konfiguracji w pliku snmpd.conf. Zanim jednak zostaną dokonane jakieś zmiany warto stworzyć sobie kopię bezpieczeństwa tego pliku. Więc jako użytkownik root wykonamy takie oto polecenie:
Wybieramy komponent Dodaj i usuwanie programów i wybieramy Dodaj/Usuń składniki systemu Windows (Rysunek 14). Pozostało nam tylko skonfigurować jeszcze Klikamy na Narzędzia zarządzania i monipułapki poprzez dodanie w sekcji Further torowania i wybieramy szczegóły (Rysunek Information: 15). Wybieramy Protokół Simple Network Management Protocol i Dostawca WMI trapcommunity public SNMP i zatwierdzamy (Rysunek 16). Gdy trapsink default mamy zainstalowane WMI, możemy dostać szczegółowe informacje o uruchomioInstalacja SNMP nych usługach na serwerze i mieć potwierw systemach Windows dzenie o tym, że jest właściwie skonfiguroAby zainstalować WMI i SNMP wchodzi- wany. Aby sprawdzić konfigurację, uruchamy do Panelu sterowania (Rysunek 13). miamy komendę wbemtest (Rysunek 17) z
cp /etc/snmp/snmpd.conf /etc/snmp/ snmpd.conf.bak
Utworzymy w ten sposób kopię bezpieczeństwa tego pliku. Teraz możemy już przystąpić do modyfikacji pliku. Zaczynamy od tego że w sekcji zaczynającej się: First, map the community name into a security name, należy dodać: com2sec notConfigUser default public
Natomiast w sekcji która zaczyna się od Second, map the security names into group names, dodajmy następujące wpisy: group notConfigGroup v1 notConfigUser; group notConfigGroup v2c
Rysunek 12. Graficzna topologia sieci
notConfigUser.
W następnej sekcji, która zaczyna się od: Third, create a view for us to let the groups have rights, dodamy taki oto wpis: view systemview included .1
Dalej modyfikując ten plik, odnajdźmy sekcję: Finally, grant the 2 groups access to the 1 view with different write permissions, dodajmy następującą linię: access notConfigGroup "" any noauth exact systemview none none
Dodamy teraz w sekcji System Contact Information: syslocation Unknown (edit /etc/ snmp/snmpd.local.conf) syscontact Root <root@localhost>
Rysunek 13. Panel sterowania
www.lpmagazine.org
9
Technika ZENOSS – sposób na udany monitoring sieci poziomu Start/Uruchom. Wybieramy przycisk połącz i zmieniamy wartość domyślną na \root\cimv2. Gdy jesteśmy połączeni możemy teraz wybrać pozycję Kwerenda i zadać zapytanie select * from win32_service. Jeżeli wszystko jest w porządku zobaczymy wszystkie dostępne usługi (Rysunek 18 i 19).
go systemu i tylko w ten sposób wszyscy użytkownicy powinni się logować do systemu poprzez swoje konta, a nie jako użytkownik admin. Poszczególnym użytkownikom można przypisać takie same uprawnienia jakie ma konto administratora. Tak jak w każdym systemie, nie używanie konta administratora ma kilka zalet: Zmiany ustawień są śledzone za pomocą Konfiguracja użytkowników. nazwy użytkownika. W Zenoss należy skonfigurować użytkowniZasady alarmowania mogą być określoków dla każdej osoby, która będzie używała te- ne dla każdego użytkownika z osobna.
Dostęp może być ograniczony na użytkownika. Aby dodać nowego użytkownika należy: • • • • •
Wybrać Settings z panelu nawigacyjnego; Wybrać kartę Sers; Następnie Add by dodać nowego użytkownika; Wpisz nazwę użytkownika i adres e-mail w oknie dialogowym i dodaj użytkownika; Kliknij przycisk OK, aby utworzyć konto użytkownika.
Nowa nazwa użytkownika zostanie dodana do listy użytkowników wraz z kolumną adres e-mail, pager, adresem i jego rolą. Jednak zanim nowy użytkownik będzie mógł się zalogować, musimy podać hasło. Aby utworzyć i skonfigurować hasło do konta, wybieramy edycję konta użytkownika, klikając na nazwę użytkownika z tabeli użytkowników. W edycji użytkownika mamy możliwość ustawienia hasła, przydzielenia użytkownika do określonej roli i grupy oraz ustawienia adresu e-mail na który będą wysyłane alerty. Każdemu użytkownikowi możemy przypisać listę nadzorowanych obiektów, w skład których wchodzą urządzenia, systemy, grupy i lokalizacje. Przez dopasowanie użytkowników do konkretnych obiektów, mamy możliwość łatwego stwierdzenia, kto jest odpowiedzialny za dany obiekt. Aby dodać obiekt, należy wybrać odpowiednią opcję z menu Administered Objects. Jeśli chcemy dodać urządzenie, to w oknie dialogowym Add Device i wybieramy typ z listy urządzeń. Jeśli chcemy dodać system operacyjny, grupę, lub lokalizację, wybieramy dany obiekt z rozwijanej listy. Aby dodać reguły ostrzegania do poszczególnych użytkowników lub też grup wybieramy zakładkę Alerting Rulet i dalej:
Rysunek 14. Dodawanie lub usuwanie programów
• • • • •
Wybierz Add Alerting Rules z tabeli menu Alerting Rulet; Wprowadź opisową nazwę w Add Alerting Rule; Kliknij przycisk OK, aby dodać nową regułę; Kliknij na nazwę w tabeli Alerting Rules, aby edytować właściwości reguły; Na koniec konfigurowanie alertu i kliknij przycisk Zapisz.
Właściwości w Alerting Rules: • Rysunek 15. Kreator składników systemu Windows
10
styczeń 2009
Delay (w sekunach) - Opóźnienie wysłania wpisu w określonym czasie. Wartość domyślna to 0;
Technika ZENOSS – sposób na udany monitoring sieci •
• • •
•
Enabled - Ustaw na true (prawda), aby umożliwić wysyłanie alertu. Jeśli wartość jest false (fałsz), nie zostanie wysłany alert; Action – Należy wybrać page lub email na który będą wysyłane alerty; Address (opcjonalny) - Wprowadź dowolny prawidłowy adres e-mail; Repeat Time (w sekundach) - Powtórz zasady ostrzegania przez określony czas. Domyślnie jest wartość 0; Where – Wybierz kryteria zdarzeń. Dodaj lub w razie potrzeby usuń wybrane kryteria.
• • •
Weekly (co tydzień); Pola, związane z konfiguracją protokołów Monthly (miesięcznie); pocztowych przedstawione są w Tabeli 2. First Sunday of the month (pierwZ ciekawych opcji możemy tutaj jeszcze szą niedzielę miesiąca). znaleźć Google Maps API Key. Wprowadzamy tutaj klucz API do Map Google dzięki teUstawienia systemu poczty mu będzie możliwe wyświetlanie lokalizacji Zanim Zenoss będzie mógł wysyłać alerty zarządzanych systemów (Rysunek 20). musimy skonfigurować dwa protokoły pocztowe Simple Mail Transport Protocol (SMTP) Archiwizacja i protokoł Simple Network System Paging Zenoss oferuje dwa programy narzędzioProtocol (SNPP). Aby uzyskać dostęp do ich we dostępne z poziomu shella, które umożustawień, wybierz Settings w panelu nawiga- liwiają nam tworzenie kopii zapasowych cyjnym. głównych elementów i konfiguracji. Po-
Wiadomości
Podczas edycji naszych reguł ostrzegania mamy możliwość, aby dostosować teksty ostrzeżeń, które Zenoss wysyła. Aby wyświetlić teksty wiadomości, kliknij na zakładkę Message.
Harmonogram
Możemy ustawić harmonogram dla każdej reguły alertów tak, że będą one wysyłane tylko w określonym czasie. Z zakładki Edit kliknij na zakładkę Schedule, aby wyświetlić tabelę Active Periods. Tabela ta wyświetla listę harmonogramów posortowanych według Name (nazwy) kolumny Start, Duration (czas trwania), Repeat (powtórzeń), i Enabled (aktywności). Aby dodać harmonogram, wybierz Dod Add Rule z menu Active Periods. Wprowadź nazwę po pojawieniu się monitu. Kliknij przycisk OK, aby dodać nowy harmonogram Active Periods. Kliknij na naRysunek 16. Narzędzia zarządzania i monitorowania zwę, aby wyświetlić stronę Status. Na stronie Status ustawiamy czas aktywności określonych alertów. Mamy tutaj możliwość wyboru: •
•
•
•
Enabled – Ustaw na true, aby umożliwić wysyłanie alertów w określonym terminie i z określonym czasie trwania; Start – Ustaw datę rozpoczęcia, wraz z godziną i minutą. Godziny są podane w 24-godzinnym zakresie; Duration – Tutaj wprowadzamy dni, godziny i minuty, aby zachować aktywność alertów po uruchomieniu; Repeat – Ta pozycja odpowiedzialna jest za wybór interwału i częstotliwości alertów. Dostępne są tutaj następujące odstępy czasowe: • • •
Never (nigdy); Daily (codziennie); Every weekday ( każdego tygodnia);
Rysunek 17. Tester oprzyrządowania instrumentacji zarządzania Windows
www.lpmagazine.org
11
Technika ZENOSS – sposób na udany monitoring sieci lecenie zenbackup tworzy kopię zapasową W celu przywrócenia pliku kopii zapasonastępujących elementów: wej, musimy znać nazwę pliku kopii zapasowej i hasła do niego. • zdarzeń serwera MySQL; Do odzyskiwania archiwum używamy • bazy danych serwera aplikacji Zope; polecenia zenrestore. Aby zobaczyć listę • katalog $ZENHOME/etc. wszystkich dostępnych opcji w tym poleceniu, należy użyć opcji pomocy --help: Aby utworzyć kopię zapasową, należy uruchomić następujące polecenia jako użytkow- zenrestore --help. nik systemu: Aby przywrócić kopię zapasową naszych pli• zenoss stop; ków, uruchom następujące polecenia: • zenbackup; • zenoss start. zenoss stop; zenrestore - $ file = ZENHOME/
Przypuśćmy, że chcemy dodać do monitorowania serwer Linuxowy o adresie 192.168.1.200. W tym celu wypełnimy takie oto pola: • • • • •
Device Name – tutaj wprowadzamy jego adres IP, czyli 192.168.1.200; Device Class ustawimy tutaj jego klasę jako, np. /Server/Linux; OS Manufacturer – to nazwa zarządzanego serwera, np. SLES 10; Location – to fizyczna lokalizacja naszego serwera, np. pokój #203; System – możemy ustawić na np. serwer produkcyjny; Group – tutaj definiujemy grupę, np. serwery testowe. Discovery Protocol – wybieramy tutaj protokół SNMP, dzięki któremu możemy monitorować nasz serwer (oczywiście wcześniej, po stronie serwera musi być skonfigurowany ten protokół) Snmp Community – public konfiguracja tylko do odczytu lub private, jeżeli chcemy także sterować danym urządzeniem. W tym przypadku wybieramy public.
Należy zatrzymać usługi Zenoss przed uru- backups/zenbackup_20080101.tgz • chomieniem tego polecenia, zanim zacznie- dbpass = mojehasło; my wykonywać kopię zapasową. Aby zoba• czyć listę dostępnych opcji, należy urucho- zenoss start. mić polecenie z opcją pomocy: W ten sposób zastąpimy już istniejące ustazenbackup -- help. wienia w naszym systemie. • Zenbackup tworzy spakowany plik w katalo- Dodawanie wybranych gu $ZENHOME/backups. Nazwa pliku rozpo- urządzeń do monitorowania. czyna się od nazwy zenbackup, następnie jest Aby dodać pojedyncze urządzenie, wybiedodawana data kopii a rozszerzeniem jest .tgz, ramy Add Device z panelu nawigacyjnego. co oznacza że całość jest skompresowana, np. Strona Add Device jest podzielona na kilka zenbackup_20080101.tgz. sekcji (Rysunek 21). Podsumowanie Należy pamiętać, że nawet najlepszy system monitorowania nie zapewni nam pełnej ochrony sieci i systemów. Jest to po prostu narzędzie wspomagające proces kontroli, dzięki szybkiej możliwości zbadania systemów pod kątem konfiguracji. Dane, które otrzymamy powinny być punktem wyjściowym dla osób przeprowadzających nadzór. Firma poza samym systemem oferuje dwa poziomy wsparcia technicznego: brązowy i złoty, o zróżnicowanych cenach. Przykładowo wsparcie brązowe dla 50 Rysunek 18. Kwerenda urządzeń kosztuje 3300 USD rocznie, natomiast złote dla tysiąca urządzeń – 66 000 USD rocznie. Dokumentacja całego projektu jest wyczerpująca, łatwa w posługiwaniu i dokładna. Dużym plusem systemu Zenoss jest to, że bardzo szybko się instaluje, szczególnie, jeżeli używamy instalatora binarnego lub gdy wolimy używać obrazów vmware. Nie jest wymagana także zbyt skomplikowana konfiguracja poinstalacyjna. Pod tym względem jest to najbardziej przyjazny dla administratorów system monitorowania. Zenoss Core zapewnia wartościowe funkcje kontrolne sieci. Jego narzędzia zawierają wiele mechanizmów, jakie znaleźć można zazwyczaj w produktach komercyjRysunek 19. Odpowiedź na zadaną kwerendę nych. Wydaje się być najciekawszą pozycją
12
styczeń 2009
Technika ZENOSS – sposób na udany monitoring sieci sać sać sać sać
dopisać dopisać dopisać dopisać dopidopisać dopisać dopisać dopisać dopidopisać dopisać dopisać dopisać dopidopisać dopisać dopisać dopisać
a 1/3 AMA n REKL
tego typu na rynku oprogramowania open source. dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopisać dopi-
Rysunek 20. Wykorzystanie Google Maps API do wyświetlania lokalizacji monitorowanych systemów (źródło www.zenoss.com)
Rysunek 21. Dodawanie pojedynczych urządzeń z poziomu zakładki Add Device
O autorze Autor jest informatykiem, członkiem zespołu naukowego do opracowania, przygotowania i wdrożenia w archiwach państwowych Zintegrowanego Systemu Informacji Archiwalnej, który jest pierwszym systemem informatycznym, tworzonym przez administrację rządową w Polsce, opartym w całości na tzw. otwartym oprogramowaniu. Autor zajmuje się Linuksem od ponad 12 lat. Hobby informatyczne to systemy IBM z/OS, OS/400, AIX i SAP R/3. Kontakt z autorem: gsgalezowski@gmail.com
www.lpmagazine.org
13