实现zabbix主动模式监控tomcat及所在主机

#1.环境准备,centos8,zabbix6.0为例
	IP           主机名                     服务
10.0.0.150  zabbixserver.tan.com  zabbix-server、zabbix-java-gateway、agent、mariadb
10.0.0.160   tomcat1.tan.com           JDK8、tomcat8、zabbix-agent
	
#2.安装zabbix-server、zabbix-java-gateway、mariadb-server
#安装zabbix-server mariadb
[root@zabbix-server ~]#rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm

[root@zabbix-server ~]#sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

[root@zabbix-server ~]#yum clean all

[root@zabbix-server ~]#dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

#centos8默认安装的是mariadb10.3版本,此版本zabbix需要mariadb10.5版本
[root@zabbix-server ~]#vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1


[root@zabbix-server ~]#dnf clean all
33 files removed
[root@zabbix-server ~]#dnf install -y mariadb mariadb-server

#3.启动mariadb
[root@zabbix-server ~]#systemctl enable --now mariadb

#4.准备数据库并授权
[root@zabbix-server ~]#mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> create user zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%';
Query OK, 0 rows affected (0.008 sec)

#5.导入数据
[root@zabbix-server ~]#zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
Enter password:zabbix


#6.配置zabbix-server
[root@zabbix-server ~]#grep '^[^#]' /etc/zabbix/zabbix_server.conf
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/run/zabbix/zabbix_server.pid
SocketDir=/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
JavaGateway=localhost
JavaGatewayPort=10052
StartJavaPollers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
LogSlowQueries=3000
AllowRoot=1
User=root
StatsAllowedIP=127.0.0.1


#7.配置前端php
[root@zabbix-server ~]#vi /etc/nginx/conf.d/zabbix.conf
server {
        listen          80;
        server_name     10.0.0.150;

#8.启动服务
[root@zabbix-server ~]#systemctl enable mariadb zabbix-server zabbix-agent nginx php-fpm --now

#9.验证服务
[root@zabbix-server ~]#systemctl is-active  zabbix-server zabbix-agent nginx
active
active
active

#10.浏览器输入http://10.0.0.150/index.php,默认登录账户密码是Admin/zabbix
![](https://img2022.cnblogs.com/blog/1914165/202208/1914165-20220829210602960-1643817482.png)




#11.修改agent为主动模式
[root@zabbix-server ~]#grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.150
ListenPort=10050
StartAgents=3
ServerActive=10.0.0.150
Hostname=10.0.0.150
Include=/etc/zabbix/zabbix_agentd.d/*.conf

[root@zabbix-server ~]#systemctl restart zabbix-agent


#12.安装zabbix-java-gateway
#查看zabbix_server版本
[root@zabbix-server ~]#zabbix_server -V
zabbix_server (Zabbix) 6.0.7

#安装zabbix-java-gateway
[root@zabbix-server ~]#wget https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-java-gateway-6.0.7-1.el8.x86_64.rpm?spm=a2c6h.25603864.0.0.66a32dd56ItWnb

[root@zabbix-server ~]#mv 'zabbix-java-gateway-6.0.7-1.el8.x86_64.rpm?spm=a2c6h.25603864.0.0.66a32dd56ItWnb'  zabbix-java-gateway-6.0.7-1.el8.x86_64.rpm

[root@zabbix-server ~]#yum install -y zabbix-java-gateway-6.0.7-1.el8.x86_64.rpm

#配置java-gateway
[root@zabbix-server ~]#grep "^[^#]" /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java_gateway.pid"
START_POLLERS=50
TIMEOUT=30

[root@zabbix-server ~]#systemctl restart zabbix-java-gateway
[root@zabbix-server ~]#systemctl enable zabbix-java-gateway

#13.在10.0.0.160上安装tomcat并配置
#tomcat安装脚本请见上一次作业
[root@tomcat ~]#bash tomcat8.5.sh 
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
JDK 安装完成                                               [  OK  ]
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /usr/lib/systemd/system/tomcat.service.
TOMCAT 安装完成                                            [  OK  ]

#验证
[root@tomcat ~]#echo "`hostname`" > /usr/local/tomcat/webapps/ROOT/index.html
[root@tomcat ~]#curl localhost:8080
tomcat

#14.配置zabbix-server调用java-gateway
[root@zabbix-server ~]#vim /etc/zabbix/zabbix_server.conf
JavaGateway=10.0.0.150
JavaGatewayPort=10052
StartJavaPollers=20
[root@zabbix-server ~]#systemctl restart zabbix-server

#验证java pollers
[root@zabbix-server ~]#ps -ef |grep java
zabbix      2584       1  0 20:21 ?        00:00:00 java -server -Dlogback.configurationFile=/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.7.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java_gateway.pid -Dzabbix.listenIP=0.0.0.0 -Dzabbix.listenPort=10052 -Dzabbix.startPollers=50 -Dzabbix.timeout=30 -Dsun.rmi.transport.tcp.responseTimeout=30000 com.zabbix.gateway.JavaGateway
root        2906    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #1 [got 0 values in 0.000947 sec, idle 5 sec]
root        2907    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #2 [got 0 values in 0.000094 sec, idle 5 sec]
root        2908    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #3 [got 0 values in 0.001338 sec, idle 5 sec]
root        2909    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #4 [got 0 values in 0.000179 sec, idle 5 sec]
root        2910    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #5 [got 0 values in 0.000527 sec, idle 5 sec]
root        2911    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #6 [got 0 values in 0.000345 sec, idle 5 sec]
root        2912    2880  0 20:30 ?        00:00:00 /usr/sbin/zabbix_server: java poller #7 [got 0 values in 0.000882 sec, idle 5 sec]

#15.tomcat开启JMX监控
#解释
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote  #启用远程监控JMX
-Dcom.sun.management.jmxremote.port=12345   #默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
-Dcom.sun.management.jmxremote.authenticate=false  #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false  #不使用ssl认证
-Djava.rmi.server.hostname=192.168.0.22" #tomcat主机的ip

#添加以下配置
[root@tomcat ~]#vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -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.160" 

#重启tomcat服务
[root@tomcat ~]#systemctl restart tomcat

#16.添加主机,添加jmx接口

验证JMX接口变绿

等一会就有监控数据了

posted @   小糊涂90  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示