Zabbix监控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.gzroot@Tomcat:/data# lltotal 153464drwxr-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.gzroot@Tomcat:/data# cat install_tomcat.sh #!/bin/bashDIR=`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 已经安装" exitelse [ -d "$JDK_DIR" ] || mkdir -pv $JDK_DIRfitar xvf $DIR/$JDK_FILE -C $JDK_DIRcd $JDK_DIR && ln -s jdk1.8.* jdk cat > /etc/profile.d/jdk.sh <<EOFexport JAVA_HOME=$JDK_DIR/jdkexport JRE_HOME=\$JAVA_HOME/jreexport CLASSPATH=\$JAVA_HOME/lib/:\$JRE_HOME/lib/export PATH=\$PATH:\$JAVA_HOME/binEOF. /etc/profile.d/jdk.shjava -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 已经安装" exitelse [ -d "$TOMCAT_DIR" ] || mkdir -pv $TOMCAT_DIRfitar xf $DIR/$TOMCAT_FILE -C $TOMCAT_DIRcd $TOMCAT_DIR && ln -s apache-tomcat-*/ tomcatecho "PATH=$TOMCAT_DIR/tomcat/bin:"’$PATH’ > /etc/profile.d/tomcat.shid tomcat &> /dev/null || useradd -r -s /sbin/nologin tomcatcat > $TOMCAT_DIR/tomcat/conf/tomcat.conf <<EOFJAVA_HOME=$JDK_DIR/jdkEOFchown -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.targetAfter=syslog.target network.target [Service]Type=forkingEnvironmentFile=$TOMCAT_DIR/tomcat/conf/tomcat.confExecStart=$TOMCAT_DIR/tomcat/bin/startup.shExecStop=$TOMCAT_DIR/tomcat/bin/shutdown.shRestartSec=3PrivateTmp=trueUser=tomcatGroup=tomcat[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable –now tomcat.service &> /dev/nullsystemctl 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

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

2、准备java geteway组件

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

root@zabbix-server:~# apt updateroot@zabbix-server:~# apt -y install zabbix-java-gatewayroot@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=10052PID_FILE="/run/zabbix/zabbix_java_gateway.pid"START_POLLERS=50TIMEOUT=30root@zabbix-server:~# systemctl restart zabbix-java-gateway#重启一下java gateway服务root@zabbix-server:~# lsof -i:10052#检查端口COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 6002 zabbix 12u IPv6 82841 0t0 TCP *:10052 (LISTEN)

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

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

4、Tomcat开启JMX监控并安装zabbix-agentTomcat开启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 tomcatroot@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.debroot@Tomcat:~# dpkg -i zabbix-release_5.0-1+focal_all.debroot@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.listdeb https://mirrors.aliyun.com/zabbix/zabbix/5.0/ubuntu focal maindeb-src https://mirrors.aliyun.com/zabbix/zabbix/5.0/ubuntu focal mainroot@Tomcat:~# apt updateroot@Tomcat:~# apt -y install zabbix-agentroot@Tomcat:~# vi /etc/zabbix/zabbix_agentd.confroot@Tomcat:~# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.confPidFile=/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logLogFileSize=0Server=10.0.0.100ListenPort=10050ListenIP=0.0.0.0StartAgents=3ServerActive=127.0.0.1Hostname=10.0.0.103Include=/etc/zabbix/zabbix_agentd.d/*.confroot@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地址

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

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

【转自:响水网站建设 xiangshui.html 复制请保留原URL】如果有可能,我带你去远行。躺在德德玛的草原,

Zabbix监控Tomcat

相关文章:

你感兴趣的文章:

标签云: