Serwer RHQ pozwala nie tylko na zarządzanie poszczególnymi usługami, ale także na tworzenie ich grup i kompleksowe zarządzanie nimi. Pozwalają one także na zarządzanie uprawnieniami do poszczególnych część systemu.

Koncepcja grup w RHQ:

  • definicja członkostwa w grupie:
    • do grupy można ręcznie dodać poszczególne zasoby
    • możliwość tworzenia reguł, na podstawie których będą definiowane poszczególne zasoby
    • w jednej grupie mogą znajdować się różne klasy zasobów
  • uwierzytelnianie
    Na poziomach grup można definiować odpowiednie uprawnienia dla różnych ról, używając grup dynamicznych można definiować dynamiczne ACL (czyli dana rola będzie miała odpowiedni dostęp do wszystkich zasobów spełniających podane warunki).
  • właściwości grupy
    Grupy składające się z takich samych zasobów mogą mają szereg dodatkowych możliwości, które ułatwiają zarządzanie tymi zasobami:

    • grupa jest traktowana tak jak pojedynczy zasób danego typu, co pozwala na masowe wykonywanie określonych akcji, oczywiście w pewnym zakresie)
    • mierzenie parametrów maksymalnych, minimalnych oraz średnich w ramach grupy
    • połączone przeglądanie zdarzeń mających miejsca w ramach członków grupy
    • możliwość modyfikowania pewnych parametrów konfiguracyjnych jednocześnie w ramach wszystkich członków grupy

Tworzenie nowej grupy statycznej

Utworzenie nowej statycznej grupy wymaga wykonania kilku kroków. W przykładzie utworzymy grupę, w skład której będą wchodziły dwa serwery JBoss 5 pracujące w ramach klastra.

Definiowanie nowej grupy rozpoczynamy poprzez wybranie odpowiedniej pozycji z menu: Groups->New Group.

RHQ Server - dodaj nową grupę

RHQ Server - dodaj nową grupę

Będziemy teraz mogli zdefiniować podstawowe parametry związane z grupą:

  • Name – nazwa grupy
  • Contains – wskaznie, jakie zasoby mają zanelźć się w ramach grupy, do wyboru mamy:
    • Compatible Resources – wybranie tej opcji będzie wskazywało, że w ramach grupy mają znajdować się zasoby tego samego typu (pojawi się także pole w którym będziemy mogli zdefiniować rodzaj zasobów). Użycie tej opcji umożliwi zbiorowe zarządzanie wybranymi usługami.
    • Mixed Resources – w ramach grupy będę wchodziły zasobu różnych typów. Przydatne rozwiązanie w momencie użycia grup do konfiguracji uprawnień dla ról.
  • Recursive – włączenie tej opcji spowoduje, że w ramach wybranych usług będziemy mieli także dostęp do usług zawartych w nich, czyli np. jeżeli do grupy dodamy serwer JBoss, to zaznaczenie tej opcji spowoduje że będziemy mieli dostęp do jego wszystkich usług, aplikacji. W przeciwnym wypadku będzie możliwy dostęp tylko zdefiniowanych zasobów (i odpowiednio tylko na nich będzie istniała możliwość dokonywania określonych operacji)
RHQ Server - definiowanie grupy

RHQ Server - definiowanie grupy

Po zatwierdzeni definicji grupy należy dodać odpowiednich jej członków. Można to zrobić wybierając przycisk ADD TO GROUP. Będzie można wtedy wybrać odpowiednie usługi, które mają należeć do grupy.

RHQ Server - dodanie nowych członków do grupy

RHQ Server - dodanie nowych członków do grupy

Po dodaniu wszystkich potrzebnych zasobów, można ich listę zobaczyć w informacji o grupie:

RHQ Server - lista członków grupy

RHQ Server - lista członków grupy

Tworzenie nowej grupy dynamicznej

Grupy dynamiczne pozwalają na zdefiniowanie reguł, jakie mają spełnić zasoby aby do niej należeć. Pozwala to na utworzeniu ogólnych reguł, które pozwolą zarówno na zarządzanie jak i dynamiczne definiowanie reguł dostępu do poszczególnych zasobów.

Dzięki takim regułom możemy zdefiniować grupę, w której skład będą wchodziły wszystkie agenty monitorujące. Będzie można dzięki temu na przykład je wszystkie na raz zrestartować, czy też kazać pobrać nową listę wtyczek (agenci monitorujący odświeżają listę wtyczek w momencie startu lub na żądanie).

Definicję grupy dynamicznej rozpoczynamy poprzez wybranie z menu pozycji Groups->New Group Definition.

RHQ Server - tworzenie grupy dynamicznej

RHQ Server - tworzenie grupy dynamicznej

Kolejnym krokiem będzie zdefiniowanie grupy, czyli podanie:

  • Name – nazwy grupy
  • Description – opis grupy
  • Recursive – oznaczenie, czy mają być także dostępne zasoby potomne
RHQ Server - definiowanie grupy dynamicznej

RHQ Server - definiowanie grupy dynamicznej

Po zatwierdzeniu podstawowych informacji o grupie czas zdefiniować, jakie zasoby powinny się w niej znaleźć. W przeciwieństwie do grupy statycznej nie wybieramy tutaj zasobów, ale definiujemy reguły, jakie mają one spełniać.

Reguła wybierająca skrypty agenta monitorującego wygląda następująco:

1
2
resource.type.plugin = RHQAgent
resource.type.name = Launcher Script

Warto zapoznać się z wyglądem dostępnych szablonów, pozwoli to na zorientowanie się w jaki sposób takie reguły się tworzy.

Drugą opcję która należy ustawić jest Recalculation interval. Jest to po prostu określenie interwału czasowego, z jakim będą wyszukiwane zasoby, które spełniają zdefiniowaną regułę.

RHQ Server - tworzenie reguł grupy dynamicznej

RHQ Server - tworzenie reguł grupy dynamicznej

Ostatnim elementem, będzie wywołanie akcji Calculate Groups. Pozwoli ona na natychmiastowe wykonanie reguły i odszukanie zasobów które powinny należeć do danej grupy.

RHQ Server - szukanie zasobów dla grupy dynamicznej

RHQ Server - szukanie zasobów dla grupy dynamicznej

Po wybraniu z listy zdefiniowanej reguły, otrzymamy stronę na której będzie można zarządzać zdefiniowanymi systemami.

RHQ Server - lista zasobów grupy dynamicznej

RHQ Server - lista zasobów grupy dynamicznej

Teraz wystarczy wybrać zakładkę OPERATIONS a następnie akcję Restart. Spowoduje to wykonane restartu wszystkich agentów monitorujących.

Tags: , , , ,