Po zainstalowaniu i skonfigurowaniu serwera RHQ jest już dostępna cała infrastruktura potrzebna do monitorowania i zarządzania systemami. Brakuje jednak ciągle systemu, którym można zarządzać. Aby włączyć możliwość monitorowania danego systemu, trzeba skonfigurować agenta monitorującego.

Instalację agenta pokażę na przykładzie systemu operacyjnego RHEL 5.5 oraz Debian Lenny. W praktyce podobnie będzie wyglądał na każdym systemie Linuksowym, będzie tylko trzeba odpowiednio dostosować definicje ścieżek dostępu.

Instalacja agenta

Serwer RHQ zawiera instalacje agenta monitorującego. Można ją pobrać bezpośrednio ze strony serwera, aby się na nią dostać należy z menu wybrać pozycję Administration->Downloads. Na stronie która się pojawi będzie istniał link pozwalający na pobranie agent oraz krótka instrukcja jak go należy zainstalować.. Należy go pobrać na system na którym ma zostać zainstalowany.

RHQ Server: pobranie agenta monitorującego

RHQ Server: pobranie agenta monitorującego

Po pobraniu agenta należy z poziomu użytkownika root wykonać następujące polecenie:

# java -jar rhq-enterprise-agent-1.4.0-SNAPSHOT.jar --install=/opt

Spowoduje to instalację agenta w podanym katalogu, w przykładzie do katalogu /opt. W katalogu tym pojawi się katalog z agentem: /opt/rhq-agent.

Konfiguracja agenta

Przed uruchomieniem aplikacji należy skonfigurować jeszcze odpowiednie zmienne środowiskowe. Znajdują się one w pliku /opt/rhq-agent/bin/rhq-agent-env.sh.

  • konfiguracja katalogu domowego agenta:
    25
    RHQ_AGENT_HOME="/opt/rhq-agent"
  • konfiguracja katalogu domowego Javy:
    • w systemie RHEL:
      33
      RHQ_AGENT_JAVA_HOME="/etc/alternatives/jre"
    • w systemie Debian:
      33
      RHQ_AGENT_JAVA_HOME="/usr/lib/jvm/java-6-sun"

Po zapisaniu zmian można już uruchomić agenta monitorującego przy użyciu polecenia /opt/rhq-agent/bin/rhq-agent.sh i przystąpić do jego konfiguracji

# /opt/rhq-agent/bin/rhq-agent.sh
RHQ 1.4.0-SNAPSHOT [5305] (null)
Answer the following questions to setup this RHQ Agent instance.
- After each prompt, a default value will appear in square brackets.
  If you press the ENTER key without providing any value,
  the new preference value will be set to that default value.
- If you wish to rely on the system internal default value and
  not define any preference value, enter '!*'.
- If you wish to stop before finishing all the questions but still
  retain those preferences you already set, enter '!+'.
- If you wish to cancel before finishing all the questions and revert
  all preferences back to their original values, enter '!-'.
- If you need help for a particular preference, enter '!?'.

Agent Name [jboss] :

Przy pierwszym uruchomieniu agent zada cztery pytania służące do jego konfiguracji:

  • Agent Name – nazwa agenta, powinna być unikalna w ramach wszystkich monitorowanych maszyn
  • Agent Hostname or IP Address – adres IP, na którym agent ma używać aby nasłuchiwać na połączenia ze strony serwera
  • Agent Port – port, na którym agent ma nasłuchiwać na połączenia
  • RHQ Server Hostname or IP Address – nazwa serwera RHQ, do którego ma się przyłączyć agent
  • RHQ Server Port – port, który ma być użyty do połączenia

Po podaniu tych informacji agent połączy się z serwerem RHQ, pobierze dostępne wtyczki, przeprowadzi automatyczne wykrywanie komponentów systemu i wyśle te informacje do serwera RHQ.

Po zakończeniu tych operacji znajdziemy się w trybie interaktywnym agenta, będzie można mu wydawać polecenia, konfigurować go. Więcej informacji można otrzymać wpisując słowo help.

Konfiguracja serwera RHQ

Poprawna konfiguracja agenta nie oznacza, że informacje z niego są przekazywane do serwera RHQ. Musimy jeszcze odpowiednie zasoby zaimportować do serwera RHQ. Jeżeli agent poprawnie zostanie skonfigurowany, to powinien się pojawić jako nowy zasób:

RHQ: Auto-Discovery

RHQ: Auto-Discovery

Wystarczy zaznaczyć zasoby i wybrać przycisk Import. Od tego momentu serwer i jego usługi będą monitorowane.

Może istnieć jeszcze potrzeba dodatkowej konfiguracji połączeń z pomiędzy agentem i poszczególnymi serwerami (np. konfiguracja bazy danych Postgres, serwera JBoss, Tomcat).

Automatyczne uruchamianie agenta

Jeżeli już mamy skonfigurowanego agenta, nie pozostaje zrobić nic innego, jak skonfigurować go tak, aby uruchamiał się automatycznie podczas startu systemu.

W katalogu /opt/rhq-agent/bin znajduje się skrypt rhq-agent-wrapper.sh pozwala na zarządzanie agentem. Dostępne akcje można łatwo poznać wywołując go bez żadnych parametrów:

# /opt/rhq-agent/bin/rhq-agent-wrapper.sh
Usage: /opt/rhq-agent/bin/rhq-agent-wrapper.sh { start | stop | kill | restart | status }

Czyli mamy do czynienia ze zwykły skryptem w standardzie System V, a skoro tak to można go bezpośrednio użyć w celu uruchomienia agenta.

Konfiguracja automatycznego startu sprowadza się do:

  • utworzenie odpowiedniego linku w katalogu /etc/init.d (nie należy kopiować tego skryptu, wymaga on do działania dostępu do pliku rhq-agent-env.sh):
    # ln -s /opt/rhq-agent/bin/rhq-agent-wrapper.sh /etc/init.d/rhq-agent
  • konfiguracja automatycznego uruchamiania skryptu:
    • w systemie RHEL:
      # chkconfig rhq-agent on
    • w systemie Debian
      # update-rc.d rhq-agent defaults 90 10
      update-rc.d: warning: /etc/init.d/rhq-agent missing LSB information
      update-rc.d: see <http ://wiki.debian.org/LSBInitScripts>
       Adding system startup for /etc/init.d/rhq-agent ...
         /etc/rc0.d/K10rhq-agent -> ../init.d/rhq-agent
         /etc/rc1.d/K10rhq-agent -> ../init.d/rhq-agent
         /etc/rc6.d/K10rhq-agent -> ../init.d/rhq-agent
         /etc/rc2.d/S90rhq-agent -> ../init.d/rhq-agent
         /etc/rc3.d/S90rhq-agent -> ../init.d/rhq-agent
         /etc/rc4.d/S90rhq-agent -> ../init.d/rhq-agent
         /etc/rc5.d/S90rhq-agent -> ../init.d/rhq-agent

  • uruchomienie agenta:
    # /etc/init.d/rhq-agent start

I to będzie wszystko.

Źródła