Posts Tagged jb336

RHQ Server – dodanie monitorowania zainstalowanych pakietów RPM

W serwerze RHQ istnieje możliwość monitorowania listy zainstalowanych pakietów RPM. Włączyć tę funkcję można w następujący sposób:

  1. Wybierz serwer (platformę) w której chcesz włączyć monitorowanie RPM (w moi przypadku był to system oparty o RHEL 5.5).
  2. Wybierz opcję INVENTORY->CONNECTION
  3. Wybierz przycisk EDIT, aby móc modyfikować parametry.
  4. Włącz opcję Enable Content Discovery.

    RHQ Server: monitorowanie pakietów RPM

    RHQ Server: monitorowanie pakietów RPM

  5. Zatwierdź przyciskiem OK.

Powyższe kroki pozwolą na włączenie monitorowania zainstalowanych pakietów. Aby je przeglądać, należy wybrać teraz zakładkę CONTENT. Znajdzie się tam lista wszystkich pakietów, z możliwością ich filtrowania oraz sortowania.

RHQ Server: lista zainstalowanych pakietów RPM

RHQ Server: lista zainstalowanych pakietów RPM

Tags: , , , , , ,

Monitorowanie serwera Apache przy użyciu RHQ Server – konfiguracja RHQ

Serwer RHQ umożliwia monitorowania funkcjonowania serwera WWW Apache. Konfiguracja połączenia między agentem monitorującym a Apachem nie jest jednak zbyt prosta. Trzeba nie tylko odpowiednie informacje podać w RHQ, ale również dodać dodatkowe moduły do Apache oraz je skonfigurować.

Jeżeli chcesz, aby poprawnie zadziałało Ci monitorowanie, oraz udało się wszystko skonfigurować tak jak jest to podane poniżej, napierw zapoznaj się z artykułami, w których znajdują się informacje w jaki sposób należy skonfigurować Apacha:

Konfigurację można podzielić na dwa kroki: najpierw należy dodać serwer do zasobów Apache a następnie zdefiniować (poprawić) wpisy do poszczególnych serwerów wirtualnych.

Dodanie serwera Apache do zasobów RHQ

Pierwszym krokiem będzie dodanie serwera Apache do zasobów monitorowanych. Jeżeli serwer jest już widoczny na liście, można ten punkt opuścić i od razu przejść do konfiguracji połączenia w ustawieniach serwera.

Pierwszym krokiem będzie wybór serwera (platformy) na której jest zainstalowany serwer, a następnie wybranie zakładki INVENTORY->OVERVIEW. Na dole strony znajdziemy przycisk pozwalający na dodanie nowego zasobu:

RHQ: dodanie serwera Apache

RHQ: dodanie serwera Apache

Teraz należy zdefiniować potrzebne ścieżki dostępu do poszczególnych elementów serwera (poniższe ścieżki są podane na przykładzie Debiana):

  • Server Root = /etc/apache2
    absolutna ścieżka dostępu do katalogu głównego Apacha
  • Executable Path = /usr/sbin/apache2
    ścieżka dostępu do pliku wykonywalnego serwera Apache
  • Control Script Path = /etc/init.d/apache2
    ścieżka dostępu do skryptu kontrolującego Apacha
  • Config File = /etc/apache2/apache2.conf
    ścieżka dostępu do pliku konfiguracyjnego
  • URL = http://blog.stelmisoft.pl:80/
    adres URL do jakiegoś zasobu udostępnianego przez serwer, będzie on badany w celu sprawdzenia czy serwer działa
  • SNMP Agent Host = 127.0.0.1
    konfiguracja agenta SNMP, który będzie monitorował serwer Apache (będziemy go konfigurować w dalszej części wpisu)
  • SNMP Agent Port = 1610
    port, na którym nasłuchuje agent
  • SNMP Agent Community = public
  • Error Log File Path = /var/log/apache2/error.log
    Lokalizacja pliku w którym będą znajdowały się komunikaty o błędach
  • Error Log Events Enabled = Yes
    Tworzenie nowych zdarzeń w momencie wystąpienia błędów w logu.
  • Error Log Minimum Severity = error
    Minimalny poziom ważności informacji w logu, który będzie użyty
  • Error Log Includes Pattern =  
  • Zatwierdzenie powyższych informacji umożliwi serwerowi RHQ podstawowe monitorowanie dostępności serwera Apache. Będziemy także mieli możliwość zarządzania nim (start, restart, zatrzymanie).

    Konfiguracja serwerów wirtualnych

    Jeżeli serwer Apache został wykryty popranie, to w jego zakładce INVENTORY->OVERVIEW powinny się pokazać wszystkie wykryte serwery wirtualne. Informacje te są pobrane z SNMP.

    Należy teraz zdefiniować dla każdego z tych serwerów odpowiednie pliki, w których będą się znajdowały czasy odpowiedzi serwera (tworzone przez moduł Response Time). Kolejne kroki, które trzeba wykonać:

    1. Wybieramy serwer wirtualny, w moim przypadku to będzie blog.stelmisoft.pl
    2. Otworzyć zakładkę INVENTORY->CONNECTION
    3. Nacisnąć przycisk EDIT
    4. Zmodyfikować linię Response Time Log File. Powinna ona wskazywać na miejsce przechowywania zapisów przez moduł Response Time.

    I to wszystko, po powtórzeniu tych kroków dla wszystkich serwerów powinno działać monitorowanie serwera Apache.

    Źródła

Tags: , , , , ,

Monitorowanie serwera Apache przy użyciu RHQ Server – instalacja modułu SNMP

Serwer RHQ może monitorować Apache, ale do uzyskania informacji o wirtualnych serwerach wy,aga instalacji modułu SNMP. Umożliwi to agentowi monitorującemu pobieranie tych informacji bezpośrednio z serwera Apache, bez potrzeby analizy plików konfiguracyjnych.

Pozostałe wpisy z tej serii to:

Aby mieć możliwość instalacji tego modułu trzeba spełnić kilka warunków:

  • Apache musi być skompilowany z obsługą modułów
  • należy skompilować moduł lub użyć plików binarnych oraz zainstalować w ramach serwera Apache
  • należy odpowiednio skonfigurować serwer tak, aby z niego korzystał

Informacje skąd można pobrać pliki źródłowe można znaleźć we wpisie: Monitorowanie serwera Apache przy użyciu RHQ Server – instalacja modułu Response Time.

Po dekompresji pliku connector-apache.zip pliki modułu można znaleźć w katalogu apache-snmp. Tutaj również można naleźć dwa katalogi: ze wersjami binarnymi pakietów oraz ze źródłami. Tym razem jednak mamy w źródłach skompilowane moduły dla różnych wersji serwera Apache oraz dla architektur intelowskich 32 i 64 bitowych.

Kompilacje ze źródeł jest opisana w pliku apache-snmp/sources/README.txt, w praktyce powinno wystarczyć wywołanie polecenia build_apache_snmp.sh.

$ cd apache-snmp/sources
$ ./build_apache_snmp.sh 2.0 /usr/bin/apxs2

Jednak z moim przypadku kompilacja się nie powiadała. Na szczęście w tym przypadku są dostępne już skompilowane wersje modułów z których można skorzystać.

Czyli trzeba moduły rozkompresować:

$ cd apache-snmp/binaries
$ unzip snmp_module-x64-linux-apache2.2.zip

Zostanie utworzony katalogu snmp_module_2.2 a w nim niezbędne pliki konfiguracyjne oraz z modułami. Moduły dla serwera Apache znajdują się w katalogu module, czyli kopiujemy je teraz do odpowiedniej lokalizacji:

# cd snmp_module_2.2
# mkdir -p /usr/local/lib/apache2/modules
# cp module/*.so /usr/local/lib/apache2/modules/

Kopiujemy plik konfiguracyjny modułu:

# mkdir -p /etc/apache2/snmpd/conf
# cp conf/snmpd.conf /etc/apache2/snmpd/conf

W domyślnej konfiguracji moduł SNMP nasłuchuje na przychodzące połączenia od klientów na porcie 1610 na wszystkich interfejsach sieciowych. Ponieważ w naszym przypadku klientem będzie agent monitorujący działający na maszynie lokalnej, można otworzyć jedynie ten port na interfejsie localhost. Czyli należy w pliku /etc/apache2/snmpd/conf/snmpd.conf zmienić wpis agentaddress na taki:

34
agentaddress 1610@127.0.0.1

Należy jeszcze utworzyć specjalny katalog na pliki tworzone przez moduł:

# mkdir -p /var/lib/apache2/snmpd/var

Tworzymy plik /etc/apache2/mods-available/snmpd.load ładujący moduł SNMP do serwera Apache:

1
2
LoadModule snmpcommon_module /usr/local/lib/apache2/modules/libsnmpcommon.so
LoadModule snmpagt_module /usr/local/lib/apache2/modules/libsnmpmonagt.so

Teraz tworzymy plik konfigurujący moduł /etc/apache2/mods-available/snmpd.conf:

1
2
SNMPConf /etc/apache2/snmpd/conf
SNMPVar /var/lib/apache2/snmpd/var

Ostatnim krokiem będzie włączenie modułu:

# a2enmod snmpd

Aby moduł SNMP działał poprawnie, muszą zostać precypitynie zdefiniowane nazwy serwerów wirtualnych. W nazwie musi znaleźć się nie tylko nazwa tego serwera, ale także port na którym serwer Apache będzie nasłuchiwał. Czyli odpowiedni wpis w definicji serwera wirtualnego musi mieć następującą postać:

1
2
3
4
<VirtualHost *:80>
        ServerName blog.stelmisoft.pl:80
        ....
</VirtualHost>

Teraz pozostaje restart serwera Apache i sprawdzenie czy wszystko zadziała:

# /etc/init.d/apache2 restart

Źródła

Tags: , , , , , ,

Monitorowanie serwera Apache przy użyciu RHQ Server – instalacja modułu Response Time

Serwer RHQ może monitorować Apache, ale uzyskał maksymalną ilość informacji o czasach jego odpowiedzi konieczna jest instalacja dodatkowego modułu Apache Response Time. Moduł ten będzie zapisywał w specjalnym pliku logu dodatkowe informacje pomocne w monitorowaniu.

Pozostałe wpisy z tej serii to:

Aby mieć możliwość instalacji tego modułu trzeba spełnić kilka warunków:

  • Apache musi być skompilowany z obsługą modułów
  • należy skompilować moduł oraz zainstalować w ramach serwera Apache
  • należy odpowiednio skonfigurować serwer tak, aby z niego korzystał

Pozostaje jeszcze jedna kwestia, skąd można pobrać te moduły Znam następujące miejsca:

  • Nie udało mi się znaleźć odpowiedniego poliku w wersjach społecznościowych serwera RHQ czy też Jopr.
  • Są one dostarczane przez Red Hata razem z dystrybucją serwera JON 2.3.1, ale żeby je uzyskać trzeba mieć zawartą odpowiednią umową z Red Hatem. Będą one wtedy znajdować się w pliku connector-apache.zip razem z zainstalowanym agentem. Można także je znaleźć w w tym miejscu: jon-server-2.3.1.GA/jbossas/server/default/deploy/rhq.ear.rej/rhq-downloads/connectors/connector-apache.zip.
  • Bardzo możliwe, ze moduły te są zawarte w produkcie SpringSource ERS, ale nie sprawdzałem tego

Ja pobrałem wersje dystrybuowaną wraz z serwerem JON 2.3.1. W dostarczanych źródłach nie ma niestety informacji na jakiej licencji są one rozprowadzane.

Kompilacja modułu mod_rt.so

Po rozpakowaniu pliku connector-apache.zip pliki tego modułu będą się znajdowały się w katalogu apache-rt. Wewnątrz tego katalogu możemy znaleźć katalog z plikami binarnymi modułu przeznaczonymi dla Apache 2 i chyba dla w wersji dla Windowsa (chyba to dlatego, że sam moduł ma rozszerzeniowy so). W związku z tym, trzeba będzie skompilować ten moduł i ręcznie go zainstalować w ramach serwera Apache.

Pierwszym krokiem będzie instalacja odpowiednich dodatkowych pakietów, niezbędnych do przeprowadzenia kompilacji:

aptitude install apache2-dev gcc autoconf automake

Teraz nie pozostaje nic innego jak skompilować moduł poprzez wywołanie skryptu build_apache_module.sh. Jako ego parametry podajemy wersję serwera Apache dla którego tworzymy moduły oraz ścieżkę dostępu do polecenia apxs.

$ cd apache-rt/sources
$ ./build_apache_module.sh 2.x /usr/bin/apxs2

Po kompilacji moduł można znaleźć w tym miejscu: apache2.x/.libs/mod_rt.so.

Instalacja modułu mod_rt.so w serwerze Apache

Moduły Apache, które są instalowane z pakietów znajdują się w katalogu /usr/lib/apache2/modules. Można również tam umieścić skompilowany moduł i korzystać z niego tak i z innych modułów serwera. Ja proponuję jednak umieść ten moduł w wydzielonym katalogu /usr/local/lib/apache2/modules. Myślę, że lepiej nie mieszać ze sobą plików pochodzących z pakietów i kompilowanych ze źródeł samodzielnie.

# mkdir -p /usr/local/lib/apache2/modules
# cp apache2.x/.libs/mod_rt.so /usr/local/lib/apache2/modules

Teraz plik ładujący moduł /etc/apache2/mods-available/rt.load:

1
LoadModule  rt_module  /usr/local/lib/apache2/modules/mod_rt.so

Plik z konfiguracją modułu /etc/apache2/mods-available/rt.conf:

1
LogFormat  "%S"  rt_log

I włączenie modułu w serwerze Apache:

# a2enmod rt

Pozostaje teraz jeszcze skonfigurowanie wszystkich serwerów wirtualnych tak, aby logowały dodatkowe informacje przy użyciu tego modułu. Należy w tym celu dodać w w definicji każdego serwera następujący wpis:

1
2
3
4
5
6
<VirtualHost *:80>

        .......
        CustomLog  /var/log/apache2/access.NAZWA_SERWERA_rt.log rt_log

</VirtualHost>

W podanym pliku będą zapisywane informacje o czasach odpowiedzi, które potem zostaną odpowiednio zinterpretowane przez serwer RHQ. Należy dla każdego serwera zdefiniować oddzielny plik. Będzie on nam potrzeby podczas konfiguracji serwera RHQ pod koniec wpisu.

Teraz nie pozostaje nic innego jak zrestartować serwer i sprawdzić powiedzie się jego uruchomienie i czy informacje są odkładane we wskazanych przez nas plikach.

Źródła

Tags: , , , , , ,

Monitorowanie bazy danych MySQL przy użyciu RHQ Server

Jedną z usług jakie oferuje system monitorujący RHQ Server jest monitorowanie bazy danych MySQL. Niestety, ta baza danych nie jest (a przynajmniej u mnie nie została) wykrywana automatycznie przez agenta monitorującego. Na szczęście dodanie jej obsługi nie jest bardzo kłopotliwe.

Pierwszym krokiem powinno być wybranie serwera (platformy) na której znajduje się baza danych (oczywiście, musi tam być również wcześniej zainstalowany i działający agent). Następnie wybieramy zakładkę INVENTORY->OVERVIEW. Strona ta wyświetli listę monitorowanych serwerów. Na samym dole znajduje się lista rozwijalna o nazwie Manually Add z której wybieramy serwer MySql.

RHQ - Dodanie bazy danych MySql

RHQ - Dodanie bazy danych MySql

Zostanie wyświetlona strona, na której będzie można zdefiniować potrzebne parametry do połączenia.

RHQ - Konfiguracja połączenia z MySQL

RHQ - Konfiguracja połączenia z MySQL

Trzeba podać następujące parametry definiujące połączenie:

  • listen host – numer IP lub nazwa komputera na którym działa MySql
  • listen port – port, na którym nasłuchuje baza danych
  • database name – nazwa bazy danych z którą należy się połączyć
  • JDBC driver class – sterownik JDBC
  • role name – nazwa użytkownika użytego do połączenia
  • role password – hasło użytkownika

Po zatwierdzeniu opcji monitorowanie powinno działać. Niestety, wtyczka ta jest dosyć uboga, ciągle znajduje się ona w wazie eksperymentalnej i nie udostępnia dużej ilości opcji.

Źródła

Tags: , , , , ,