CLI

Uruchomienie CLI jest realizowane z użyciem skryptu jboss-cli.sh. Na początku należy podłączyć się do serwera za pomocą polecenia connect. Opcjonalnie powyższe kroki można wykonać wykonać w trybie wsadowym.

 ./jboss-cli.sh –-connect 192.168.10.1 –-user=admin1234 –-password=password1234!

Inną ciekawym przełącznikiem jest --file umożliwiający uruchamianie gotowych skryptów CLI.

./jboss-cli.sh jboss-cli.bat –-file=myscript.cli

Komendy być także uruchomiane w trybie nieinteraktywnym po podaniu ich z przełącznikiem --command lub --commands.

./jboss-cli.sh --commands="connect,deploy Utility.jar“

Ze względów administracyjnych możliwe jest uruchomienie CLI w trybie w którym możliwe będzie zarządzanie konfiguracją, jednak sam serwer i jego usługi nie będą działały.

./standalone.sh --admin-only
reload --admin-only=false

Konsola aktywnie wspiera administratora podpowiadając zarówno poszczególne elementy ścieżki jak i możliwe operacje do wykonania po naciśnięciu klawisza tab.
Każde polecenie CLI składa się z trzech części:

  • adresu poprzedzonego /
  • nazwy operacji poprzedzonej :
  • opcjonalną listą parametrów podanych w nawiasach, po przecinku, w postaci klucz=wartość

Adres może składać się z wielu członów, a każdy człon ma postać /node-type=node-name

/subsystem=undertow/server=default-server/http-listener=default/:read-resource()
/subsystem=undertow/server=default-server/http-listener=default/:read-attribute(name=enabled) 
/socket-binding-group=standard-sockets/socket-binding=http/:write-attribute(name=port,value=8280)
/subsystem=naming/binding=myname/:add(binding-type=simple,cache=false,value=value)
/subsystem=logging:read-children-resources(child-type=log-file)

Każdy z zasobów może posiadać dodatkowe, specyficzne operacje

/subsystem=naming/:jndi-view

CLI można także uruchomić w trybie graficznym

./jboss-cli.sh –-gui

Istnieje możliwość uruchamiania poleceń w trybie wsadowym. Jeśli jakakolwiek operacja się nie powiedzie pozostałe zostaną wycofane.

[standalone@localhost:9990 /] batch
[standalone@localhost:9990 /#] deploy MyApplication.jar
[standalone@localhost:9990 /#] /system-property=myprop:add(value=myvalue)
[standalone@localhost:9990 /#] run-batch

Istnieje możliwość pokazania / wylistowania dodanych dodanych komend.

standalone@localhost:9990 /] list-batch

A także możliwość wstrzymania, a później wznowienia operacji batch np. kiedy trzeba w między czasie wykonać niezależnie inną operację.

[standalone@localhost:9990 / #] undeploy myproject.war 
#1 undeploy myproject.war
[standalone@localhost:9990 / #] holdback-batch

Wznowienie dodawania poleceń odbywa się przez ponowne wykonanie komendy batch. Co więcej istnieje także możliwość robienia savepointów

[standalone@localhost:9990 /# ] holdback-batch step1
...
[standalone@localhost:9990 /] batch step1

Instrukcje w trybie wsadowym mogą być składowane i uruchamiane z pliku.

run-batch --le=myscript.cli --verbose

Wszystkie dokonane zmiany konfiguracji są automatycznie zapisywane i można je odtworzyć tak jak przy systemach kontroli wersji (katalogi standalone_xml_history i domain_xml_historyw katalogu z konfiguracją).

Zawartość:

  • standalone.initial.xml - oryginalna konfiguracja, zapisana po pierwszym poprawnym uruchomieniu serwera. Ten plik nie jest nadpisywany
  • standalone.boot.xml - plik nadpisywany po każdym poprawnym uruchomieniu serwera
  • standalone.last.xml - plik nadpisywany po każdej zmianie konfiguracji

Oprócz tego mamy katalog current który jest czyszczony przy starcie i zawiera 100 ostatnich zmian konfiguracji. Przy każdym uruchomieniu serwera folder jest kopiowany z znacznikiem czasowym i trzymany przez 30 dni.
Ostatnim folderem jest snapshot gdzie trzymane są zrzuty konfiguracji wykonane jawnie z CLI.

:take-snapshot
:list-snapshots
:delete-snapshot(name="20131108-171642235standalone.xml")

Zawieszanie serwera (pozwala na przetworzenie istniejących żądań bez przyjmowania nowych). Klienci dostają status 503. W czasie kiedy serwer jest zawieszony nadal można zarządzać konfiguracją i wykonywać deploy/undeploy.

:suspend
:read-attribute(name=suspend-state)
:resume

Przykłady komend konfiguracyjnych

Interfejsy sieciowe

Zmiana adresu interfejsu administracyjnego (zaleca się żeby robić to przez parametry startowe).

/interface=management/:write-attribute(name=inet-address,value=${jboss.bind.address.management:192.168.10.1 })

Zmiana adresu interfejsu publicznego.

/interface=public/:write-attribute(name=inet-address,value=${jboss.bind.address:192.168.10.1})

Usostępnienie interfejsu na wszystkich adresach IP.

/interface=public/:write-attribute(name=inet-address,value=${jboss.bind.address:0.0.0.0})

Wszystkie powyższe zmiany wymagają przeładowania konfiguracji

reload

Porty

Określenie / modyfikacja portów

 ./standalone.sh -Djboss.http.port=8280
/socket-binding-group=standard-sockets/socket-binding=http/:write-attribute(name=port,value=${jboss.http.port:8180})

Dodawanie ścieżki

/path=logpath/:add(path=/home/logs)
/path=mydir/:add(relative-to=jboss.server.base.dir)

Properties

Praca ze zmiennymi

/system-property=mykey/:add(value=value)
/system-property=mykey/:read-resource(recursive=false)
/system-property=mykey/:remove
/core-service=platform-mbean/type=runtime:read-attribute(name=system-properties)

Zarządzanie na poziomie domeny

Podłączenie do kontrolera domeny

./jboss-cli.sh --connect controller=192.168.0.1:9990

Po naduszeniu tab pokazują się nowe opcje do zarządzania domeną. Dla nas istotne są:

  • profile - pozwala na zarządzanie profilami zdefiniowanymi w domenie
  • host - operacje wykonywane na poszczególnych hostach (start/stop/restart/reload)
  • server-group - wykonywanie operacji na grupach serwerów

Przykłady użycia

Modyfikacja ustawień profilu polegająca na zmianie ustawień timeoutu dla SLSB

/profile=full/subsystem=ejb3/strict-max-bean-instance-pool=slsb-strict-max-pool:write-attribute(name=timeout,value=100)

Wykonanie restartu server-one dostępnego na host master

 /host=master/server-config=server-one:restart

Dodanie nowego serwera

 /host=master/server-config=server-five:add(auto-start=false, socket-binding-port-o set=400, group=main-server-group)
 /host=master:read-children-names(child-type=server-config)
 /host=master/server-config=server-five:start

Usuwanie zatrzymanego serwera.

  /host=master/server-config=server-five:remove

Sprawdzanie informacji o wybranych parametrach serwera.

/host=master/server=server-one/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

Zarządzanie Host Controllerem (po zatrzymaniu należy ponownie odpalić domain.sh).

/host=slave:reload
/host=slave:shutdown

Operowanie na grupie serwerów.

/server-group=main-server-group:restart-servers
/server-group=main-server-group:reload-servers

results matching ""

    No results matching ""