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
.
Będziemy teraz mogli zdefiniować podstawowe parametry związane z grupą:
Name
– nazwa grupyContains
– 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)
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.
Po dodaniu wszystkich potrzebnych zasobów, można ich listę zobaczyć w informacji o grupie:
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
.
Kolejnym krokiem będzie zdefiniowanie grupy, czyli podanie:
Name
– nazwy grupyDescription
– opis grupyRecursive
– oznaczenie, czy mają być także dostępne zasoby potomne
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łę.
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.
Po wybraniu z listy zdefiniowanej reguły, otrzymamy stronę na której będzie można zarządzać zdefiniowanymi systemami.
Teraz wystarczy wybrać zakładkę OPERATIONS
a następnie akcję Restart
. Spowoduje to wykonane restartu wszystkich agentów monitorujących.