一、监控linux系统

在其他linux服务器安装zabbix agent,然后添加到zabbix server以对其进行资源监控

1.1 zabbix agent安装

root@web1:~# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bbionic_all.deb
root@web1:~# dpkg -i zabbix-release_5.0-1+bionic_all.deb 
root@web1:~# apt install zabbix-agent

1.2 编辑zabbix agent文件

root@web1:~# vim /etc/zabbix/zabbix_agentd.conf
#指向当前zabbix server
Server=10.10.100.100
#监听IP端口
ListenPort=10050
ListenIP=0.0.0.0
#被动状态时默认启动的实例数(进程数),为0不监听任何端口
StartAgents=3
#区分大小写且在zabbix server唯一的值
Hostname=10.10.100.105

#重启zabbix agent
root@web1:~# systemctl restart zabbix-agent
root@web1:~# systemctl enable zabbix-agent

1.3 web界面添加监控主机

在zabbix web管理界面添加上一步安装了zabbix agent的linux主机。

1.3.1 添加主机

zabbix监控rds zabbix监控入门与实战_linux

1.3.2 关联监控模板

在zabbix对主机实现监控,可以通过添加模板或者添加监控项实现对指定的监控目标进行数据采集,通常采用先创建模板,然后再将模板关联至主机的方式,模板关联如下:

zabbix监控rds zabbix监控入门与实战_运维_02

1.3.3 验证主机监控数据

经过一段时间的数据采集后,验证zabbix server是否有刚添加完成主机的监控数据和图形,图形显示如下:

zabbix监控rds zabbix监控入门与实战_zabbix_03

二、监控tomcat

通过java gateway实现对tomcat的指标进行数据采集和图形展示,如堆栈内存利用率、当前会话连接数、繁忙线程等

2.1 准备JDK环境

root@web1:~# cd /usr/local/src/
root@web1:/usr/local/src# tar xf jdk-8u301-linux-x64.tar.gz
root@web1:/usr/local/src# ln -sv /usr/local/src/jdk1.8.0_301 /usr/local/jdk
root@web1:/usr/local/src# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk
export TOMCAT_HOME=/apps/tomcat
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

#验证
root@web1:~# java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

2.2 准备tomcat

root@web1:~# cd /apps/
root@web1:/apps# mv /usr/local/src/apache-tomcat-8.5.42.tar.gz ./
root@web1:/apps# ln -sv /apps/apache-tomcat-8.5.42 /apps/tomcat
'/apps/tomcat' -> '/apps/apache-tomcat-8.5.42'

#启动tomcat
root@web1:/apps# /apps/tomcat/bin/catalina.sh start

zabbix监控rds zabbix监控入门与实战_zabbix_04

2.3 部署java gateway服务器

java gateway是一个独立于zabbix server和zabbix agent的组件,也就是java gateway可以是单独的一台服务器,但是也可以和zabbix server或者zabbix agent公用一台服务器,前提是端口不要配置冲突了。

本次使用单独一台服务器部署,ip 10.10.100.107
安装java gateway

root@ubuntu-node1:~# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bbionic_all.deb
root@ubuntu-node1:~# dpkg -i zabbix-release_5.0-1+bionic_all.deb
root@ubuntu-node1:~# apt update
root@ubuntu-node1:~# apt-get -y install zabbix-java-gateway=1:5.0.16-1+bionic

修改配置文件

root@ubuntu-node1:~# vim /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=5
TIMEOUT=30

#启动
root@ubuntu-node1:~# systemctl restart zabbix-java-gateway.service
root@ubuntu-node1:~# systemctl enable zabbix-java-gateway.service

2.4 配置zabbix server调用java gateway

修改zabbix server配置文件

root@zabbix-server:~# vim /apps/zabbix_server/etc/zabbix_server.conf
JavaGateway=10.10.100.107
JavaGatewayPort=10052
StartJavaPollers=5

#重启zabbix server
root@zabbix-server:~# systemctl restart zabbix-server

2.5 tomcat开启JMX监控

root@web1:/apps# vim /apps/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS
#启用远程监控JMX
-Dcom.sun.management.jmxremote
#默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
-Dcom.sun.management.jmxremote.port=12345
#不使用用户名密码
-Dcom.sun.management.jmxremote.authenticate=false
#不使用ssl认证
-Dcom.sun.management.jmxremote.ssl=false
#tomcat主机自己的IP地址
-Djava.rmi.server.hostname=10.10.100.105"

#重启tomcat
root@web1:~# /apps/tomcat/bin/catalina.sh stop
root@web1:~# /apps/tomcat/bin/catalina.sh start

2.6 添加JMX监控

zabbix监控rds zabbix监控入门与实战_linux_05

2.7 关联模板

zabbix监控rds zabbix监控入门与实战_linux_06

2.8 验证

zabbix监控rds zabbix监控入门与实战_运维_07


zabbix监控rds zabbix监控入门与实战_运维_08