zabbix 基础 及监控tomcat

169 阅读3分钟

监控linux 系统

92.168.10.10作为客户端 被192.168.10.1监控

安装zabbix-agent

安装依赖环境

yum install gcc libxml2-devel   net-snmp net-snmp-devel   curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel    libevent-devel    java-1.8.0-openjdk-devel  -y

解压安装包 编译

[root@node2 zabbix-4.0.30]#tar xf zabbix-4.0.30.tar.gz 
[root@node2 zabbix-4.0.30]#./configure --prefix=/apps/zabbix --enable-agent
[root@node2 zabbix-4.0.30]#make -j2 && make install

准备service文件

[root@node2 zabbix-4.0.30]#useradd zabbix
# 新建用户[root@node2 zabbix-4.0.30]#vim /usr/lib/systemd/system/zabbix-agent.service 
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
​
​
​
​
[root@node2 zabbix-4.0.30]#systemctl daemon-reload
[root@node2 zabbix-4.0.30]#systemctl start  zabbix-agent.service
[root@node2 zabbix-4.0.30]#systemctl status zabbix-agent.service

修改配置文件

​
cd /apps/zabbix/etc
[root@node2 etc]#vim  zabbix_agentd.conf
94 Server=192.168.10.1  #指向当前zabbix server
##### Passive checks related #被动检查相关配置
​
​
### Option: ListenPort
ListenPort=10050 #监听端口  默认的无需修改
​
​
119 StartAgents=3
#启动3个进程收集数据
​
146 Hostname=192.168.10.10
#指定名称 一般使用 IP地址, 等会需要使用
​
​
[root@node2 zabbix-4.0.30]#systemctl restart  zabbix-agent.service
[root@node2 etc]#systemctl status zabbix-agent.service 
# 可以看到三个监听线程
● zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2024-07-19 15:55:42 CST; 11s ago
  Process: 6348 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 6350 ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 6353 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ├─6353 /apps/zabbix/sbin/zabbix_agentd -c apps/zabbix/etc/zabbix_agentd.conf
           ├─6354 /apps/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─6355 /apps/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─6356 /apps/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─6357 /apps/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─6358 /apps/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
​
7月 19 15:55:42 node2 systemd[1]: Starting Zabbix Agent...
7月 19 15:55:42 node2 systemd[1]: Started Zabbix Agent.
​
​

页面主控端添加被监控主机

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

image.png

添加模板不添加模板是不会监控的

image.png

过段时间就会变绿 image.png

使用命令获取数据

[root@localhost data]#/apps/zabbix_server/bin/zabbix_get -s 192.168.10.10 -p 10050 -k "agent.ping"
1
​
-s  指明主机
-k  指明监控项
-p  端口

监控tomcat

一 tomcat开启JMX监控

www.jianshu.com/p/8c5133cab…

JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务,通常使用JMX来监控系统的运行状态。

[root@node2 data]#vim /usr/local/tomcat/bin/catalina.sh
#一般加在116行
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=192.168.10.10" 


[root@node2 data]#systemctl restart   tomcat
#重启服务
[root@node2 data]#systemctl status tomcat
[root@node2 data]#ss -napt|grep 12345
#12345开启就可以
LISTEN     0      50          :::12345                   :::*                   users:(("java",pid=13661,fd=24))




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=x.x.x.x" 						#tomcat主机自己的IP地址,不要写zabbix服务器的地址
选项含义
-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=x.x.x.x"#tomcat主机自己的IP地址,不要写zabbix服务器的地址

二 配置zabbix-server

在主服务器上配置启动 javagateway

[root@localhost data]#vim /apps/zabbix_server/sbin/zabbix_java/settings.sh 
#不需要修改

35 START_POLLERS=5  #启动5个线程去采集java数据
43 TIMEOUT=30       #一个数据的超时时间30s


[root@localhost data]#/apps/zabbix_server/sbin/zabbix_java/startup.sh 
# 启动服务
[root@localhost data]#ss -antp |grep 10052
LISTEN     0      50          :::10052                   :::*                   users:(("java",pid=47582,fd=14))

三 配置 zabbix-server 对接 java-gateway

[root@localhost data]#vim /apps/zabbix_server/etc/zabbix_server.conf
281 JavaGateway=192.168.91.100    #指明gateway地址
297 StartJavaPollers=5            #开启多少个进程去收集java服务器的信息

289 JavaGatewayPort=10052         # 默认不用改




[root@localhost ~]#systemctl restart zabbix-server
#快照起不来  重启机器 
#重启后不要忘记开启  javagateway

四 web页面配置

image.png

添加jmx 模板 image.png