Ich werde ein Überwachungselement für den Startvorgang von Tomcat erstellen.
Überprüfen Sie zuerst die Operation mit zabbix_get
.
$ zabbix_get -s 192.168.200.24 -k proc.num[httpd]
6
$ zabbix_get -s 192.168.200.24 -k proc.num[tomcat]
0
Wie bekommt man Kater ...?
Die Antwort lautet:
$ zabbix_get -s 192.168.200.24 -k proc.num[java,,,"org.apache.catalina.startup.Bootstrap start"]
1
Es gab eine Verwendung in Zabbix-Dokumentation 2.2. Wenn Sie also nachschlagen, müssen Sie den Prozessnamen kennen. Wisse das.
proc.num[<name>,<user>,<state>,<cmdline>]
--name --Prozessname (Standard ist "alle Prozesse") --user --Benutzername (Standard ist "alle Benutzer") --state - mögliche Werte: all (Standard), run, sleep, zomb --cmdline - Befehlszeilenfilter (regulärer Ausdruck)
Überprüfen Sie den Status des laufenden Kater.
$ systemctl status tomcat
● tomcat.service - Apache Tomcat 8
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (exited)seit Baum 2020-02-06 15:01:19 JST; 1h 29min ago
Process: 844 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 844 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/tomcat.service
└─875 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.prot...
06. Februar 15:01:19 192.168.200.24 systemd[1]: Starting Apache Tomcat 8...
06. Februar 15:01:19 192.168.200.24 systemd[1]: Started Apache Tomcat 8.
Untersuchen Sie PID875
weiter.
$ cat /proc/875/stat
875 (java) S 1 844 844 0 -1 1077944320 19379 0 124 0 937 64 0 0 20 0 41 0 752 2357014528 21813 18446744073709551615 4194304 4196524 140724105374304 140724105356960 140023800299543 0 0 2 16800973 18446744073709551615 0 0 17 0 0 0 5 0 0 6294912 6295604 12607488 140724105383058 140724105383592 140724105383592 140724105383914 0
Der in () eingeschlossene Teil ist der Prozessname. Der Name des Prozesses, auf dem Tomcat ausgeführt wird, scheint "Java" zu sein.
$ zabbix_get -s 192.168.200.24 -k proc.num[java]
1
Ich hab es geschafft!
... aber plötzlich bemerken. Dies ist nur ein Java-Prozess, und es kann nicht festgestellt werden, ob es sich um einen Tomcat-Prozess handelt.
$ ps aux | grep java
tomcat 875 0.1 8.6 2301772 87452 ? Sl 15:01 0:10 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start
Anscheinend wird dieser Prozess von Tomcat ausgeführt.
$ zabbix_get -s 192.168.200.24 -k proc.num[java,tomcat]
1
Ich hab es geschafft.
Wenn Sie jedoch sorgfältig darüber nachdenken, führt der Tomcat-Benutzer nur den Java-Befehl aus. Ich habe festgestellt, dass ich den ** Tomcat-Startvorgang ** nicht überwache.
Ich überprüfte den Prozess und bemerkte.
Die Option war lang und schwer zu verstehen, aber es gibt eine Beschreibung des Startvorgangs (org.apache.catalina.startup.Bootstrap start
).
$ ps aux | grep java
tomcat 2023 83.6 7.3 2299724 74204 ? Sl 17:26 0:02
/usr/bin/java
-Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
-Dorg.apache.catalina.security.SecurityListener.UMASK=0027
-Dignore.endorsed.dirs=
-classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
-Dcatalina.base=/opt/tomcat
-Dcatalina.home=/opt/tomcat
-Djava.io.tmpdir=/opt/tomcat/temp
org.apache.catalina.startup.Bootstrap start
proc.num[<name>,<user>,<state>,<cmdline>]
Es scheint, dass es über die Befehlszeile des 4. Arguments extrahiert werden kann.
$ zabbix_get -s 192.168.200.24 -k proc.num[java,,,"org.apache.catalina.startup.Bootstrap start"]
1
Ich konnte die Anzahl der Startvorgänge sicher ermitteln. Ich habe es nicht geschrieben, weil ich dachte, dass es nicht viel Sinn macht, ein Tomcat-Benutzer zu sein.
Ich habe es lange geschrieben. Ich habe auch eine Beschreibung mit der Aufschrift "proc.num [java, tomcat]" gesehen, also habe ich diese eingeführt.
Abhängig davon, wie Sie Tomcat installieren, kann es von der oben beschriebenen Methode abweichen. Wenn Sie jedoch wissen, wie Sie dies überprüfen, funktioniert die Anwendung. In meinem Fall habe ich die Quelle heruntergeladen, erweitert und installiert. Referenz: Ich habe versucht, Apache und Tomcat zu verknüpfen
Recommended Posts