Änderungen von Dokument Monitoring
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (4 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - $services.localization.render("PT.Main.Monitoring")1 +Monitoring - Übergeordnete Seite
-
... ... @@ -1,1 +1,1 @@ 1 - Main.Technik1 +WebHome - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. gru1 +XWiki.sas - Inhalt
-
... ... @@ -4,45 +4,53 @@ 4 4 5 5 {{formcycle/}} bietet für das Monitoring des Anwendungsstatus je Server-Typ eine entsprechende Monitoring-Bean an. Diese kann über JMX mit einem dazugehörigen Werkzeug (z.B. //JConsole//) angebunden und abgefragt werden. Die Namen unter der die entsprechenden Beans registriert sind lauten hierbei: 6 6 7 -* {{litem title="{{fserver/~}~}"}}de.xima.fc:type=FSMonitor,qualifier=<Kontext-Name> {{/litem}} 8 -* {{litem title="{{mserver/~}~}"}} de.xima.fc:type=MSMonitor,qualifier=<Kontext-Name> {{/litem}} 7 +; Frontend-Server 8 +: de.xima.fc:type=FSMonitor,qualifier=<Kontext-Name> 9 +; Master-Server 10 +: de.xima.fc:type=MSMonitor,qualifier=<Kontext-Name> 9 9 10 -Der //qualifier// ist hierbei für eine Parallel-Installation der entsprechenden Server notwendig und entspricht dem Kontext-Namen der Anwendung. Dieser ist hierbei standardmäßig der Namen der *.war-Datei, kann jedoch über den Kontext-Parameter //XFC_CONTEXT_NAME// innerhalb der //web.xml// angepasst werden. Ebenfalls wird während des Starts des entsprechenden Servers der konkret verwendete Name ausgeloggt. Jede Bean besitzt zudem unterschiedliche Monitoring-Attribute welche in folgenden Übersichten dargstellt sind:12 +Der //qualifier// ist hierbei für eine Parallel-Installation der entsprechenden Server notwendig und entspricht dem Kontext-Namen der Anwendung. Dieser ist hierbei standardmäßig der Namen der war-Datei, kann jedoch über den Kontext-Parameter //XFC_CONTEXT_NAME// innerhalb der //web.xml// angepasst werden. Ebenfalls wird während des Starts des entsprechenden Servers der konkret verwendete Name ausgeloggt. Hierfür kann es notwendig sein, die [[Logging-Einstellungen>>doc:.UserInterface.Logging]] anzupassen. Jede Bean besitzt zudem unterschiedliche Monitoring-Attribute, welche in folgenden Übersichten dargestellt sind: 11 11 12 - 13 -=== {{mserver/}} (MSMonitor) === 14 - 15 -{{table caption="Übersicht über Eigenschaften MSMonitor" dataTypeAlpha="0" preSort="0-asc"}} 14 +{{table dataTypeAlpha="0" preSort="0-asc" caption="Übersicht über die Eigenschaften des MSMonitor (Master-Server)"}} 16 16 |= Attribut|=Bedeutung|= Mögliche Werte 17 -|running|Gibt an, ob der {{mserver/}} aktiv ist|true ,false18 -|db_connected|Gibt an, ob der {{mserver/}} erfolgreich eine Datenbankverbindung herstellen konnte.|true ,false16 +|running|Gibt an, ob der {{mserver/}} aktiv ist|true/false 17 +|db_connected|Gibt an, ob der {{mserver/}} erfolgreich eine Datenbankverbindung herstellen konnte.|true/false 19 19 |fs_connected|Repräsentiert eine Map mit den Namen aller {{fserver case="nom" number="plural"/}} als Schlüssel und als Wert, ob diese mit dem {{mserver case="dat"/}} verbunden sind.|__Schlüssel:__ <Frontend-Server-Name> 20 -__ Wert:__ true,false19 +__Rückgabewert:__ true/false 21 21 |fs_active|Repräsentiert eine Map mit den Namen aller {{fserver case="nom" number="plural"/}} als Schlüssel und als Wert ob diese automatisch verbunden werden soll.|__Schlüssel:__ <Frontend-Server-Name> 22 -__ Wert:__ true,false21 +__Rückgabewert:__ true/false 23 23 |fs_status|Repräsentiert eine Map mit den Namen aller {{fserver case="nom" number="plural"/}} als Schlüssel und dem konkreten Verbindungsstatus als Wert.|__Schlüssel:__ <Frontend-Server-Name> 24 -__ Wert:__ CONNECTED,NOT_CONNECTED,ERROR,23 +__Rückgabewert:__ CONNECTED,NOT_CONNECTED,ERROR, 25 25 RECONNECTING,DISCONNECTING,CONNECTING, 26 26 AUTHENTICATING, WAIT_FOR_CONNECTION 27 -|fs_disconnected_count| Gibt die Anzahl der nicht verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer/gleich 0 28 -|fs_connected_count| Gibt die Anzahl der verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer/gleich 0 26 +|fs_disconnected_count|Gibt die Anzahl der nicht verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer oder gleich 0 27 +|fs_connected_count| Gibt die Anzahl der verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer oder gleich 0 28 +|failed_login_count|Gibt die Anzahl der aktuell registrierten fehlerhaften Login-Versuche aus, also wie viele Login-Name sich Cache für die fehlerhaften Versuche befinden.|Eine Zahl größer oder gleich 0 29 +|connect_frontendserver_by_name|Triggert eine Verbindung zum Frontend-Servers per Name an.|__Schlüssel:__ <Frontend-Server-Name>, true/false um Reconnect immer anzustoßen (egal ob Verbindung besteht) 30 +__Rückgabewert:__ true/false 31 +|connect_frontendserver_by_id|Triggert eine Verbindung zum Frontend-Servers per ID an.|__Schlüssel:__ <Frontend-Server-ID>, true/false um Reconnect immer anzustoßen (egal ob Verbindung besteht) 32 +__Rückgabewert:__ true/false 29 29 {{/table}} 30 30 31 -=== {{fserver/}} (FSMonitor) === 32 - 35 +{{table dataTypeAlpha="0" preSort="0-asc" fullwidth="true" caption="Übersicht über die Eigenschaften des FSMonitor (frontend-Server)"}} 33 33 |=Attribut|=Bedeutung|=Mögliche Werte 34 -|running|Gibt an, ob der {{fserver/}} erfolgreich gestartet wurde.|true ,false35 -|connected|Gibt an, ob der {{fserver/}} mit einem {{mserver/}} verbunden ist.|true ,false37 +|running|Gibt an, ob der {{fserver/}} erfolgreich gestartet wurde.|true/false 38 +|connected|Gibt an, ob der {{fserver/}} mit einem {{mserver/}} verbunden ist.|true/false 36 36 |status|Gibt den konkreten Verbindungsstatus des {{fserver case="gen"/}} an.|CONNECTED,NOT_CONNECTED,ERROR, 37 37 RECONNECTING,DISCONNECTING,CONNECTING, 38 38 AUTHENTICATING, WAIT_FOR_CONNECTION 42 +|failed_login_count|Gibt die Anzahl der aktuell registrierten fehlerhaften Login-Versuche aus, also wie viele Login-Name sich Cache für die fehlerhaften Versuche befinden.|Eine Zahl größer oder gleich 0. 43 +|restart|Triggert einen Neustart des Frontend-Servers an.|Keine 44 +{{/table}} 39 39 40 40 == JSON-REST-Schnittstelle == 41 41 42 -Die für das Monitoring verwendeten Beans sind ebenfalls über einebereitgestellteJSON-Schnittstelle aufrufbar.Einmöglicher Aufruf siehthierbeizumBeispielwie folgt aus:48 +Die JSON-Schnittstelle ist seit Version 6.0.0 zu Gunsten einer separaten Jolokia-Installation entfernt worden. Die für das Monitoring verwendeten Beans sind nachwievor verfügbar. Die JSON-Schnittstelle des Monitorings erlaubte nur lesende Zugriff und war nur über den Anwendungsserver aufrufbar (localhost/127.0.0.1). Falls dies gewünscht ist müsste der Zugriff innerhalb der Jolokia Anwendung konfiguriert werden, weiter Infomationen finden Sie [[hier>>https://jolokia.org/reference/html/security.html#d0e3128||rel="noopener noreferrer" target="_blank"]]. 43 43 50 +Ein möglicher Aufruf, nach erfolgter Installation von Jolokia, sieht hierbei zum Beispiel wie folgt aus: 51 + 44 44 {{info}} 45 -http://localhost/formcycle/monitoring/read/de.xima.fc:type=MSMonitor,qualifier=formcycle 53 +[[http:~~/~~/localhost/jolokia/read/de.xima.fc:type=MSMonitor,qualifier=formcycle>>http://localhost/formcycle/monitoring/read/de.xima.fc:type=MSMonitor,qualifier=formcycle]] 46 46 {{/info}} 47 47 48 48 JSON-Antwort: ... ... @@ -49,43 +49,33 @@ 49 49 50 50 {{code language="JSON"}} 51 51 { 52 -"timestamp":1440603508, 53 -"status":200, 54 -"request":{ 55 - "mbean":"de.xima.fc:qualifier=formcycle,type=MSMonitor", 56 - "type":"read" 57 -}, 58 -"value":{ 59 - "fs_active":{ 60 - "sas":true, 61 - "localhost":false, 62 - "mko":true 63 - }, 64 - "fs_connected":{ 65 - "sas":false, 66 - "localhost":false, 67 - "mko":false 68 - }, 69 - "db_connected":true,"fs_status":{ 70 - "sas":"ERROR", 71 - "localhost":"NOT_CONNECTED", 72 - "mko":"ERROR" 73 - }, 74 - "fs_disconnected_count":3, 75 - "fs_connected_count":0, 76 - "running":true 77 - } 60 + "request": { 61 + "mbean": "de.xima.fc:qualifier=formcycle,type=MSMonitor", 62 + "type": "read" 63 + }, 64 + "value": { 65 + "running": true, 66 + "failed_login_count": 0, 67 + "fs_active": { 68 + "localhost": true 69 + }, 70 + "db_connected": true, 71 + "fs_connected_count": 1, 72 + "fs_connected": { 73 + "localhost": true 74 + }, 75 + "fs_disconnected_count": 0, 76 + "fs_status": { 77 + "localhost": "CONNECTED" 78 + } 79 + }, 80 + "timestamp": 1579186291, 81 + "status": 200 78 78 } 79 79 {{/code}} 80 80 85 +Weitere Informationen zur Abindung des Framework [[Jolokia>>url:https://jolokia.org/||rel="__blank"]] und eine genauere Dokumentation finden sie [[hier>>url:https://jolokia.org/reference/html/||rel="__blank"]]. 81 81 82 -Wie erkennbar ist, befindet sich unter dem Kontext der Anwendung das Servlet //../monitoring// welches die eigentliche Interpretation der Beans und deren Aufbereitung in JSON realisiert. Hierfür kommt das Framework [[Jolokia>>url:https://jolokia.org/||rel="__blank"]] zum Einsatz, sodass dieses Servlet entsprechend konfigurierbar und über verschiedene Aufrufe benutzbar ist. Eine genauere Dokumentation hierfür finden sie [[hier>>url:https://jolokia.org/reference/html/||rel="__blank"]]. 83 - 84 -{{warning}} 85 -Es ist zu beachten, dass die JSON-Schnittstelle des Monitorings nur lesende Zugriffe erlaubt und nur über den Anwendungsserver aufrufbar ist! (localhost/127.0.0.1) 86 -{{/warning}} 87 - 88 - 89 89 == Nagios-Anbindung == 90 90 91 91 Eine Anbindung der Nagios-Monitoring-Anwendung erfolgt über die beschriebene JSON-Schnittstelle. Hierfür muss das Nagios-Plugin [[jmx4perl>>url:http://search.cpan.org/~~roland/jmx4perl/||rel="__blank"]] installiert werden. Dieses erlaubt es Nagios das JSON zu interpretieren und entsprechende Abfragen aufzubauen. Eine genauere Installations-Dokumentation hierfür finden Sie [[hier>>url:https://jolokia.org/tutorial.html||rel="__blank"]]. Anschließend ist es möglich mit dem entsprechenden command des Plugins die Abfragen an die JSON-Schnittstelle zu formulieren. ... ... @@ -97,7 +97,7 @@ 97 97 {{/warning}} 98 98 99 99 {{panel title="Command" fullwidth="true" initial="hidden" triggerable="true"}} 100 -{{code}} 98 +{{code language="none"}} 101 101 define command{ 102 102 command_name check_jmx4perl 103 103 command_line check_jmx4perl --url $ARG1$ --mbean $ARG2$ --attribute $ARG3$ $ARG4$ ... ... @@ -106,9 +106,9 @@ 106 106 {{/panel}} 107 107 108 108 {{panel title="Service-Definitionen" fullwidth="true" initial="hidden" triggerable="true"}} 109 -Abfrage der Anzahl der am {{mserver case="dat"/}} nicht verbundenen {{fserver number="plural"/}}. Ist diese größer/gleich 1, erfolgt eine Warnung. Ist diese ferner größer/gleich 2, wird diese als kritisch im Nagios interpretiert: 110 - 111 -{{code}} 107 +Abfrage der Anzahl der am {{mserver case="dat"/}} nicht verbundenen {{fserver number="plural"/}}. Ist diese größer/gleich 1, erfolgt eine Warnung. Ist diese ferner größer/gleich 2, wird diese als kritisch im Nagios interpretiert:<br> 108 +<br> 109 +{{code language="none"}} 112 112 define service{ 113 113 use generic-service 114 114 host_name localhost ... ... @@ -119,7 +119,7 @@ 119 119 {{/panel}} 120 120 121 121 {{panel title="Abfrage des Datenbank-Verbindungsstatus des {{mserver case='gen'/~}~}" fullwidth="true" initial="hidden" triggerable="true"}} 122 -{{code}} 120 +{{code language="none"}} 123 123 define service{ 124 124 use generic-service 125 125 host_name localhost ... ... @@ -130,7 +130,7 @@ 130 130 {{/panel}} 131 131 132 132 {{panel title="Abfrage, ob {{fserver/~}~} localhost mit {{mserver case='dat'/~}~} verbunden ist" fullwidth="true" initial="hidden" triggerable="true"}} 133 -{{code}} 131 +{{code language="none"}} 134 134 define service{ 135 135 use generic-service 136 136 host_name localhost ... ... @@ -141,7 +141,7 @@ 141 141 {{/panel}} 142 142 143 143 {{panel title="Abfrage an {{fserver/~}~}, ob dieser erfolgreich mit einem {{mserver/~}~} verbunden ist" fullwidth="true" initial="hidden" triggerable="true"}} 144 -{{code}} 142 +{{code language="none"}} 145 145 define service{ 146 146 use generic-service 147 147 host_name localhost ... ... @@ -157,11 +157,11 @@ 157 157 158 158 Eine weitere Möglichkeit um die Anbindung von Nagios von einem anderen Server aus zu ermöglichen, ist der parallele Betrieb von Jolokia und {{formcycle/}} bzw. dem {{fserver case="dat"/}}. Hierfür stellt Jolokia bereits einen in einer eigenen Anwendung gepackten //JavaEE-Agent// zur Verfügung. ([[Dokumentation>>url:https://jolokia.org/reference/html/agents.html#agents-war||rel="__blank"]], [[Download>>url:https://jolokia.org/download.html||rel="__blank"]]) 159 159 160 -Dieser besitzt standardmäßig keine Limitierung von Lese -Operationen und Steueranweisungen und ist ebenso nicht bezüglich aufrufender Server bzw. IP-Adressen beschränkt. Da dies jedoch ein potentielles Sicherheitsrisiko darstellt, wird es ausdrücklich empfohlen, diese entsprechend der eigenen Server-Topologie und Anforderungen zu konfigurieren. Hierbei ist zum Beispiel anzuraten, den Zugriff lediglich auf den Nagios-Server zu beschränken. Eine ausführliche Dokumentation der Sicherheitsmechanismen von Jolokia finden Sie [[hier>>url:https://jolokia.org/reference/html/security.html||rel="__blank"]].158 +Dieser besitzt standardmäßig keine Limitierung von Leseoperationen und Steueranweisungen und ist ebenso nicht bezüglich aufrufender Server bzw. IP-Adressen beschränkt. Da dies jedoch ein potentielles Sicherheitsrisiko darstellt, wird es ausdrücklich empfohlen, diese entsprechend der eigenen Server-Topologie und Anforderungen zu konfigurieren. Hierbei ist zum Beispiel anzuraten, den Zugriff lediglich auf den Nagios-Server zu beschränken. Eine ausführliche Dokumentation der Sicherheitsmechanismen von Jolokia finden Sie [[hier>>url:https://jolokia.org/reference/html/security.html||rel="__blank"]]. 161 161 162 162 Entsprechend des Betriebs einer parallelen Jolokia-Installation ändert sich beispielhaft die Überprüfung der Verbindung zum {{fserver case="dat"/}} //localhost //wie folgt: 163 163 164 -{{code}} 162 +{{code language="none"}} 165 165 define service{ 166 166 use generic-service 167 167 host_name fc-test ... ... @@ -169,5 +169,3 @@ 169 169 check_command check_jmx4perl!http://fc-test/jolokia/!de.xima.fc:type=MSMonitor,qualifier=formcycle!fs_connected!--path=localhost --string --critical 'false' 170 170 } 171 171 {{/code}} 172 - 173 -