wyciągnięcie urządzeń i ich połączeń z bazy sql dla NAGIOS
Witam, potrzebuje wyciągnąć z bazy posgresql lms urządzenia sieciowe wraz z ich połączeniami do "parentów" (parentem nadrzędędnym jest u mnie SRV_NAGIOS -zdefiniować chce to na sztywno w zapytaniu) w celu generowania konfigów dla nagios. Przykładowa budowa sieci: |----SRV_NAGIOS------| INTERNET---|SWITCH_1| |SWITCH_2|-----|URZADZ_1|------|URZADZ_2| |----|ROUTER|--------| | |URZADZ_1A| Potrzebuje coś w ten deseń: select name, inet_ntoa(ipaddr) as IP, parent_name from nodes where ownerid=0 and name like '<wzorzec>' ... ale pojęcia nie mam jak to zapisać. Przykładowy wpis pliku konfiguracji nagios który che uzyskać wygląda +- tak: define host{ use generic-host host_name SWITCH_2 (to z lms) alias SWITCH_2 (to z lms) address ( switch niezarzadzalny - puste) parents SRV_NAGIOS } define host{ use generic-host host_name URZADZ_1 (to z lms) alias URZADZ_1 (to z lms) address 192.168.2.5 (to z lms) parents SWITCH_2 (to z lms - najtrudniejsze :D) } Proszę o pomoc - pewnie left join się kłania, ale z sql jestem cieniutki :/ Wersja LMS: 1.10.0 Urgo (1.868.2.8/1.19.2.1) Wersja LMSDB: 1.10.0 Urgo (1.42.2.1/1.38.2.1) Wersja PostgreSQL: 8.2.3 Wersja PHP: 5.2.0-8+etch10 Wersja Smarty: 2.6.18 pozdrawiam - malpio !DSPAM:47d714da268728362916074!
malpi wrote:
Witam, potrzebuje wyciągnąć z bazy posgresql lms urządzenia sieciowe wraz z ich połączeniami do "parentów" (parentem nadrzędędnym jest u mnie SRV_NAGIOS -zdefiniować chce to na sztywno w zapytaniu) w celu generowania konfigów dla nagios.
Przykładowa budowa sieci:
|----SRV_NAGIOS------| INTERNET---|SWITCH_1| |SWITCH_2|-----|URZADZ_1|------|URZADZ_2| |----|ROUTER|--------| | |URZADZ_1A|
Potrzebuje coś w ten deseń:
select name, inet_ntoa(ipaddr) as IP, parent_name from nodes where ownerid=0 and name like '<wzorzec>'
... ale pojęcia nie mam jak to zapisać.
a nie jest to takie proste, bo w bazie nie przechowujemy kierunku połączeń, więc zapytaniem sql chyba się nie da, musisz napisać skrypt. Połączenia urządzeń są w tabeli netlinks. -- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.alec.pl !DSPAM:47d7895e36321010189975!
a nie jest to takie proste, bo w bazie nie przechowujemy kierunku połączeń, więc zapytaniem sql chyba się nie da, musisz napisać skrypt. Połączenia urządzeń są w tabeli netlinks.
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.alec.pl
Mógłbyś podpowiedzieć +- jak taki skrypt powinien wyglądać? Generalnie może jakoś wykorzystać część kodu generatora mapy - tam sobie wybieram urządzenie które jest "parentem" + wyłączam generowanie połączeń do hostów i otrzymuje to co mnie interesuje, tyle że w formie graficznej. malpio !DSPAM:47d7995350948980171022!
uczestnicy (2)
-
A.L.E.C -
malpi