Änderungen von Dokument Monitoring
Änderungskommentar:
Imported from XAR
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 -Monitoring 1 +$services.localization.render("PT.Main.Monitoring") - Übergeordnete Seite
-
... ... @@ -1,1 +1,1 @@ 1 - WebHome1 +Main.Technik - Inhalt
-
... ... @@ -4,14 +4,15 @@ 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 -; Frontend-Server 8 -: de.xima.fc:type=FSMonitor,qualifier=<Kontext-Name> 9 -; Master-Server 10 -: de.xima.fc:type=MSMonitor,qualifier=<Kontext-Name> 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}} 11 11 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: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: 13 13 14 -{{table caption="Übersicht über die Eigenschaften des MSMonitor (Master-Server)" dataTypeAlpha="0" preSort="0-asc"}} 12 + 13 +=== {{mserver/}} (MSMonitor) === 14 + 15 +{{table caption="Übersicht über Eigenschaften MSMonitor" dataTypeAlpha="0" preSort="0-asc"}} 15 15 |= Attribut|=Bedeutung|= Mögliche Werte 16 16 |running|Gibt an, ob der {{mserver/}} aktiv ist|true,false 17 17 |db_connected|Gibt an, ob der {{mserver/}} erfolgreich eine Datenbankverbindung herstellen konnte.|true,false ... ... @@ -25,10 +25,10 @@ 25 25 AUTHENTICATING, WAIT_FOR_CONNECTION 26 26 |fs_disconnected_count| Gibt die Anzahl der nicht verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer/gleich 0 27 27 |fs_connected_count| Gibt die Anzahl der verbundenen {{fserver case="nom" number="plural"/}} an.|Zahlen größer/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 29 {{/table}} 30 30 31 -{{table dataTypeAlpha="0" preSort="0-asc" fullwidth="true" caption="Übersicht über die Eigenschaften des FSMonitor (frontend-Server)"}} 31 +=== {{fserver/}} (FSMonitor) === 32 + 32 32 |=Attribut|=Bedeutung|=Mögliche Werte 33 33 |running|Gibt an, ob der {{fserver/}} erfolgreich gestartet wurde.|true,false 34 34 |connected|Gibt an, ob der {{fserver/}} mit einem {{mserver/}} verbunden ist.|true,false ... ... @@ -35,17 +35,13 @@ 35 35 |status|Gibt den konkreten Verbindungsstatus des {{fserver case="gen"/}} an.|CONNECTED,NOT_CONNECTED,ERROR, 36 36 RECONNECTING,DISCONNECTING,CONNECTING, 37 37 AUTHENTICATING, WAIT_FOR_CONNECTION 38 -|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. 39 -{{/table}} 40 40 41 41 == JSON-REST-Schnittstelle == 42 42 43 -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 nachwievorverfügbar. Die JSON-Schnittstelledes Monitorings erlaubte nurlesende Zugriff und war nurüberdenAnwendungsserver aufrufbar(localhost/127.0.0.1). Falls dies gewünscht ist müsstederZugriff innerhalbder JolokiaAnwendungkonfiguriertwerden, weiterInfomationen finden Sie [[hier>>https://jolokia.org/reference/html/security.html#d0e3128||rel="noopener noreferrer" target="_blank"]].42 +Die für das Monitoring verwendeten Beans sind ebenfalls über eine bereitgestellte JSON-Schnittstelle aufrufbar. Ein möglicher Aufruf sieht hierbei zum Beispiel wie folgt aus: 44 44 45 -Ein möglicher Aufruf, nach erfolgter Installation von Jolokia, sieht hierbei zum Beispiel wie folgt aus: 46 - 47 47 {{info}} 48 - [[http:~~/~~/localhost/jolokia/read/de.xima.fc:type=MSMonitor,qualifier=formcycle>>http://localhost/formcycle/monitoring/read/de.xima.fc:type=MSMonitor,qualifier=formcycle]]45 +http://localhost/formcycle/monitoring/read/de.xima.fc:type=MSMonitor,qualifier=formcycle 49 49 {{/info}} 50 50 51 51 JSON-Antwort: ... ... @@ -52,33 +52,43 @@ 52 52 53 53 {{code language="JSON"}} 54 54 { 55 - "request": { 56 - "mbean": "de.xima.fc:qualifier=formcycle,type=MSMonitor", 57 - "type": "read" 58 - }, 59 - "value": { 60 - "running": true, 61 - "failed_login_count": 0, 62 - "fs_active": { 63 - "localhost": true 64 - }, 65 - "db_connected": true, 66 - "fs_connected_count": 1, 67 - "fs_connected": { 68 - "localhost": true 69 - }, 70 - "fs_disconnected_count": 0, 71 - "fs_status": { 72 - "localhost": "CONNECTED" 73 - } 74 - }, 75 - "timestamp": 1579186291, 76 - "status": 200 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 + } 77 77 } 78 78 {{/code}} 79 79 80 -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 + 82 82 == Nagios-Anbindung == 83 83 84 84 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. ... ... @@ -90,7 +90,7 @@ 90 90 {{/warning}} 91 91 92 92 {{panel title="Command" fullwidth="true" initial="hidden" triggerable="true"}} 93 -{{code language="none"}}100 +{{code}} 94 94 define command{ 95 95 command_name check_jmx4perl 96 96 command_line check_jmx4perl --url $ARG1$ --mbean $ARG2$ --attribute $ARG3$ $ARG4$ ... ... @@ -99,9 +99,9 @@ 99 99 {{/panel}} 100 100 101 101 {{panel title="Service-Definitionen" fullwidth="true" initial="hidden" triggerable="true"}} 102 -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>103 - <br>104 -{{code language="none"}}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}} 105 105 define service{ 106 106 use generic-service 107 107 host_name localhost ... ... @@ -112,7 +112,7 @@ 112 112 {{/panel}} 113 113 114 114 {{panel title="Abfrage des Datenbank-Verbindungsstatus des {{mserver case='gen'/~}~}" fullwidth="true" initial="hidden" triggerable="true"}} 115 -{{code language="none"}}122 +{{code}} 116 116 define service{ 117 117 use generic-service 118 118 host_name localhost ... ... @@ -123,7 +123,7 @@ 123 123 {{/panel}} 124 124 125 125 {{panel title="Abfrage, ob {{fserver/~}~} localhost mit {{mserver case='dat'/~}~} verbunden ist" fullwidth="true" initial="hidden" triggerable="true"}} 126 -{{code language="none"}}133 +{{code}} 127 127 define service{ 128 128 use generic-service 129 129 host_name localhost ... ... @@ -134,7 +134,7 @@ 134 134 {{/panel}} 135 135 136 136 {{panel title="Abfrage an {{fserver/~}~}, ob dieser erfolgreich mit einem {{mserver/~}~} verbunden ist" fullwidth="true" initial="hidden" triggerable="true"}} 137 -{{code language="none"}}144 +{{code}} 138 138 define service{ 139 139 use generic-service 140 140 host_name localhost ... ... @@ -150,11 +150,11 @@ 150 150 151 151 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"]]) 152 152 153 -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"]].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"]]. 154 154 155 155 Entsprechend des Betriebs einer parallelen Jolokia-Installation ändert sich beispielhaft die Überprüfung der Verbindung zum {{fserver case="dat"/}} //localhost //wie folgt: 156 156 157 -{{code language="none"}}164 +{{code}} 158 158 define service{ 159 159 use generic-service 160 160 host_name fc-test ... ... @@ -162,3 +162,5 @@ 162 162 check_command check_jmx4perl!http://fc-test/jolokia/!de.xima.fc:type=MSMonitor,qualifier=formcycle!fs_connected!--path=localhost --string --critical 'false' 163 163 } 164 164 {{/code}} 172 + 173 +