天天微頭條丨38-Zabbix故障自愈和主動監控模式以及JAVA程序監控

2022-12-27 19:14:48 來源:51CTO博客

Zabbix實現故障自愈功能

當zabbix服務監控到指定的監控項異常時,可以通過指定的操作使故障自動恢復

案例:以nginx服務為例,當nginx服務停止時,自動重啟服務,實現故障自愈功能#Zabbix Agent 開啟遠程命令功能    在agent配置中添加AllowKey=system.run[*]、UnsafeUserParameters=1參數    在proxy配置中,將enableremotecommands參數設置為1    [root@ubuntu2204 ~]#grep  UnsafeUserParameters /etc/zabbix/zabbix_agent2.conf### Option: UnsafeUserParameters# UnsafeUserParameters=0UnsafeUserParameters=1[root@ubuntu2204 ~]#grep AllowKey  /etc/zabbix/zabbix_agent2.conf### Option: AllowKey#   If no AllowKey or DenyKey rules defined, all keys are allowed.AllowKey=system.run[*]#   Multiple keys matching rules may be defined in combination with AllowKey.#   If no AllowKey or DenyKey rules defined, all keys are allowed.#Zabbix Agent 對 Zabbix 用戶授權管理權限[root@ubuntu2204 ~]#grep zabbix /etc/sudoerszabbix ALL=(ALL) NOPASSWD:ALL[root@ubuntu2204 ~]#visudo -c/etc/sudoers:解析正確/etc/sudoers.d/README:解析正確[root@ubuntu2204 ~]# getent passwd|grep zabbixzabbix:x:111:116::/var/lib/zabbix/:/usr/sbin/nologin#測試是否成功[root@ubuntu2204 ~]#su -s /bin/bash zabbix -c "sudo systemctl restart nginx"

創建內置的模板及相關觸發器


(資料圖)

添加腳本

#測試

[root@ubuntu2204 ~]#systemctl stop nginx[root@ubuntu2204 ~]#systemctl status nginx○ nginx.service - A high performance web server and a reverse proxy server     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)     Active: inactive (dead) since Tue 2022-12-27 14:55:18 CST; 13s ago       Docs: man:nginx(8)    Process: 6338 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)    Process: 6339 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)    Process: 6955 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)   Main PID: 6340 (code=exited, status=0/SUCCESS)        CPU: 181ms12月 27 14:22:04 ubuntu2204.wang.org systemd[1]: Starting A high performance web server and a reverse proxy server...12月 27 14:22:04 ubuntu2204.wang.org systemd[1]: Started A high performance web server and a reverse proxy server.12月 27 14:55:18 ubuntu2204.wang.org systemd[1]: Stopping A high performance web server and a reverse proxy server...12月 27 14:55:18 ubuntu2204.wang.org systemd[1]: nginx.service: Deactivated successfully.12月 27 14:55:18 ubuntu2204.wang.org systemd[1]: Stopped A high performance web server and a reverse proxy server.

等一會會發現服務重啟,問題被解決


Zabbix 的主動和被動模式工作原理

*主動模式和被動模式都是相對 zabbix agent而言的

被動模式:Zabbix默認是被動模式,如果有100個監控項,被動模式需要 Zabbix Server找 Zabbix Agent要100次主動模式:主動模式是Zabbix Server給 Zabbix Agent發送一個包括100個監控項的任務清單,Zabbix Agent根據任務清單,采集好100個監控項的值,主動匯報給 Zabbix Server這100個監控項,Zabbix Agent主動模式只需要發送一次數據,大大提高了傳輸效率。

注意: 兩種模式可以在Zabbix Server上同時存在,可以將一部分監控項設為主動,其它設為被動模式

通信過程

#被動監測通信過程如下:Server打開一個TCP連接Server發送請求agent.pingAgent接收到請求并且響應
Server處理接收到的數據關閉TCP連接被動模式每獲取一個監控項都需要打開一個tcp連接,這樣當監控項越來越多時,Zabbix Server會打開很多端口,就會出現server端性能瓶頸問題。#主動模式監測通信過程如下:zabbix agent 首先向ServerActive配置的IP請求獲取active items,獲取并提交active items數據值給server或者proxy。zabbix多久獲取一次active items?它會根據agent的配置文件中的RefreshActiveChecks的頻率進行,如果獲取失敗,那么將會在60秒之后重試。

主動模式的流程分兩個部分:

獲取ACTIVE ITEMS列表
Agent主動打開一個TCP連接(主動檢測變成Agent打開)Agent請求items檢測列表Server返回items列表Agent 處理響應關閉TCP連接Agent開始收集數據
主動檢測提交數據過程
Agent建立TCP連接Agent批量提交items列表收集的所有監控項數據Server處理數據,并返回響應狀態關閉TCP連接

注意:Zabbix agent主動模式對應的進程數量只有1個,不能調整Zabbix agent被動模式對應的進程數量默認3個,可以調整

案例:被動模式下 Zabbix agent 進程和端口打開情況

#查看被動模式下 Zabbix agent 進程和端口打開情況[root@ubuntu2204 ~]#grep StartAgents /etc/zabbix/zabbix_agentd.conf# Mandatory: yes, if StartAgents is not explicitly set to 0### Option: StartAgents# StartAgents=3[root@ubuntu2204 ~]#ps ax|grep zabbix    811 ?        S      0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf    812 ?        S      0:01 /usr/sbin/zabbix_agentd: collector [idle 1 sec]    813 ?        S      0:07 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]    814 ?        S      0:06 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]    815 ?        S      0:06 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]    816 ?        S      0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec][root@ubuntu2204 ~]#ss -nta|grep 10050LISTEN    0      4096         0.0.0.0:10050      0.0.0.0:*           TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:49942       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:49700       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:37962       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:53422       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:49594       TIME-WAIT 0      0          127.0.0.1:32936    127.0.0.1:10050       TIME-WAIT 0      0          127.0.0.1:32986    127.0.0.1:10050       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:59854       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:53260       TIME-WAIT 0      0          127.0.0.1:32890    127.0.0.1:10050       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:53442       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:59906       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:49966       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:59960       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:38068       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:42376       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:49984       TIME-WAIT 0      0          127.0.0.1:10050    127.0.0.1:53372       .....[root@ubuntu2204 ~]#tail /var/log/zabbix/zabbix_agentd.log   811:20221227:102802.958 using configuration file: /etc/zabbix/zabbix_agentd.conf   811:20221227:102802.959 agent #0 started [main process]   814:20221227:102802.962 agent #3 started [listener #2]   815:20221227:102802.962 agent #4 started [listener #3]   816:20221227:102802.965 agent #5 started [active checks #1]   813:20221227:102802.967 agent #2 started [listener #1]   816:20221227:102802.971 Unable to connect to [127.0.0.1]:10051 [cannot connect to [[127.0.0.1]:10051]: [111] Connection refused]   816:20221227:102802.971 Active check configuration update started to fail   812:20221227:102802.971 agent #1 started [collector]   816:20221227:103102.089 Active check configuration update from [127.0.0.1:10051] is working again

案例:Zabbix Agent 實現主動模式

在 Zabbix Agent 配置主機模式相關配置在 Zabbix Server 創建配置有主動模式監控項的模板關聯主動模板至支持主動模式的 Agent 主機注意: 基于原被動模板克隆生成的主動模式模板,不是所有監控項都能改為主動模式,比如agent.ping 監控項如果改為主動模式, ZBX 提示將無法變綠
#Zabbix Server 通過 trapper 進程實現主動模式[root@ubuntu2204 ~]#grep StartTrappers /etc/zabbix/zabbix_server.conf### Option: StartTrappers# StartTrappers=5[root@ubuntu2204 ~]#ps ax|grep trapper    978 ?        S      0:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.002824 sec, waiting for connection]    979 ?        S      0:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.002858 sec, waiting for connection]    980 ?        S      0:00 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.006950 sec, waiting for connection]    981 ?        S      0:00 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.002255 sec, waiting for connection]    982 ?        S      0:00 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.005087 sec, waiting for connection]   4253 pts/0    S+     0:00 grep --color=auto trapper#Zabbix Agent2配置主動模式配置    Server= #被動模式指向 Zabbix Server的IP或FQDN,默認模式    ServerActive= #主動模式指向 Zabbix Server的IP或FQDN    Hostname=<當前主機IP> #當前主機的IP,此項必須和Zabbix Server中設置的主機名稱相同[root@ubuntu2204 ~]#grep "^[^#]" /etc/zabbix/zabbix_agent2.conf PidFile=/var/run/zabbix/zabbix_agent2.pidLogFile=/var/log/zabbix/zabbix_agent2.logLogFileSize=0Server=10.0.0.200ServerActive=10.0.0.200Hostname=10.0.0.202Timeout=30Include=/etc/zabbix/zabbix_agent2.d/*.confControlSocket=/tmp/agent.sockInclude=./zabbix_agent2.d/plugins.d/*.conf[root@ubuntu2204 ~]#systemctl restart zabbix-agent2.service[root@ubuntu2204 ~]#ss -ntlState                      Recv-Q                     Send-Q                                          Local Address:Port                                            Peer Address:Port                     Process                     LISTEN                     0                          4096                                            127.0.0.53%lo:53                                                   0.0.0.0:*                                                    LISTEN                     0                          128                                                   0.0.0.0:22                                                   0.0.0.0:*                                                    LISTEN                     0                          128                                                 127.0.0.1:6010                                                 0.0.0.0:*                                                    LISTEN                     0                          511                                                   0.0.0.0:80                                                   0.0.0.0:*                                                    LISTEN                     0                          128                                                      [::]:22                                                      [::]:*                                                    LISTEN                     0                          128                                                     [::1]:6010                                                    [::]:*                                                    LISTEN                     0                          4096                                                        *:10050                                                      *:*                                                    LISTEN                     0                          511                                                      [::]:80                                                      [::]:*

在Zabbix Frontend上添加主動模式的服務即可

額外提一點:主動模式下Zabbix錄取監控數據是并行執行,被動模式下是串行


監控 JAVA 程序

Zabbix 不支持直接監控JAVA應用。如果要監控JAVA程序比如Tomcat等,需要使用 Java gateway 做為代理,才能從JAVA應用中獲取數據

Zabbix Java gateway 能過監聽10052/tcp 端口實現監控JAVA應用

案例:監控 Java 應用 Tomcat 服務

部署 tomcat 服務

TOMCAT_VERSION=9.0.70JDK_VERSION=8u351TOMCAT_FILE="apache-tomcat-${TOMCAT_VERSION}.tar.gz"JDK_FILE="jdk-${JDK_VERSION}-linux-x64.tar.gz"JDK_DIR="/usr/local"TOMCAT_DIR="/usr/local"DIR=`pwd`color () {    RES_COL=60    MOVE_TO_COL="echo -en \\033[${RES_COL}G"    SETCOLOR_SUCCESS="echo -en \\033[1;32m"    SETCOLOR_FAILURE="echo -en \\033[1;31m"    SETCOLOR_WARNING="echo -en \\033[1;33m"    SETCOLOR_NORMAL="echo -en \E[0m"    echo -n "$2" && $MOVE_TO_COL    echo -n "["    if [ $1 = "success" -o $1 = "0" ] ;then        ${SETCOLOR_SUCCESS}        echo -n $"  OK  "        elif [ $1 = "failure" -o $1 = "1"  ] ;then        ${SETCOLOR_FAILURE}        echo -n $"FAILED"    else        ${SETCOLOR_WARNING}        echo -n $"WARNING"    fi    ${SETCOLOR_NORMAL}    echo -n "]"    echo                                                                                                                              }install_jdk(){if  [ ! -f "$DIR/$JDK_FILE" ];then    color 1 "$JDK_FILE 文件不存在"     exit; elif [ -d $JDK_DIR/jdk ];then    color 1  "JDK 已經安裝"     exitelse     [ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIRfitar xvf $DIR/$JDK_FILE  -C $JDK_DIRcd  $JDK_DIR && ln -s jdk* jdk cat >  /etc/profile.d/jdk.sh < /etc/profile.d/tomcat.shid tomcat &> /dev/null || useradd -r -s /sbin/nologin tomcatcat > $TOMCAT_DIR/tomcat/conf/tomcat.conf < /lib/systemd/system/tomcat.service  < /dev/nullsystemctl is-active tomcat.service &> /dev/null &&  color 0 "TOMCAT 安裝完成" || { color 1 "TOMCAT 安裝失敗" ; exit; }}install_jdk install_tomcat----------------------------------------------------------------------------------------[root@ubuntu2204 ~]#systemctl status tomcat● tomcat.service - Tomcat     Loaded: loaded (/lib/systemd/system/tomcat.service; enabled; vendor preset: enabled)     Active: active (running) since Tue 2022-12-27 16:13:18 CST; 51s ago    Process: 8621 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)   Main PID: 8630 (java)      Tasks: 29 (limit: 9365)     Memory: 101.7M        CPU: 3.409s     CGroup: /system.slice/tomcat.service             └─8630 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/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 /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start12月 27 16:13:18 ubuntu2204.wang.org systemd[1]: Starting Tomcat...12月 27 16:13:18 ubuntu2204.wang.org startup.sh[8621]: Tomcat started.12月 27 16:13:18 ubuntu2204.wang.org systemd[1]: Started Tomcat.[root@ubuntu2204 ~]#ss -ntlpState            Recv-Q            Send-Q                            Local Address:Port                        Peer Address:Port           Process                                                                                    LISTEN           0                 4096                              127.0.0.53%lo:53                               0.0.0.0:*               users:(("systemd-resolve",pid=649,fd=14))                                                 LISTEN           0                 128                                     0.0.0.0:22                               0.0.0.0:*               users:(("sshd",pid=760,fd=3))                                                             LISTEN           0                 128                                   127.0.0.1:6010                             0.0.0.0:*               users:(("sshd",pid=846,fd=7))                                                             LISTEN           0                 511                                     0.0.0.0:80                               0.0.0.0:*               users:(("nginx",pid=7579,fd=6),("nginx",pid=7578,fd=6),("nginx",pid=7577,fd=6))           LISTEN           0                 128                                        [::]:22                                  [::]:*               users:(("sshd",pid=760,fd=4))                                                             LISTEN           0                 128                                       [::1]:6010                                [::]:*               users:(("sshd",pid=846,fd=5))                                                             LISTEN           0                 4096                                          *:10050                                  *:*               users:(("zabbix_agent2",pid=7212,fd=7))                                                   LISTEN           0                 1                            [::ffff:127.0.0.1]:8005                                   *:*               users:(("java",pid=8630,fd=66))                                                           LISTEN           0                 100                                           *:8080                                   *:*               users:(("java",pid=8630,fd=58))                                                           LISTEN           0                 511                                        [::]:80                                  [::]:*               users:(("nginx",pid=7579,fd=7),("nginx",pid=7578,fd=7),("nginx",pid=7577,fd=7))

Tomcat 開啟 JMX 監控

通常使用JMX來監控系統的運行狀態或管理系統的某些方面,比如清空緩存、重新加載配置文件等
[root@ubuntu2204 ~]#vim /usr/local/tomcat/bin/catalina.sh...# -----------------------------------------------------------------------------CATALINA_OPTS="$CATALINA__OPTS -Dcom.sun.management.jmxremote  -- 啟用遠程監控JMX-Dcom.sun.management.jmxremote.port=12345 -- 默認啟動的JMX端口號-Dcom.sun.management.jmxremote.authenticate=false -- 不使用用戶名密碼-Dcom.sun.management.jmxremote.ssl=false -- 不使用ssl認證-Djava.rmi.server.hostname=10.0.0.202" -- tomcat主機的IP地址# OS specific support.  $var _must_ be set to either true or false....[root@ubuntu2204 ~]#systemctl start tomcat[root@ubuntu2204 ~]#systemctl status tomcat● tomcat.service - Tomcat     Loaded: loaded (/lib/systemd/system/tomcat.service; enabled; vendor preset: enabled)     Active: active (running) since Tue 2022-12-27 16:35:55 CST; 3s ago    Process: 9259 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)   Main PID: 9267 (java)      Tasks: 32 (limit: 9365)     Memory: 102.9M        CPU: 2.917s     CGroup: /system.slice/tomcat.service             └─9267 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/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 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.0.202 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start12月 27 16:35:54 ubuntu2204.wang.org systemd[1]: Starting Tomcat...12月 27 16:35:55 ubuntu2204.wang.org startup.sh[9259]: Tomcat started.12月 27 16:35:55 ubuntu2204.wang.org systemd[1]: Started Tomcat.#查看端口12345是否打開[root@ubuntu2204 ~]#ss -ntlState                      Recv-Q                     Send-Q                                              Local Address:Port                                          Peer Address:Port                    Process                    LISTEN                     0                          4096                                                127.0.0.53%lo:53                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                       0.0.0.0:22                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                     127.0.0.1:6010                                               0.0.0.0:*                                                  LISTEN                     0                          128                                                     127.0.0.1:6011                                               0.0.0.0:*                                                  LISTEN                     0                          511                                                       0.0.0.0:80                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                          [::]:22                                                    [::]:*                                                  LISTEN                     0                          50                                                              *:12345                                                    *:*                                                  LISTEN                     0                          128                                                         [::1]:6010                                                  [::]:*                                                  LISTEN                     0                          128                                                         [::1]:6011                                                  [::]:*                                                  LISTEN                     0                          4096                                                            *:10050                                                    *:*                                                  LISTEN                     0                          50                                                              *:37155                                                    *:*                                                  LISTEN                     0                          1                                              [::ffff:127.0.0.1]:8005                                                     *:*                                                  LISTEN                     0                          100                                                             *:8080                                                     *:*                                                  LISTEN                     0                          511                                                          [::]:80                                                    [::]:*                                                  LISTEN                     0                          50                                                              *:46769                                                    *:*

使用 java 客戶端 cmdlinejmxclient 獲取 JMX 信息

cmdline-jmxclient-0.10.3.jar 是一個開源jar包,在zabbix 中常用于測試的一個工具,可以用來測試 jmx是否配置正確。在監控方面還可以對Tomcat各種屬性進行監控。
下載:https://github.com/qiueer/zabbix/blob/master/Tomcat/cmdline-jmxclient-0.10.3.jar[root@ubuntu2204 ~]#ll cmdline-jmxclient-0.10.3.jar -rw-r--r-- 1 root root 20124 12月 27 16:46 cmdline-jmxclient-0.10.3.jar[root@ubuntu2204 ~]#apt install openjdk-8-jdk  -y#測試能否獲取到java最大線程數:[root@ubuntu2204 ~]#java -jar cmdline-jmxclient-0.10.3.jar - 10.0.0.202:12345 "Catalina:name="http-nio-8080",type=ThreadPool" currentThreadCount12/27/2022 16:58:21 +0800 org.archive.jmx.Client currentThreadCount: 10

部署 Java gateway 服務器

Java gateway 是一個獨立于zabbix server和 zabbix agent的組件,默認使用端口10052/tcp, 所以javagateway可以是單獨的一臺服務器,但是也可以和zabbix server或者zabbix agent 共用一臺服務器
[root@ubuntu2204 ~]#wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb--2022-12-27 17:08:54--  https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb正在解析主機 repo.zabbix.com (repo.zabbix.com)... 178.128.6.101, 2604:a880:2:d0::2062:d001正在連接 repo.zabbix.com (repo.zabbix.com)|178.128.6.101|:443... 已連接。已發出 HTTP 請求,正在等待回應... 200 OK長度: 3676 (3.6K) [application/octet-stream]正在保存至: ‘zabbix-release_6.0-4+ubuntu22.04_all.deb.1’zabbix-release_6.0-4+ubuntu22.04_all.deb.1                100%[===================================================================================================================================>]   3.59K  --.-KB/s    用時 0s    2022-12-27 17:08:55 (1.65 GB/s) - 已保存 ‘zabbix-release_6.0-4+ubuntu22.04_all.deb.1’ [3676/3676])[root@ubuntu2204 ~]#dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb(正在讀取數據庫 ... 系統當前共安裝有 88686 個文件和目錄。)準備解壓 zabbix-release_6.0-4+ubuntu22.04_all.deb  ...正在解壓 zabbix-release (1:6.0-4+ubuntu22.04) 并覆蓋 (1:6.0-4+ubuntu22.04) ...正在設置 zabbix-release (1:6.0-4+ubuntu22.04) ...[root@ubuntu2204 ~]#apt update命中:1 http://mirrors.ustc.edu.cn/ubuntu jammy InRelease獲取:2 http://mirrors.ustc.edu.cn//ubuntu jammy-security InRelease [110 kB]獲取:3 http://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease [110 kB]獲取:4 http://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease [114 kB]獲取:5 http://mirrors.ustc.edu.cn/ubuntu jammy-proposed InRelease [270 kB]        獲取:6 http://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease [99.8 kB] 命中:7 https://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy InRelease       命中:8 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy InRelease已下載 705 kB,耗時 2秒 (385 kB/s)正在讀取軟件包列表... 完成正在分析軟件包的依賴關系樹... 完成正在讀取狀態信息... 完成                 有 69 個軟件包可以升級。請執行 ‘apt list --upgradable’ 來查看它們。[root@ubuntu2204 ~]#apt install zabbix-java-gateway正在讀取軟件包列表... 完成正在分析軟件包的依賴關系樹... 完成正在讀取狀態信息... 完成                 將會同時安裝下列軟件:  default-jre-headless openjdk-11-jre-headless建議安裝:  default-jre libnss-mdns fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic下列【新】軟件包將被安裝:  default-jre-headless openjdk-11-jre-headless zabbix-java-gateway升級了 0 個軟件包,新安裝了 3 個軟件包, 要卸載 0 個軟件包,有 69 個軟件包未被升級。需要下載 42.2 MB 的歸檔。解壓縮后會消耗 172 MB 的額外空間。您希望繼續執行嗎? [Y/n] y獲取:1 http://mirrors.ustc.edu.cn//ubuntu jammy-security/main amd64 openjdk-11-jre-headless amd64 11.0.17+8-1ubuntu2~22.04 [41.5 MB]獲取:2 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy/main amd64 zabbix-java-gateway all 1:6.0.12-1+ubuntu22.04 [694 kB]獲取:3 http://mirrors.ustc.edu.cn/ubuntu jammy/main amd64 default-jre-headless amd64 2:1.11-72build2 [3,042 B]已下載 42.2 MB,耗時 3秒 (13.4 MB/s)                                                 debconf: 因為并未安裝 apt-utils,所以軟件包的設定過程將被推遲正在選中未選擇的軟件包 openjdk-11-jre-headless:amd64。(正在讀取數據庫 ... 系統當前共安裝有 88686 個文件和目錄。)準備解壓 .../openjdk-11-jre-headless_11.0.17+8-1ubuntu2~22.04_amd64.deb  ...正在解壓 openjdk-11-jre-headless:amd64 (11.0.17+8-1ubuntu2~22.04) .......#可以開啟自身的JMX功能實現自身的監控(可選)[root@ubuntu2204 ~]#vim /etc/zabbix/zabbix_java_gateway.conf# uncomment to enable remote monitoring of the standard JMX objects on the ZabbixJava Gateway itselfJAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.registry.ssl=false"[root@ubuntu2204 ~]#vim /etc/zabbix/zabbix_java_gateway.conf[root@ubuntu2204 ~]#systemctl restart zabbix-java-gateway[root@ubuntu2204 ~]#systemctl enable zabbix-java-gatewaySynchronizing state of zabbix-java-gateway.service with SysV service script with /lib/systemd/systemd-sysv-install.Executing: /lib/systemd/systemd-sysv-install enable zabbix-java-gateway[root@ubuntu2204 ~]#systemctl status  zabbix-java-gateway● zabbix-java-gateway.service - Zabbix Java Gateway     Loaded: loaded (/lib/systemd/system/zabbix-java-gateway.service; enabled; vendor preset: enabled)     Active: active (running) since Tue 2022-12-27 17:21:23 CST; 12s ago   Main PID: 13793 (java)      Tasks: 19 (limit: 9365)     Memory: 31.7M        CPU: 745ms     CGroup: /system.slice/zabbix-java-gateway.service             └─13793 java -server -Dlogback.cnotallow=/etc/zabbix/zabbix_java_gateway_logback.xml -classpath lib:lib/android-json-4.3_r3.1.jar:lib/logback-classic-1.2.9.jar:lib/logback-core-1.2.9.jar:lib/slf4j-api-1.7.32.jar:bin/zabbix-java-gateway-6.0.12.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java_gateway.pid -Dsun.rmi.transport.tcp.respnotallow=3000 com.zabbix.gateway.JavaGateway12月 27 17:21:23 ubuntu2204.wang.org systemd[1]: Starting Zabbix Java Gateway...12月 27 17:21:23 ubuntu2204.wang.org systemd[1]: Started Zabbix Java Gateway.#Ubuntu安裝后會自動啟動服務并打開監聽10052/tcp端口[root@ubuntu2204 ~]#ss -ntlState                      Recv-Q                     Send-Q                                              Local Address:Port                                          Peer Address:Port                    Process                    LISTEN                     0                          4096                                                127.0.0.53%lo:53                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                       0.0.0.0:22                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                     127.0.0.1:6010                                               0.0.0.0:*                                                  LISTEN                     0                          128                                                     127.0.0.1:6011                                               0.0.0.0:*                                                  LISTEN                     0                          511                                                       0.0.0.0:80                                                 0.0.0.0:*                                                  LISTEN                     0                          128                                                          [::]:22                                                    [::]:*                                                  LISTEN                     0                          50                                                              *:12345                                                    *:*                                                  LISTEN                     0                          128                                                         [::1]:6010                                                  [::]:*                                                  LISTEN                     0                          128                                                         [::1]:6011                                                  [::]:*                                                  LISTEN                     0                          4096                                                            *:10050                                                    *:*                                                  LISTEN                     0                          50                                                              *:37155                                                    *:*                                                  LISTEN                     0                          50                                                              *:10052                                                    *:*                                                  LISTEN                     0                          1                                              [::ffff:127.0.0.1]:8005                                                     *:*                                                  LISTEN                     0                          100                                                             *:8080                                                     *:*                                                  LISTEN                     0                          511                                                          [::]:80                                                    [::]:*                                                  LISTEN                     0                          50                                                              *:46769                                                    *:*

配置 Zabbix Server 支持 Java gateway

[root@ubuntu2204 ~]#vim /etc/zabbix/zabbix_server.conf ...### Option: JavaGateway#   IP address (or hostname) of Zabbix Java gateway.#   Only required if Java pollers are started.## Mandatory: no# Default:JavaGateway=10.0.0.202 #指向JAVA gateway主機### Option: JavaGatewayPort#   Port that Zabbix Java gateway listens on.## Mandatory: no# Range: 1024-32767# Default:# JavaGatewayPort=10052 #指定端口,此為默認值,可不修改### Option: StartJavaPollers#   Number of pre-forked instances of Java pollers.## Mandatory: no# Range: 0-1000# Default:StartJavaPollers=10 #指定開啟的進程數,默認為0,即不開啟,所以必須修改此行 這里開10個進程做實驗[root@ubuntu2204 ~]#systemctl restart zabbix-server.service[root@ubuntu2204 ~]#ps -ef|grep javazabbix     15568   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #1 [got 0 values in 0.000065 sec, idle 5 sec]zabbix     15569   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #2 [got 0 values in 0.000038 sec, idle 5 sec]zabbix     15570   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #3 [got 0 values in 0.000031 sec, idle 5 sec]zabbix     15571   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #4 [got 0 values in 0.000018 sec, idle 5 sec]zabbix     15572   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #5 [got 0 values in 0.000031 sec, idle 5 sec]zabbix     15575   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #6 [got 0 values in 0.000075 sec, idle 5 sec]zabbix     15576   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #7 [got 0 values in 0.000015 sec, idle 5 sec]zabbix     15577   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #8 [got 0 values in 0.000026 sec, idle 5 sec]zabbix     15578   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #9 [got 0 values in 0.000017 sec, idle 5 sec]zabbix     15579   15543  0 17:31 ?        00:00:00 /usr/sbin/zabbix_server: java poller #10 [got 0 values in 0.000086 sec, idle 5 sec]

使用系統內置模板監控 tomcat 主機

我是moore,大家一起加油!一晃一天又過去了......

標簽: 安裝失敗 狀態信息 自愈功能

上一篇:即時焦點:【Mybatis技術專題】MybatisPlus自帶強大功能之多租戶插件實現原理和實戰分析(3)
下一篇:短訊!Docker下RabbitMQ下載插件并且安裝