Posts Tagged jopr

Instalacja RHQ Server wraz z wtyczkami Jopr w systemie Debian oraz Red Hat

W tym wpisie przedstawię w jaki sposób można zainstalować oraz skonfigurować serwer monitorujący RHQ Server wraz z odpowiednimi wtyczkami z projektu Jopr. Przedstawię instalację aplikacji skompilowanych ze źródeł tych projektów. Można również pobrać odpowiedni pakiet ze strony Jopr i uprościć sobie trochę życie. W takim przypadku jednak (przynajmniej w momencie pisanie tego tekstu) nie będzie działało monitorowanie serwera aplikacji JBoss EAP 5.

Na zakończenie artykuły powinniśmy dysponować zainstalowanym serwerem RQH wraz z wtyczkami z Jopr, udostępnionym poprzez serwer WWW Apache oraz monitorujący swoje działanie. Jeżeli nie ma potrzeby budowania takiej konfiguracji zawsze można niektóre kroki pominąć.

Pobranie instalatora

Istnieją następujące sposoby pobrania plików z serwerem RQH oraz z Joprem:

  1. Pobrać ze strony Jopr: Jopr – Releases, w chwili pisanie tego artykułu ostatnią dostępną wersją była 2.3.1, wersja ta zawiera w sobie zarówno serwer RHQ jak odpowiednie wtyczki pozwalające na monitorowanie serwera aplikacji JBoss.
  2. Pobranie źródeł serwera RHQ oraz Jopr i ich kompilacja, opis tego procesu można przeczytać w tym wpisie: Jak skompilować ze źródeł aplikacje RHQ Server oraz Jopr.
  3. Można pobrać wersję skompilowaną przeze mnie:

W przypadku wybrania metody pierwszej nie będzie potrzeby integrowania ze sobą serwera RHQ z wtyczkami Jopr. W pozostałych dwóch metodach będzie trzeba to zrobić (oczywiście, może się coś zmieni w międzyczasie i także tak konieczność zniknie).

Instalacja bazy danych

Serwer RHQ pozwala na użycie następujących baz danych:

  • systemy produkcyjne – PostgreSQL oraz Oracl
  • testowo – HSQL oraz MSSQL

Serwer bazy danych HSQL można użyć, jeżeli chcemy sprawdzić jak wygląda całe rozwiązania, czy też w celach demonstracyjnych. Nie należy go używać jednak w systemie produkcyjnym. My zajmiemy się instalacją bazy danych PostgreSQL oraz jej konfiguracją tak, aby dało się używać razem z nią serwer RHQ.

Należy pamiętać, że RHQ Server wymaga wersji PostreSQL przynajmniej 8.2.4, wersja 8.1 nie jest w ogóle wspierana.

W przypadku Debiana instalacja PostgreSQL sprowadza się do wydania polecenia:

# aptitude install postgresql

Spowoduje ono instalację bazy danych w wersji 8.3. W repozytorium z backportami występuje także wersja 8.4, ale na potrzeby tego wpisu instalacja jej nie jest konieczna.

Z Red Hatem w wersji 5.5. problemów też nie będzie, instalacja odbywa się poprzez komendę:

# yum install postgresql84

Należy zwrócić uwagę na instalację odpowiedniej wersji bazy danych. W przypadku wydań RHEL wcześniejszych niż 5.5 będzie dostępna tylko wersja 8.1 bazy danych. W takim przypadku należy skorzystać z repozytoriów zewnętrznych lub pobrać odpowiednią wersję ze strony domowej PostgreSQL.

Pozostaje teraz dodać użytkownika rhqadmin wraz z hasłem:

# su - postgres -c 'createuser -S -D -R -P rhqadmin'
Enter password for new role:
Enter it again:

Tworzymy bazę danych rhq, która będzie używana przez system monitorujący:

# su - postgres -c 'createdb -O rhqadmin rhq'

To wszystko, co jest niezbędne do uruchomienia RHQ Server wraz z PostreSQL, dla osób nie znających tej bazy danych polecam przeczytanie dokumentacji.

Instalacja plików binarnych

Pobrane lub skompilowane pliki binarne należy teraz rozkompresować do odpowiedniego katalogu. Może to być dowolny katalog na naszej maszynie, ja zakładam że serwer RHQ będzie znajdować się w katalogu /opt/rhq-server. Do do rozpakowania archiwum dobrze jest użyć narzędzia konsolowego unzip.

Najprostszym sposobem będzie zatem wydanie następujących komend:

# cd /opt
# unzip < ścieżka do pliku zip z RHQ>

Po rozpakowaniu serwera RHQ należy jego nazwę zmienić na rhq-server (lub też utworzyć odpowiedni link).

Pierwsze uruchomienie serwera

Skrypt uruchamiający RHQ znajduje się w katalogu /opt/rhq-server/bin i nazwy się rhq-server.sh. Posiada on następujące komendy:

  • start – uruchamia serwer w trybie demona
  • console – uruchamia serwer w ramach konsoli, logi z serwera są wypisywane na ekranie
  • stop – pozwala na wyłączenie serwera
  • kill – zabija serwer (usuwa proces JVM z pamięci)
  • status – pokazuje, czy serwer działa

Pierwsze uruchomienie proponuje wykonać przy użyciu komendy console. Pozwala ona na wyświetlenie logów z serwera bezpośrednio na konsolę, więc od razu będzie wiadomo czy wszystko działa.

# cd /opt/rhq-server/bin
# ./rhq-server.sh console

Komenda ta powinna uruchomić serwer i w ciągu kilkunastu sekund powinniśmy otrzymać komunikat o jego pomyślnym starcie:

[Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)] Started in 5s:450ms

Jak widać uruchomiony został serwer aplikacji JBoss w wersji 4.2.3. Po pomyślnym uruchomieniu serwer powinien nasłuchiwać na wszystkich interfejsach sieciowych na następujących portach:

# netstat -tulpn | grep java
tcp        0      0 0.0.0.0:37024           0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:9093            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:5446            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:7080            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:57165           0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:34703           0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:9009            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:2098            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:7443            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:2099            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:7444            0.0.0.0:*               LISTEN      21481/java      
tcp        0      0 0.0.0.0:7445            0.0.0.0:*               LISTEN      21481/java

Jak widać są to inne porty niż te standardowo zajmowane przez JBossa czy też Tomcata. Może się jednak zdarzyć, że wystąpi tutaj jakiś konflikt z innymi aplikacjami. Proszę się wtedy skonsultować z dokumentacją JBossa, gdzie można znaleźć informacje o tym jak zmienić te porty na inne.

Dla nas na tę chwilę najważniejsza jest informacja, że RHQ nasłuchuje na ruch HTTP na porcie 7080 oraz na ruch HTTPS na porcie 7443. Będzie nam to potrzebne do dalszej konfiguracji serwera.

Konfiguracja serwera RHQ

Powinniśmy do tej chwili dysponować działającym serwerem RHQ ale jeszcze nie został on skonfigurowany. Dalsza część tego porcesu odbywa się przez przeglądarkę. Proszę połączyć się z portem 7080 z maszyną na której została uruchomiona usługa. W moim przypadku będzie to połączenie na adres: http://localhost:7080.

Po połączeniu się powinien pokazać się następujący ekran:

Ekran powitalny RHQ Server

Ekran powitalny RHQ Server

Nie pozostaje teraz nic innego jak wybrać link do kontynuacji instalacji. Pozwoli on na zdefiniowaniu dostępu do bazy danych oraz innych podstawowych elementów serwera.

Instalacja RHQ Server - parametry bazy danych

Instalacja RHQ Server - parametry bazy danych

  • Database Type – typ bazy danych, w naszym przypadku PostgreSQL
  • Database Connection URL – definicja połączenia z bazą danych, czyli serwer oraz jej nazwa
  • Database JDBC Driver Class – klasa sterownika odpowiadająca za obsługę bazy danych
  • Database XA DataSource Class – klasa źródła danych
  • Database User Name – nazwa użytkownika, który będzie używany do łączenia się z bazą danych
  • Database Password – hasło użytkownika

Po zakończeniu konfiguracji bazy danych dobrze jest wybrać przycisk Test Connection, który sprawdzi, czy można się z bazą danych połączyć. W przypadku problemów trzeba będzie je skorygować.

Teraz czas na zdefiniowanie, jak będziemy się łączyć z serwerem:

Instalacja RHQ Server - parametry instalacji

Instalacja RHQ Server - parametry instalacji

  • Server Name – nazwa maszyny na której instalujemy RHQ
  • Server Public Address – publiczna nazwa maszyny
  • HTTP Port – port HTTP na którym serwer będzie nasłuchiwał
  • Secure HTTPS Port – port HTTPS na którym serwer będzie nasłuchiwał

Ostatnim elementem będzie skonfigurowanie samego serwera:

Instalacja RHQ Server - parametry serwera

Instalacja RHQ Server - parametry serwera

  • Server Bind Address – adres interfejsu sieciowego z którego ma korzystać serwer RHQ
  • Embedded Agent Enabled – opcja umożliwia włączenie agenta wbudowanego w serwer RHQ, pozwoli to na monitorowanie maszyny na której działa serwer, nie jest zalecane uruchamianie tego w środowisku produkcyjny, w takim przypadku należy skonfigurować oddzielnego agenta
  • Email SMTP Hostname – nazwa serwera przyjmującego pocztę
  • Email From Address – adres z którego ma wychodzić poczta z serwera RHQ

I to wszystko jeżeli chodzi o instalacją. Nie pozostaje nic innego jak nacisnąć przycisk Install Server! i poczekać chwilę.

Instalacja RHQ Server - proces instalacji

Instalacja RHQ Server - proces instalacji

W czasie instalacji w logach powinniśmy obserwować wzmożony ruch, powinna zostać utworzona baza danych, zainicjalizowane aplikacje. Mogę pojawić się różne błędy, ale jeżeli dostaniemy na końcu komunikat Done! Click here to get started! to wszystko powinno być OK.

Jeżeli instalacja się zakończyła, możemy się zalogować do systemu. Domyślny użytkownik to rhqadmin a domyślne hasło jest takie samo, czyli brzmi rhqadmin.

RHQ Server - logowanie

RHQ Server - logowanie

Po zalogowaniu pojawi się ekran powitalny. Instalacja została zakończona. Należy zmienić domyślne hasło i można rozpocząć monitorowanie.

Instalacja wtyczek Jopr

W przypadku braku wtyczek Jopr, należy jeszcze je doinstalować. Czyli najpierw należy rozpakować plik z wtyczkami i skopiować ich zawartość do katalogu /opt/rhq-server:

# cp -a jbossas /opt/rhq-server/

Należy zwrócić uwagę na to, aby skopiować zawartość katalogu jbossas do katalogu takiego samego w instancji serwera RHQ. Dzięki temu odpowiednie pliki zostaną skopiowane we właściwe miejsce.

Operacja ta może być wykonana na działającym serwerze RHQ, po chwili powinien automatycznie wczytać wtyczki oraz zaktualizować agenty.

Jeżeli pliki zostały skopiowane w dobre miejsca, w logach powinny pojawić się takie komunikaty:

11:20:23,780 INFO  [ProductPluginDeployer] Discovered agent plugin [RHQServer]
11:20:23,859 INFO  [ProductPluginDeployer] Discovered agent plugin [Tomcat]
11:20:23,967 INFO  [ProductPluginDeployer] Discovered agent plugin [JBossCache]
11:20:24,070 INFO  [ProductPluginDeployer] Discovered agent plugin [JBossAS5]
11:20:24,160 INFO  [ProductPluginDeployer] Discovered agent plugin [JBossAS]
11:20:24,230 INFO  [ProductPluginDeployer] Discovered agent plugin [JBossCache3]
11:20:24,335 INFO  [ProductPluginDeployer] Discovered agent plugin [Hibernate]
11:20:24,353 INFO  [ProductPluginDeployer] Deploying [7] new or updated agent plugins: [RHQServer, JBossAS5, JBossAS, Hibernate, JBossCache3, Tomcat, JBossCache]
11:20:29,520 INFO  [ProductPluginDeployer] Plugin metadata updates are complete for [7] plugins: [RHQServer, JBossAS5, JBossAS, Hibernate, JBossCache3, Tomcat, JBossCache]

Utworzenie wirtualnego serwera Apacha

Ostatnim elementem będzie udostępnienie instancji serwera poprzez serwer WWW Apache. Tutaj będą chyba największe różnice między Debianem a Redhatem.

Konfigruracja Debiana

  1. Utworzyć plik o nazwie rhq w katalogu /etc/apache2/sites-available. Zdefiniujemy w ten sposób nowy serwer wirtualny, zawartość tego pliku prawdopodobnie będzie trzeba dostosować do własnej konfiguracji:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <VirtualHost *:80>
            ServerName rhq
            ServerAdmin administrator@example.com
            ProxyRequests On
            ProxyPreserveHost On
            <Proxy *>
                    Order deny,allow
                    Allow from all
            </Proxy>
            ProxyPass / http://localhost:7080/
            ProxyPassReverse / http://localhost:7080/
            <Location />
                    Order allow,deny
                    Allow from all
            </Location>

            ErrorLog /var/log/apache2/error.rhq.log
            LogLevel warn
            CustomLog /var/log/apache2/access.rhq.log combined
            ServerSignature Off
    </VirtualHost>
  2. Należy włączyć moduły odpowiedzialne za obsługę przesyłania połączeń:
    # a2enmod proxy_http
  3. Włączyć zdefiniowany serwer wirtualny:
    # a2ensite rhq
  4. Ponownie wymusić załadowanie konfiguracji przez serwer Apache
    # /etc/init.d/apache2 reload

Konfiguracja Red Hata

  1. Utworzyć plik o nazwie rhq.conf w katalogu /etc/httpd/conf.d:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <VirtualHost *:80>
            ServerName rhq
            ServerAdmin administrator@example.com
            ProxyRequests On
            ProxyPreserveHost On
            <Proxy *>
                    Order deny,allow
                    Allow from all
            </Proxy>
            ProxyPass / http://localhost:7080/
            ProxyPassReverse / http://localhost:7080/
            <Location />
                    Order allow,deny
                    Allow from all
            </Location>

            ErrorLog /var/log/httpd/error.rhq.log
            LogLevel warn
            CustomLog /var/log/httpd/access.rhq.log combined
            ServerSignature Off
    </VirtualHost>
  2. W przypadku RHEL 5.5 moduły mod_proxy oraz mod_proxy_http są włączone standardowo. W razie wątpliwości należy sprawdzić plik /etc/httpd/conf/httpd.conf:
    192
    LoadModule proxy_http_module modules/mod_proxy_http.so
  3. Ponowne wczytanie konfiguracji serwera Apache:
    # /etc/init.d/httpd reload

Po tych operacjach powinniśmy mieć możliwość otworzenia strony z poziomu Internetu.

Źródła

Tags: , , , , , , ,

Konfiguracja serwera aplikacji JBoss 5 do pracy z Jopr

Nowa wersja aplikacji Jopr (2.3.1) teoretycznie wspiera obsługę zarządzania serwerem aplikacji JBoss EAP 5. W praktyce niestety agent nie wyrywa w ogóle tego serwera aplikacji. Spowodowane jest to brakiem odpowiedniej wtyczki, która obsługiwałaby tę wersję JBoss (z wersją 4.x nie tutaj żadnych problemów, jest w pełni obsługiwana).

Okazuje się na szczęście, że odpowiedni plugin istnieje, i nawet działa, ale należy skompilować go samodzielnie. Odpowiednią procedurę przedstawiłem w tym wpisie: Jak skompilować ze źródeł aplikacje RHQ Server oraz Jopr. Po kompilacji kodu powinniśmy dysponować odpowiednią wersję wtyczki, która już powinna wykryć wersję 5 serwera JBoss.

Jednakże nie wystarczy tylko do włączenia zarządzania instancją serwera przy użyciu Jopra. Od wersji 5 wyłączono anonimowy dostęp do konsoli JMX (dzięki której można ta naprawdę zarządzać serwerem). W związku z tym, dopóki po stronie serwera aplikacji nie zdefiniujemy użytkownika mogącego się łączyć z konsolą, nie będziemy w stanie korzystać z konsoli JMX.

Przy domyślnej konfiguracji dane użytkowników są przechowywane w dwóch plikach, zapisanych w wybranej konfiguracji serwera:

  • conf/props/jmx-console-users.properties – informacje o loginach i hasłach użytkowników
  • conf/props/jmx-console-roles.properties – informacje o grupach użytkowników

W najprostszym przypadku wystarczy odkomentować jedną linię z pliku jmx-console-users.properties i już można cieszyć się kontem administracyjnym. Ze względu bezpieczeństwa jednak proponowałbym zmienić chociaż hasło dostępu dla tego użytkownika na jakieś mniej standardowe.

Drugim niezbędnym elementem jest odpowiednia konfiguracja Jopra. Robi się to poprzez:

  • import serwera JBoss do monitorowanych zasobów
  • konfigurację użytkownika i hasła pozwalającego na dostęp do konsoli JMX

Konfigurację loginu i hasła należy zrobić poprzez:

  • wybranie z listy serwerów interesujący nas serwer JBossa
  • wybranie zakładki Inventory
  • wybranie opcji Connection
  • edycję pozycji[cci] Principal/cci] i [cci]Credential/cci] (najpierw należy wybrać przycisk [cci]Edit/cci] znajdujący się na dole strony)
    Połączenie Jopr - JBoss 5

    Połączenie Jopr - JBoss 5

  • po zatwierdzeniu zmian powinniśmy już dysponować dostępem do serwera aplikacji JBoss i możliwością jego zarządzania

Źródła

Tags: , , , ,

Jak skompilować ze źródeł aplikacje RHQ Server oraz Jopr

Poniżej znajduje się krótki przewodnik w którym przestawię w jaki sposób skompilować oraz zainstalować ze źródeł zarówno serwer RHQ jak i pluginy dostarczane z aplikację JOPR. Kroki są te niezbędne, aby udało się uruchomić monitorowanie JBossa EAP 5 (lub też wersji społecznościowe 5.1) przy użyciu Jopra. Standardowa instalacja (w wersji 2.3.1) niestety nie zawiera odpowiedniego pluginu.

Krok 1: warunki wstępne

Przed rozpoczęciem kompilacji tych aplikacji, trzeba wcześniej zainstalować w systemie następujące aplikacje:

  • Java – zainstalować JDK 6, należy także poprawnie skonfigurować zmienną systemową $JAVA_HOME, która powinna wskazywać na katalog domowy z Javą
  • Maven – zainstalowany w wersji przynajmniej 2.1.x, można pobrać go ze strony http://maven.apache.org/download.html
  • Subversion – należy zainstalować klienta tego systemu wersji
  • PostgreSQL – zainstalować bazę danych, w wersji przynajmniej 8.3 (ja używałem wersji 8.4)

Krok 2: pobranie źródeł

Zanim przystąpimy do konfiguracji kolejnych aplikacji, można rozpocząć pobieranie źródeł aplikacji. Proces ten zajmuje trochę czasu, więc może się wykonywać w czasie gdy przystosujemy kolejne elementy instalacji.

Źródła należy pobrać z repozytorium SVN udostępnianego zarówno przez RHQ jak i Jopra. Najprościej to zrobić używając komendy svn, ale można też użyć innych aplikacji współpracujących z tym systemem kontroli wersji.

Pobranie kodu źródłowego RHQ Server:

svn co http://svn.rhq-project.org/repos/rhq/trunk/ rhq

Pobranie kodu źródłowego Jopr:

svn co https://anonsvn.jboss.org/repos/jopr/trunk/ jopr

W moim przypadku została dla RHQ Serwer została pobrana wersji repozytorium o numerze 5305 a dla Jopr o numerze 1360, także pozostałe informacje dotyczą tych wersji kodu. W nowszych niektóre rzeczy na pewno mogą się zmienić.

Krok 3: konfiguracja bazy danych

RHQ Server do swojego działania potrzebuje bazy danych. Może on działać produkcyjnie na bazie danych PostreSQL lub Oracle, testowo na HSQL (istnieje także eksperymentalne wsparcie dla MSSQL). Na potrzeby tej instalacji skonfigurujemy bazę danych PostgresSQL.

Konfiguracja bazy danych sprowadza się do następujących punktów:

  • konfiguracja pliku pg_hba.conf, w przypadku Ubunut plik ten znajduje się w tym katalogu: /etc/postgresql/8.4/main, należy włączyć logowanie zaufane dla użytkowników korzystających z lokalnego interfejsu sieciowego oraz z lokalnego komputera (uwaga, powoduje to, że nie będą oni pytani o hasło dostępu przy próbie łączenia się z bazą danych):
    82
    83
    84
    85
    86
    #local   all         all                               ident
    local   all         all                               trust
    # IPv4 local connections:
    #host    all         all         127.0.0.1/32          md5
    host    all         all         127.0.0.1/32          trust
  • utworzenie użytkownika w bazie danych o nazwie rhqadmin oraz z hasłem rhqadmin:
    createuser -U postgres -S -D -R -P rhqadmin
  • utworzyć bazę danych rhq, której właścicielem będzie użytkownik rhqadmin:
    createdb -U postgres -O rhqadmin rhq

Krok 4: kompilacja RHQ Server

Można teraz przystąpić do kompilacji oraz instalacji serwera RHQ. Robi się to przy użyciu aplikacji Maven, która powinna być dostępna na ścieżce. Pierwsze wykonanie kompilacji może zająć sporo czasu (w moim przypadku trwało to ponad godzinę), ponieważ muszą zostać pobrane odpowiednie biblioteki niezbędne do kompilacji.

Uruchomić kompilacje można wydając takie polecenie (należy jednocześnie znajdować się w katalogu z plikami źródłowymi RHQ Server):

mvn -Penterprise,dev -Dmaven.test.skip=true -Ddbsetup install

Parametr -Ddbsetup powoduje utworzenie schematu w bazie danych i jest wymagany podczas pierwszej kompilacji i za każdym razem gdy jej schemat zostanie zmieniony.

W trakcie procesu kompilacji zostanie utworzony schemat bazy danych. Zostanie także utworzony katalogu dev-container, w którym będzie znajdowała się aplikacji. Aby uruchomić RHQ Server, należy wejść do katalogu dev-container/bin i wykonać polecenie:

cd dev-container/bin
./rhq-server.sh start

Spowoduje to uruchomienie serwera RHQ. Po uruchomieniu powinien o być dostępny pod adresem: http://localhost:7080. Aby się do niego zalogować, należy użyć loginu rhqadmin oraz hasła rhqadmin.

About RHQ

Informacje o wersji RHQ Server

Istnieje także możliwość utworzenia archiwum z serwerem RHQ, które będzie można następnie użyć do instalacji nowej jego instancji. Należy w takim przypadku wydać następujące polecenie (będąc w katalog głównym ze źródłami RHQ):

mvn -Penterprise,dist -Dmaven.test.skip=true -Ddbsetup install

Spowoduje to kompilację projektu i utworzenie w katalogu modules/enterprise/server/container/target zarówno katalogu z serwerem (rhq-server-1.4.0-SNAPSHOT), jak i odpowiedniego archiwum zip (rhq-server-1.4.0-SNAPSHOT.zip). Uruchomienie tak przygotowanego serwera spowoduje konieczność przejścia przez kolejne kroki związane z jego konfiguracją.

Krok 5: kompilacja Jopr

Ostatnim elementem jest kompilacja pluginów wchodzących w skład Jopr oraz ich instalacja w ramach serwera RHQ.

Zanim jednak uda się zbudować Jopr, trzeba zmodyfikować pliki konfiguracyjne pom.xml w kilku miejscach. Jest to spowodowane tym, że znajdują się w nich odwołania do repozytorium Mavena, które nie istnieją, więc nie daje się przeprowadzić pomyślnie kompilacji projektu. Mam nadzieję, że zostanie to zmienione w repozytorium i nie będzie potrzeby wprowadzania tych zmian, ale dla wersji której ja używałem niestety było to potrzebne.

Przygotowałem plik o nazwie jopr-1360.patch, który zawiera różnice pomiędzy modyfikacjami które wprowadziłem oraz wersją źródeł które używałem. Należy pobrać ten plik i użyć aplikacji patch, która zastosuje go do źródeł. Aplikację te należy wywołać w katalogu w którym znajdują się źródła jopr:

$ patch -p0 < ../jopr-1360.patch.txt
patching file modules/tools/jbas5-plugin-descriptor-gen/pom.xml
patching file modules/plugins/jboss-as-5/testsuite/pom.xml
patching file modules/plugins/jboss-as-5/pom.xml
patching file modules/plugins/jboss-cache-v3/pom.xml
patching file pom.xml
patching file etc/jbas5-ejb2-mdb-test/pom.xml
patching file etc/jbas5-jnp-client/pom.xml
patching file etc/jbas5-ejb-client/pom.xml

Należy zwrócić uwagę na to, że niekoniecznie ten plik będzie działał, jeżeli coś się zmieniło w źródłach aplikacji. Dlatego też w przypadku gdy kompilacja nie będzie działać, proponują zobaczyć co ten plik modyfikuje i ręcznie te modyfikacje nanieść do odpowiednich plików.

Sama kompilacja Jopr polega na wywołaniu aplikacji Maven (w katalogu ze źródłami aplikacji):

mvn -Pdev -Drhq.containerDir=rhq/dev-container/ install

Za pomocą parametru -Drhq.containerDir wskazujemy miejsce, gdzie znajduje się skompilowana wersja RHQ Server. Należy zwrócić uwagę, aby podać pełną ścieżkę do tego katalogu, w innym przypadku pluginy mogą zostać skopiowane do innego katalogu.

Zamiast katalogu z wersją deweloperską serwera RHQ można także podać katalog modules/enterprise/server/container/target/rhq-server-1.4.0-SNAPSHOT. Wtedy wtyczki zostaną skopiowane do tej instancji serwera, wystarczą ją teraz skompresować i już można spróbować zainstalować na innym serwerze.

Tyle przynajmniej w teorii :(. Z jakiś magicznych powodów podczas instalacji serwera RHQ łącznie z wtyczkami z Jopra pojawiał się błąd o niemożliwości instalacji jednej z aplikacji (rhq.ear).W moim przypadku nie chciało to do końca działać. Rozwiązaniem okazało się utworzenie dwóch oddzielnych archiwów: w jednym był serwer RHQ, w drugim wtyczki Jopr. Czy w przypadku kompilacji wtyczek Jopr nie podajemy katalogu do samego serwera, ale jakiś katalog tymczasowy. Zostanie w nim odzwierciedlona odpowiednia struktura serwera, i wtyczki zostaną zapisane w odpowiednie miejsca. Wystarczy po instalacji serwera RHQ po prostu skopiować te pliki i już powinno działać.

Oto serwer RHQ Server oraz wtyczki Jopr, skompilowane:

Czym jest JBoss Operations Network (JON lub Jopr)?

JBoss Operations Network (JON) lub Jopr jest platformą, która dostarcza scentralizowany system pozwalający zarządzać produktami dostarczanymi w JBoss Enterprise Middleware. JON pozwala na następujące rzeczy:

  • Obsługa pełnego cyklu życia aplikacji, źródeł danych oraz usług powiadamiania.
  • Prezentacje wspólnego interfejsu pozwalającego przeglądać rożne komponenty całego środowiska (zarówno od strony sprzętowej jak i programistycznej).
  • Pozwala poprawić efektywność i niezawodność zarządzania i poprzez wpływa na dostępność oraz wydajność systemów produkcyjnych.
  • Pozwala na konfigurowanie i instalację nowych aplikacji w serwerze JBoss przy użyciu pojedynczego narzędzia.

Platforma dostarcza narzędzia do przeprowadzenia inwentaryzacji, administracji, monitoringu, instalacji oraz aktualizacji aplikacji bazujących na serwerze JBoss poprzez scentralizowany system. Pozwala na kontrolę poszczególnych poziomów dostępu umożliwiających przeglądanie, dostęp, zarządzanie systemami oraz dzielnie się informacjami czy też statystykami poprzez różne zespoły.

Związek pomiędzy JON a RHQ Network

Projekt RHQ jest systemem dostarczającym platformę pod budowę systemu zarządzającego wieloma produktami i platformami, z głównymi cechami takimi jak:

  • monitorowanie oraz wizualizacja wskaźników
  • alarmy wywoływane w przypadku błędów czy też innych warunków
  • zdalna konfiguracja zarządzanych zasobów
  • zdalne wykonywane operacji

RHQ został opublikowany głównie w oparciu o licencję GPL, ale część fragmentu jest indywidualnie licencjonowana na licencjach GPL/LGPL. Projekt ten jest podstawą dla budowy JON czy też Jopr.

Różnica pomiędzy JON a Jopr

W jednym zdaniu: JON to specyficzna wersja Jopra, która została odpowiednio przetestowana, oraz na którą są świadczone usługi wsparcia.

Podstawowe moduły

Inwentaryzacja

Moduł ten pozwala na przeprowadzenie automatycznego wykrywania poszczególnych zasobów oraz pozwala na ich szybką i łatwą konfigurację.Gromadzone są m.in. informacje dotyczące momentu instalacji usługi lub aplikacji, wersji oraz są dostępne informacje o historii danego zasobu. Taki model pozwala na śledzenie poszczególnych maszyn wraz z systemami operacyjnymi, źródeł danych, usług przesyłających wiadomości, procesów uruchomionych na maszynie, takich jak JBoss AS, Apache HTTP Server oraz informacji o poszczególnych aplikacjach uruchomionych w ramach serwera aplikacji JBoss.

Administracja

Aktualna konfiguracja każdego serwera jest przechowywana w centralnej bazie danych. Mogą istnieć konfiguracje w niej także zapisane różne przeszłe konfiguracje pozwalające na prezentowanie danych historycznych. Odpowiedni interfejs webowy pozwala na modyfikowanie parametrów poszczególnych usług, jeżeli posługują się one plikami tekstowymi. Dostępne są podstawowe operacje kontroli poszczególnych usług takie jak możliwość ich uruchomienia, zatrzymania i restartu.

Monitorowanie

Monitorowanie wykonania aplikacji odbywa się na wielu poziomach tak, aby umożliwić zebranie dokładnych statystyk oraz ich zachowań. Rozszerzone statystyki są dostępna dla serwera aplikacji JBoss AS oraz różnych komponentów wchodzących w skład produktów z rodziny JBoss Middleware, m.in. Hibernate, Apache Web Server, rożne systemy operacyjne takie jak Windows, Linux czy Solaris. Mogą zostać zdefiniowane odpowiednie alarmy, które umożliwiają pilnowanie konkretnych zdarzeń mających miejsce w systemie.

Aplikacje

Istnieje zarządca łatek na aplikacji, który umożliwia automatyczne ich przeglądanie instalowanie. Historia wszelkich zmian jest także zapamiętywana i możliwa do przeglądania.

Architektura

Platforma JBoss Operations Network składa się z centralnego systemu zarządzającego oraz ze zdalnych agentów, instalowanych na monitorowanych maszynach. Zadaniem agentów jest dostarczanie pewnych oraz szczegółowych informacji o monitorowanych zasobach. Komunikują się oni z centralnymi serwerami synchronizując zbierane informacje. Jest dostępny otwarty system tworzenia plug-inów, dzięki czemu istnieje możliwość dodania monitoringu nawet do własnościowych czy specyficznych aplikacji.Agenci są w miarę potrzeby samodzielni, potrafią działaś także w monecie, gdy główne serwery nie są dostępne.

Źródła

Tags: , , , ,