当前位置 : 主页 > 操作系统 > centos >

Zabbix监控Tomcat

来源:互联网 收集:自由互联 发布时间:2023-02-04
  zabbix是通过java geteway及JMX对Tomcat来进行监控的,并也可以实现自定义模板的导入及应用,模拟实际生产环境中的Tomcat性能等其他参数的图形监测显示。 1、准备Tomcat服务器   这里

  zabbix是通过java geteway及JMX对Tomcat来进行监控的,并也可以实现自定义模板的导入及应用,模拟实际生产环境中的Tomcat性能等其他参数的图形监测显示。

1、准备Tomcat服务器

  这里我就直接把之前下载好的包放到服务器上的相关目录下,在使用一键安装的脚步来安装tomcat服务。

root@Tomcat:~# cd /data/ root@Tomcat:/data# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.69/bin/apache-tomcat-9.0.69.tar.gz root@Tomcat:/data# ll total 153464 drwxr-xr-x 2 root root 4096 Nov 17 17:19 ./ drwxr-xr-x 20 root root 4096 Nov 17 17:13 ../ -rw-r--r-- 1 root root 11607790 Nov 10 02:53 apache-tomcat-9.0.69.tar.gz -rw-r--r-- 1 root root 2759 Nov 17 17:14 install_tomcat.sh -rw-r--r-- 1 root root 145520298 Nov 17 17:14 jdk-8u301-linux-x64.tar.gz root@Tomcat:/data# cat install_tomcat.sh #!/bin/bash DIR=`pwd` JDK_FILE="jdk-8u301-linux-x64.tar.gz" TOMCAT_FILE="apache-tomcat-9.0.69.tar.gz" JDK_DIR="/usr/local" #这里的路径可以自己定义好 TOMCAT_DIR="/usr/local" 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 已经安装" exit else [ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIR fi tar xvf $DIR/$JDK_FILE -C $JDK_DIR cd $JDK_DIR && ln -s jdk1.8.* jdk cat > /etc/profile.d/jdk.sh <<EOF export JAVA_HOME=$JDK_DIR/jdk export JRE_HOME=\$JAVA_HOME/jre export CLASSPATH=\$JAVA_HOME/lib/:\$JRE_HOME/lib/ export PATH=\$PATH:\$JAVA_HOME/bin EOF . /etc/profile.d/jdk.sh java -version && color 0 "JDK 安装完成" || { color 1 "JDK 安装失败" ; exit; } } install_tomcat () { if ! [ -f "$DIR/$TOMCAT_FILE" ];then color 1 "$TOMCAT_FILE 文件不存在" exit; elif [ -d $TOMCAT_DIR/tomcat ];then color 1 "TOMCAT 已经安装" exit else [ -d "$TOMCAT_DIR" ] || mkdir -pv $TOMCAT_DIR fi tar xf $DIR/$TOMCAT_FILE -C $TOMCAT_DIR cd $TOMCAT_DIR && ln -s apache-tomcat-*/ tomcat echo "PATH=$TOMCAT_DIR/tomcat/bin:"'$PATH' > /etc/profile.d/tomcat.sh id tomcat &> /dev/null || useradd -r -s /sbin/nologin tomcat cat > $TOMCAT_DIR/tomcat/conf/tomcat.conf <<EOF JAVA_HOME=$JDK_DIR/jdk EOF chown -R tomcat.tomcat $TOMCAT_DIR/tomcat/ cat > /lib/systemd/system/tomcat.service <<EOF [Unit] Description=Tomcat #After=syslog.target network.target remote-fs.target nss-lookup.target After=syslog.target network.target [Service] Type=forking EnvironmentFile=$TOMCAT_DIR/tomcat/conf/tomcat.conf ExecStart=$TOMCAT_DIR/tomcat/bin/startup.sh ExecStop=$TOMCAT_DIR/tomcat/bin/shutdown.sh RestartSec=3 PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now tomcat.service &> /dev/null systemctl is-active tomcat.service &> /dev/null && color 0 "TOMCAT 安装完成" || { color 1 "TOMCAT 安装失败" ; exit; } } install_jdk install_tomcat 这里的这个脚本可以使用chmod +x来给这个脚本添加执行权限,我就不加了。 root@Tomcat:/data# bash install_tomcat.sh

当脚本执行完后就可以出现的结果如下面的图 image.png image.png

2、准备java geteway组件

  java geteway是可以独立于zabbix server和zabbix agent的一个组件,java geteway是可以单独部署到一台服务器上,也是可以和zabbix server或者zabbix agent共用一个服务器,但是要注意端口不要冲突就可以,在这我就和zabbix server服务部署到同一个服务器上了,zabbix server在前两篇文章写了怎么部署。

root@zabbix-server:~# apt update root@zabbix-server:~# apt -y install zabbix-java-gateway root@zabbix-server:~# vi /etc/zabbix/zabbix_java_gateway.conf #找到下面相关项修改即可 root@zabbix-server:~# vi /etc/zabbix/zabbix_java_gateway.conf #找到下面相关项修改即可 LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 PID_FILE="/run/zabbix/zabbix_java_gateway.pid" START_POLLERS=50 TIMEOUT=30 root@zabbix-server:~# systemctl restart zabbix-java-gateway #重启一下java gateway服务 root@zabbix-server:~# lsof -i:10052 #检查端口 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 6002 zabbix 12u IPv6 82841 0t0 TCP *:10052 (LISTEN)

ubuntu在安装zabbix-java-gateway时可能会报错,因为apt直接下载的话它会自己起服务,这里我们需要修改一下配置文件在重新启动一下服务就可以起来了。 image.png image.png

3、配置zabbix server来调用java gateway

root@zabbix-server:~# vi /etc/zabbix/zabbix_server.conf #找到下面相关项修改即可 JavaGateway=10.0.0.100 #java gateway的监听地址 JavaGatewayPort=10052 #指定java gateway的服务监听端口,如果是默认的端口的话可以不写 StartJavaPollers=20 #这个值是指启动多少个线程去轮询 java gateway root@zabbix-server:~# systemctl restart zabbix-server root@zabbix-server:~# ps -ef | grep java

image.png

4、Tomcat开启JMX监控并安装zabbix-agent

Tomcat开启JMX监控: root@Tomcat:~# vi /usr/local/tomcat/bin/catalina.sh #找到Execute The Requested Command行,在下面添加下面的内容 # ----- Execute The Requested Command ----------------------------------------- CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.0.0.103" root@Tomcat:~# systemctl restart tomcat root@Tomcat:~# systemctl status tomcat 安装zabbix-agent: root@Tomcat:~# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bfocal_all.deb root@Tomcat:~# dpkg -i zabbix-release_5.0-1+focal_all.deb root@Tomcat:~# sed -i.bak 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/apt/sources.list.d/zabbix.list #修改官方源地址 root@Tomcat:~# cat /etc/apt/sources.list.d/zabbix.list deb https://mirrors.aliyun.com/zabbix/zabbix/5.0/ubuntu focal main deb-src https://mirrors.aliyun.com/zabbix/zabbix/5.0/ubuntu focal main root@Tomcat:~# apt update root@Tomcat:~# apt -y install zabbix-agent root@Tomcat:~# vi /etc/zabbix/zabbix_agentd.conf root@Tomcat:~# 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.100 ListenPort=10050 ListenIP=0.0.0.0 StartAgents=3 ServerActive=127.0.0.1 Hostname=10.0.0.103 Include=/etc/zabbix/zabbix_agentd.d/*.conf root@Tomcat:~# systemctl restart zabbix-agent 讲解一下: -Dcom.sun.management.jmxremote #这里是启用监控JMX的项 -Dcom.sun.management.jmxremote.port=9999 #默认启用的端口是12345,这改了的话要在zabbix添加主机是端口也要改 -Dcom.sun.management.jmxremote.authenticate=false #这项是不使用用户名密码 -Dcom.sun.management.jmxremote.ssl=false #这项是不使用ssl认证 -Djava.rmi.server.hostname=10.0.0.103" #这项填的地址不是zabbix-server的地址,而是写tomcat主机的IP地址

image.png

5、在zabbix server web上添加tomcat主机监控

image.png image.png image.png image.png image.png 这里也是可以添加自定义的监控模板,根据自己想要监控的项来进行监控,我这里就不演示添加自定义监控模板来监控服务了。

上一篇:配置squid代理服务器
下一篇:没有了
网友评论