Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
2
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
• https://github.com/jbossas/jboss-as/tags • https://www.jboss.org/products/eap.html • http://www.wildfly.org 3
Versionsübersicht
‣ Ziel Wildfly: schnelle Entwicklungszyklen
‣ Ziel EAP: stabile Versionen, für Entwicklungszwecke frei verfügbar
Einleitung ... Versionen und Weiterentwicklung
JBoss AS 7.1.1 (EE6)
JBoss AS 7.2.0 *
EAP 6.1.0 Final
EAP 6.2.0 GA
Wildfly 8 (EE7)
4
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
https://docs.jboss.org/author/display/AS71/Core+management+concepts 5
Operating Modes und Serverstart
‣ Standalone Server
‣ Ein JVM Prozess, entspricht in etwa JBoss 6 AS und früher
‣ bin/standalone.sh und bin/standalone.conf
‣ jboss-cli.sh --connect --command=:shutdown
‣ Die Verwendung eines Service Wrappers ist möglich
‣ Managed Domain
‣ Mehrere Instanzen (=members) werden von einer zentralen Instanz (=domain controller) über einen host controller auf jedem Node verwaltet.
‣ bin/domain.sh und bin/domain.conf
Installation ... die Struktur und grundlegende Konzepte.
https://docs.jboss.org/author/display/AS71/Core+management+concepts 6
Core Management Conecpts
‣ Standalone Server (eine JVM)
‣ Managed Domain (mehrere zentral gesteuerte Instanzen)
‣ Host (Node mit ein oder mehreren Instanzen)
‣ Host Controller (Daemon zur Verwaltung der Instanzen)
‣ Domain Controller (Daemon zur zentralen Verwaltung der Konfiguration)
‣ Server (die eigentliche JBoss Instanz)
‣ Server Group (Gruppe von Instanzen die als ein Server verwaltet wird)
Anmerkung
‣ Unabhängig ob Standalone oder Domain Mode sollte der nicht verwendete Teil der Konfiguration aus den Verzeichnissen gelöscht werden.
Installation ... die Struktur und grundlegende Konzepte.
https://docs.jboss.org/author/display/AS71/Getting+Started+Guide 7
Verzeichnisstruktur
Installation ... die Struktur und grundlegende Konzepte.
8
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
https://docs.jboss.org/author/display/AS71/General+configuration+concepts 9
Configurtion Concepts
‣ Extension (Modul das den Server Core erweitert)
‣ Profiles = Zusammenfassung von Subsystemen (Erweiterung durch Extensions)
‣ Interfaces (Name für die Konfiguration eines Interfaces)
‣ Socket Binding (Name für die Konfiguration eines Sockets)
‣ System Properties (Properties auf die über die JVM zugegriffen wird)
Konfiguration ... standalone.xml
https://docs.jboss.org/author/display/AS71/General+configuration+concepts 10
Struktur
Konfiguration ... der Aufbau der standalone.xml
https://docs.jboss.org/author/display/AS71/General+configuration+concepts http://dev.mysql.com/downloads/connector/j/ 11
Extensions modules/com/mysql/jdbc/main/{module.xml, mysql-connector-*-bin.jar}
Konfiguration ... Modularisierung und Erweiterungsmöglichkeiten
https://docs.jboss.org/author/display/AS71/General+configuration+concepts 12
Interfaces
‣ Management: Verwaltungswerkzeuge wie Cli und WebUI
‣ Im Optimalfall ist das Management Interface auf 127.0.0.1 gebunden
‣ Public: Web und AJP Zugriffe
Konfiguration ... die Konfiguration der Interfaces
https://docs.jboss.org/author/display/AS71/General+configuration+concepts 13
Socket Binding
‣ Port-offset (Zahl die zu allen Ports addiert wird)
Konfiguration ... Port Konfiguration und Portoffset
https://docs.jboss.org/author/display/AS71/General+configuration+concepts 14
System Properties
Konfiguration ... JVM System Properties
15
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 16
Möglichkeiten den JBoss zu verwalten
‣ Datei standalone.xml / domain.xml editieren (nicht empfohlen!)
‣ Weboberfläche oder JSON API (Port 9990)
‣ Kommandozeile (Port 9999)
Management ... Überblick über die Management Interfaces
https://community.jboss.org/wiki/CommandLineInterface https://docs.jboss.org/author/display/AS71/Command+line+parameters 18
Management Resources
‣ jboss-cli (jboss-cli [--controller=<ip>:<port>] --connect)
‣ XML Struktur (standalone.xml) wird hierarchisch dargestellt, Navigation mit
‣ cd (Ebenen wechseln)
‣ ls (Inhalt anzeigen)
‣ ls –l (detaillierten Inhalt anzeigen)
‣ pwd (Pfad der Ebene anzeigen)
‣ Tab (Autovervollständigung)
Management ... das Kommandozeilen Werkzeug (jboss-cli)
https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 19
Management Resources (1/2)
‣ Operations
‣ :read-operation-names
‣ :read-operation-description(name=server-set-restart-required)
‣ Attribute (Information über den Zustand von Konfiguration oder Laufzeitzustand)
‣ /subsystem=datasources/data-source=exampleDS/:read-attribute(name=max-pool-size)
‣ /subsystem=datasources/data-source=exampleDS/:write-attribute(name=max-pool-size,value=60)
‣ /subsystem=datasources/data-source=“exampleDS":add(driver-name=...)
Management ... Ressourcen-Verwaltung
https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 20
Management Resources (2/2)
‣ Ressourcen
‣ /subsystem=datasources:read-resource
‣ /subsystem=datasources:read-resource(recursive=true)
‣ /subsystem=datasources:read-resource(recursive=true,include-runtime=true)
‣ Cildren
‣ /subsystem=datasources:read-children-types
Management ... Ressourcen-Verwaltung
21
Konfigurationen mit der GUI erstellen ‣ ./jboss-cli.sh --gui
Konfiguration kopieren und importieren ‣ jboss-cli --connect --file=config.cfg
‣ jboss-cli.sh --connect --command=...
Management ... Konfigurationsstrings erstellen und speichern
22
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
https://docs.jboss.org/author/display/AS7/Application+deployment 23
Manuelles Deployment
‣ Applikation in den Ordner „deployment“ kopieren
‣ Vorteil: einfach
‣ Nachteil: Applikation wird nicht registriert
‣ Steuerung über „touchen“ von Dateien wie „.dodeploy“
Deployment ... Möglichkeiten Applikationen zu deployen
http://middlewaremagic.com/jboss/?p=391 24
Automatisches Deployment
‣ Ein Management Interface verwenden (empfohlen)
‣ Kommandozeile
‣ jboss-cli --connect --command=deploy --force /path/to/test.war
‣ jboss-cli --connect --command=undeploy test.war
‣ Oder über die WebUI
Deployment ... Möglichkeiten Applikationen zu deployen
https://docs.jboss.org/author/display/AS71/add-user+utility 25
Dateien
‣ application-roles.properties
‣ application-users.properties
‣ mgmt-users.properties
Interaktives Tool ‣ bin/add-user.sh
Benutzerverwaltung ... Die Benutzerverwaltung
26
Jboss 7 AS ... worum es in diesem Vortrag geht.
Einführung
Installation
Konfiguration
Management
Deployment
Betrieb
https://docs.jboss.org/author/display/AS71/Logging+Configuration 27
Logging
1. gib es einen passenden <logger> und passt das Loglevel - sonst verwerfen
2. kein <logger>, passt der Loglevel des <root-loggers> - sonst verwerfen
3. falls nicht verworfen an alle Handler im <logger> und <root-logger> weiter reichen
4. passt der Level zum Level des Handlers oder ist dieser nicht definiert - Loggen
Logging ... standalone.xml
http://middlewaremagic.com/jboss/?p=2476 28
Monitoring über die JSON API ‣ Deployment Details anzeigen
‣ <ip>:9990/management/deployment/example.ear?operation=resource&recursive&json.pretty
‣ Datasource Details anzeigen
‣ <ip>:9990/management/subsystem/datasources/data-source/ExampleDS/statistics/pool?read-resource&include-runtime=true&recursive&json.pretty
‣ Memory Details anzeigen
‣ <ip>http://localhost:9990/management/core-service/platform-mbean/type/memory-pool?operation=resource&type=runtime&recursive&json.pretty
Monitoring ... Werte über die JSON API auslesen
https://code.google.com/p/javamelody 29
Monitoring mit Javamelody
‣ Zentrales Monitoring bevorzugt, aber Javamelody lässt sich schnell integrieren
‣ Überblick über Ressourcenverbrauch, JSP, HTTP und SQL Requests
Monitoring ... mit Javamelody Werte speichern
30
JConsole ‣ Sicherstellen das der Management Endpoint konfiguriert ist
/subsystem=jmx/remoting-connector=jmx/:write-attribute(name=use-management-endpoint,value=true)
‣ JConsole verbinden mit "service:jmx:remoting-jmx://localhost:9999“
‣ Zugriff auf JVM, MBeans und Konfiguration (vgl. jboss-cli --gui)
Monitoring ... mit der JConsole in Echtzeit
https://github.com/chewiebug/GCViewer 31
GC Logging ‣ zumindest das GC Logging sollte analysiert und die GC optimiert werden
‣ java -jar gcviewer-1.33.jar
Monitoring ... das JVM GC Logging
http://www.yourkit.com http://www.yourkit.com/docs/80/help/startup_options.jsp 32
Yourkit ‣ Agent auf den Server kopieren
‣ JVM Parameter um den Agent Pfad und die Optionen ergänzen
-agentpath:/path/to/yjp/bin/linux-x86-64/libyjpagent.so=disablestacktelemetry,
disableexceptiontelemetry,builtinprobes=none,delay=10000,port=10001
‣ Logdatei unter ~/.yjp/log/
Profiler ... am Beispiel Yourkit
33
Vielen Dank für Ihre Aufmerksamkeit
Kontakt Alexander Pacnik Systems Engineering Project Management inovex GmbH Office Karlsruhe Ludwig-Erhard-Allee 6 76131 Karlsruhe +49 (0)173 3181 040 [email protected]
34
Anmerkungen Die verwendeten Quellen finden sich in den Fußnoten der jeweiligen Folien. Weitere nützliche Quellen finden sich im nächsten Abschnitt.
Quellen ‣ http://www.jboss.org/jbossas/docs
‣ https://issues.jboss.org/browse/AS7
‣ http://www.wildfly.org
‣ https://issues.jboss.org/browse/WFLY
‣ http://www.mastertheboss.com
‣ http://middlewaremagic.com
Quellen ... wo Sie in Ruhe nach lesen können J