9.7. Serwis obiektów Bazy Danych
W początkowej fazie pracy modułu, gdy Baza Informacji o Sieci nie
zawiera jeszcze obiektów odkrytych przez dnmmsd to proces odkrywania
może się rozpocząć na dwa sposoby:
od odpytania wskazanego urządzenia, jeśli została podana jego nazwa
(opcja --node-2-discover);
od odkrywania sieci lokalnej, w której pracuje stacja zarządzania.
Proces odkrywania może zostać pominięty dla adresów wskazanych przez odpowiednie wpisy w
konfiguracji adresów wykluczonych z procesu odkrywania.
Urządzenia odkrywane są poprzez wysyłanie na poszczególne
adresy IP zapytań SNMP. Adresy IP są kolejnymi adresami z sieci, która została wskazana przez
administratora jako podlegająca procesowi zarządzania.
|
Poza siecią lokalną (ewentualnie) żadna sieć nie jest automatycznie skanowana
bez decyzji administratora systemu.
|
Zapytania SNMP, zarówno do nowoodkrywanych urządzeń jak i do zawartych już w
Bazie, są wysyłane z community na podstawie informacji zawartych w
konfiguracji wpisów SNMP community.
Podobny proces, jak w momencie odkrywania,
odbywa się dla każdego monitorowanego urządzenia, co określony odcinek czasu.
Ten odcinek czasu jest jednym z atrybutów grupy stanów, do której należy dany obiekt.
Aktualizowana jest wtedy cała wiedza o konfiguracji urządzenia przechowywana w Bazie Danych.
Proces ten domyślnie jest wykonywany co godzinę. Może on zostać przyspieszony,
jeśli dnmmsd wykryje wcześniej błąd w odpowiedzi od danego urządzenia.
Podczas procedury dodawania nowoodkrytego urządzenia do Bazy dodawane są
wszystkie jego interfejsy sieciowe i sąsiedzi BGP (jeśli takich posiada). Urządzenie
jest także skanowane pod kątem wszystkich aktywnych i dozwolonych dla badanego
adresu IP grup zarządzanych elementów. Do obiektów pingowanych dodawany jest także
adres IP jednego z interfejsów tego
urządzenia (preferowany jest adres odpowiadający nazwie urządzenia określonej
jako sysName). Podczas aktualizacji informacji o urządzeniu sprawdzana jest
obecność wszystkich jego interfejsów sieciowych, sąsiadów BGP oraz zarządzanych
elementów odkrytych na podstawie odpowiednich dla tego urządzenia grup zarządzanych
elementów. Nowoodkryte interfejsy, sąsiedzi BGP oraz zarządzane elementy są dodawne,
zaś te, które nie mogą zostać odnalezione są zaznaczane jako usunięte.
Poza okresową aktualizacją konfiguracji każdego monitorowanego
urządzenia o wiele częściej dokonywany jest proces sprawdzania stanów
interfejsów sieciowych, sąsiadów BGP, zarządzanych elementów oraz pingowanych obiektów. O częstotliwości
decyduje jedno z pól grupy stanów, do której dany element należy. W przypadku
interfejsów sieciowych oraz sąsiadów BGP sprawdzenie stanów polega na zapytaniu
urządzenia o stan administracyjny oraz operacyjny danego elementu. Dla zarządzanych
elementów jest to sprawdzanie odpowiednich zmiennych, wskazanych przez użytkownika
w definicji macierzystej dla danego elementu grupy zarządzanych elementów.
Dla obiektów pingowanych jest to wysłanie pięciu krótkich pakietów ICMP-ECHO na dany adres IP
w odstępach 1-sekundowych. Zależnie od otrzymanej odpowiedzi dotyczącej danego
elementu obliczany jest jego stan. Dla interfejsów sieciowych oraz sąsiadów BGP
za stan poprawny uznawany jest stan UP (stan ESTABLISHED) pod warunkiem, że stan
administracyjny jest UP. Jeśli jest DOWN to stan taki zawsze jest uznawany za
pozytywny.
Dla zarządzanych elementów wartości rozumiane jako poprawne lub nie zależą od definicji
macieżystej grupy zarządzanych elementów.
W przypadku obiektów pingowanych brany jest pod uwagę procent
uzyskanych odpowiedzi na wysłane pakiety na dany adres IP. Sytuacja pozytywna
jest oczywiście wtedy, gdy procent ten wynosi 100%.
Po dokonaniu wyliczeń stanu sprawdzonego elementu informacja ta jest
propagowana do poziomu wyżej w przypadku interfejsu sieciowego oraz sąsiada
BGP. Dzieje się tak tylko wtedy, kiedy stan uległ zmianie. Operacja ta jest
kontynuowana na coraz to wyższe poziomy rodziców obiektów, których stan uległ
zmianie. Dozwolone są następujące stany:
Not managed - element nie podlega zarządzaniu;
Ok - stan elementu jest poprawny;
Minor fault - stan elementu nie jest w pełni poprawny;
Major fault - błąd elementu jest znaczny;
Critical - element jest w stanie krytycznym;
Was minor fault - stan elementu nie był w pełni poprawny, a teraz jest już lepszy;
Was major fault - błąd elementu był znaczny, a teraz element jest już w lepszym stanie;
Was critical - element był w stanie krytycznym, a teraz jest już w lepszym stanie;
Unknown - stan elementu jest nie znany;
Error - wystąpił błąd dla danego elementu (stan ten powinien utrzymywać się bardzo krótko);
Deleted - element nie został odnaleziony w aktualnej konfiguracji urządzenia.
Stan elementu nie ulega zmianie i tym samym nie wpływa na wyższy poziom (swojego rodzica lub właściciela),
gdy ustawiona jest flaga Is passive elementu.
Przy każdorazowej zmianie stanu interfejsu sieciowego, sąsiada BGP, zarządzanego elementu oraz pingowanego obiektu dokonywane
jest logowanie tego faktu do odpowiedniej tablicy Bazy Danych.
Dla każdego elementu istnieje dodatkowa możliwość informowania o sytuacjach
alarmowych. Dla każdego interfejsu sieciowego, sąsiada BGP oraz zarządzanego elementu, będącego
w stanie Critical uruchamiany jest, co 5 minut skrypt:
netinterface-alarm.sh
dla interfejsów sieciowych, bgppeer-alarm.sh dla
sąsiadów BGP oraz mitem-alarm.sh dla
zarządzanych elementów. Dla obiektu pingowanego, kiedy procent odpowiedzi dla niego jest mniejszy niż 100%,
to uruchamiany jest program ping-alarm.sh.
Jest on uruchamiany cyklicznie, co pewien czas, jeśli sytuacja nie uległa poprawie.
Interwał czasu pomiędzy kolejnymi alarmami jest atrybutem grupy obiektów pingowanych,
do której dany obiekt należy. Zagadnienie konfigurowania alarmu dla danego obiektu
jest dokładniej omawiana w dokumentacji modułu Mapy Zarządzania Siecią (xdnmm).