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).