Systemmanagement mit RHQ, Jopr und JBoss ON 2 Heiko W. Rupp Rhein-JUG Düsseldorf, 19.3.2009 Freitag, 20. März 2009 Agenda · · · · · Einführung Geschichte Architektur Subsysteme Demo · Entwicklung von Plug-ins 2 (c) 2009 Red Hat Freitag, 20. März 2009 Einführung · RHQ - Gemeinsames Projekt von Red Hat und Hyperic · RHQ ist Upstream für JBoss Operations Network 2 (JBossON) · Jopr enthält den Rest und ist auch Upstream für JBossON · http://www.jboss.org/jopr · RHQ ist seit Februar 2008 Open Source · · · · · Startseite: http://www.rhq-project.org/ Foren: http://forums.rhq-project.org/ Wiki: http://support.rhq-project.org/display/RHQ/Home SVN: http://www.rhq-project.org/svn.php Plugin-Community: http://support.rhq-project.org/display/RHQ/RHQ+Plugin +Community · Embedded Jopr ist ein Ersatz der JMX-Console · Baut ebenfalls auf RHQ auf · http://www.jboss.org/jopr/ and http://www.jboss.org/embjopr/ 3 (c) 2009 Red Hat Freitag, 20. März 2009 4 (c) 2009 Red Hat Freitag, 20. März 2009 5 (c) 2009 Red Hat Freitag, 20. März 2009 5 (c) 2009 Red Hat Freitag, 20. März 2009 5 (c) 2009 Red Hat Freitag, 20. März 2009 6 (c) 2009 Red Hat Freitag, 20. März 2009 6 (c) 2009 Red Hat Freitag, 20. März 2009 6 (c) 2009 Red Hat Freitag, 20. März 2009 7 (c) 2009 Red Hat Freitag, 20. März 2009 8 (c) 2009 Red Hat Freitag, 20. März 2009 History Embedded Jopr 1 RHQ 1.2 JBoss ON 2.1 RHQ 1.1 JBoss ON 2.0 RHQ 1.0 JBoss ON 1.4 JBoss ON 1.2 Released (c) 2009 Red Hat Freitag, 20. März 2009 JBoss ON 2.x Jopr 2.x Jopr 2.1 Working on JBoss ON 1.0 9 History Embedded Jopr 1 RHQ 1.2 JBoss ON 2.1 RHQ 1.1 JBoss ON 2.0 RHQ 1.0 JBoss ON 1.4 JBoss ON 1.2 Released (c) 2009 Red Hat Freitag, 20. März 2009 JBoss ON 2.x Jopr 2.x Jopr 2.1 2.2 beta 1 Working on JBoss ON 1.0 9 RHQ 1.x · Zum großen Teil neu geschrieben · Benutzt · · · · · JBoss AS 4.2.1 JBoss Remoting EJB 3 JPA / Hibernate JSF / Richfaces · SIGAR Library von Hyperic (also in the Open Source) · Teile der GUI sind von JBoss ON 1.x · Die meisten Teile sind in JSF neu geschrieben · Seam erhält Einzug 10 (c) 2009 Red Hat Freitag, 20. März 2009 Architektur · Zentraler Server oder Servercluster · Agent pro Maschine (,,platform") 11 (c) 2009 Red Hat Freitag, 20. März 2009 Architektur des Agenten Dienste · · · · Lokales Inventory Logging Spooling Scheduling PluginContainer Plugin Plugin Log Local inventory Comms Command · Hot-Deploy von Server aus · Agent lädt die Plugins herunter und startet den Plugin-Container neu · Selbstupdate des Agents 12 (c) 2009 Red Hat Freitag, 20. März 2009 Spool · Beherbergt Plugins Schedule · Beinhaltet zentrale Agent Ressourcen · ,,Resource" · Ales was gemanaged oder überwacht werden kann · ,,Resource Type" · Z.B. Linux, Max OS X, JBoss AS, Hibernate Stats, DB-Tabelle · ,,Resource Category" · Platz in der Hierarchie der Ressourcen · Vater - Kind - Relation · Platform = Maschine Platform Server Service 13 (c) 2009 Red Hat Freitag, 20. März 2009 Hosted by Subsysteme · Inventory · Zentrale Bibliothek in der alle Ressourcen verzeichnet sind · Monitoring · Ermittlung von Werten und Zuständen · Anzeige der Messwerte in der GUI · Alerts · Benachrichtigung des Bedienpersonals · Automatisierte Aktionen · Configuration · Konfiguration von Ressourcen · Operations · Operationen auf Ressourcen und Gruppen ausführen · Packages · Softwareinstallation auf Ressourcen (c) 2009 Red Hat Freitag, 20. März 2009 14 Verfügbare Plugins · RHQ · · · · · · · JMX Postgres / MySQL Apache IIS Linux-stuff SNMP-Traps ... · Jopr · JBossAS 3/4 , 5 · Tomcat · JBossCache · RHQ-Server · Hibernate · Mobicents 15 (c) 2009 Red Hat Freitag, 20. März 2009 Demo 16 (c) 2009 Red Hat Freitag, 20. März 2009 Plugin-Entwicklung · Plug-ins werden im Plugin-Container installiert Agent PluginContainer Plugin Plugin Log Local inventory Comms Command · Hot-Deploy von Server aus · Agent lädt die Plugins herunter und startet den Plugin-Container neu 17 (c) 2009 Red Hat Freitag, 20. März 2009 3 Komponenten eines Plug-ins · Discovery Komponente · Verantwortlich für das Auffinden von neuen Ressourcen · ,,Resource key" muss eindeutig sein und bleiben · Plugin Komponente · Implementiert Facets · Analog zu den Subsystemen · MeasurementFacet · OperationsFacet · ... · Plugin-Descriptor · Definiert die Features eines Plugins in Metadaten · Verknüpft die Java-Klassen 18 (c) 2009 Red Hat Freitag, 20. März 2009 Struktur des Plugins im Quellcodebaum 19 (c) 2009 Red Hat Freitag, 20. März 2009 Plugin Skeleton Generator · Generiert die Artekfakte eines Plugins · Einfache Java Applikation · Frägt eine Reihe von Punkten ab $ java -jar target/rhq-pluginGen-1.2-jar-with-dependencies.jar Please specify the plugin root category PLATFORM(P), SERVER(S), SERVICE(I), s Please specify its PackagePrefix: org.rhq.plugins Please specify its FileSystemRoot: /jon/jonHEAD/rhq/modules/plugins Please specify its ComponentClass: FooComponent Please specify its DiscoveryClass: FooDiscovery Please specify if it should support Events (y/N): y Please specify its ParentType: Please specify if it should support Monitoring (y/N): y ....... $ · Und generiert die entsprechenden Dateien danach 20 (c) 2009 Red Hat Freitag, 20. März 2009 Mehr ... · JBoss ON 2 Docs: http://www.redhat.com/docs/en-US/JBoss_ON/ · JBoss ON Homepage: http://www.jboss.com/products/jbosson · Jopr: http://www.jboss.org/jopr · Jopr-Forum: http://www.jboss.org/index.html? module=bb&op=viewforum&f=292 · · Blog-Postings zur Entwicklung von Plugins: http:// pilhuhn.blogspot.com/2008/05/writing-rhq-plugin-part-1.html -- 5 postings · ,,How to write a plugin" Whitepaper http://www.redhat.com/f/pdf/ Write_A_Plugin_WP_web.pdf 21 (c) 2009 Red Hat Freitag, 20. März 2009 Ende .. · Fragen ? · Danke fürs Zuhören · Wir sind immer auf der Suche nach neuen Kollegen · http://pilhuhn.blogspot.com · http://twitter.com/pilhuhn 22 (c) 2009 Red Hat Freitag, 20. März 2009