zabbix中的tomcat监控、集成告警平台、分布式监控


一、服务监控:tomcat监控

zabbix中的JMX监控

JMX介绍
Jmx(Java Management Extensions)java管理拓展
JMX特点:
JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
总的来说:JMX 既是 Java 管理系统的一个标准,一个规范,也是一个接口,一个框架。
JMX监控流程:zabbix server 调用java网关去访问远端的JMX接口8888,然后采集tomcat数据
agent:server->agent:10050->回传给server
JMX:server->jmx网关->:8888端口

首先在server3上下载apache-tomcat的源码包和java的openjdk:
在这里插入图片描述

[root@server3 ~]# yum install -y java-1.8.0-openjdk.x86_64
[root@server3 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[root@server3 ~]# cd /usr/local/
[root@server3 local]# ln -s apache-tomcat-7.0.37/ tomcat

接下来我们根据官网的开源文档配置: Apache Tomcat 8 (8.5.81) - Monitoring and Managing Tomcat
修改配置文件,并开启服务

[root@server3 local]# cd tomcat/
[root@server3 tomcat]# cd bin/
[root@server3 bin]# vim catalina.sh                        ##后附截图
...
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false'

[root@server3 bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@server3 bin]# netstat -antlp|grep :8888
tcp6       0      0 :::8888                 :::*                    LISTEN      8025/java

开启的8888端口就是JMX的远程监控端口。
在这里插入图片描述
加的选项用单引号引起来
开启8888的端口
在这里插入图片描述

server1安装zabbix-java-gateway,开启服务,修改server配置

[root@server1 ~]# yum install -y zabbix-java-gateway
保持java网关的默认配置开启服务:
[root@server1 zabbix]# systemctl  enable --now zabbix-java-gateway.service
[root@server1 zabbix]# netstat -antlp|grep :10052
tcp6       0      0 :::10052                :::*                    LISTEN      15393/java

修改server配置
[root@server1 zabbix]# vim /etc/zabbix/zabbix_server.conf    ##后附截图
...
JavaGateway=192.168.56.11
JavaGatewayPort=10052
StartJavaPollers=5        ##同时开启多少个Java线程与之连接
[root@server1 zabbix]# systemctl  restart zabbix-server.service

在这里插入图片描述

新增的组件就是监控java的组件:
在这里插入图片描述

前端配置
在这里插入图片描述
关联模板
在这里插入图片描述
部署完成
在这里插入图片描述

二、服务监控:集成告警平台–zabbix监控结合睿象云报警

地址:https://caweb.aiops.com/
首先先注册一个睿象云账号,进去之后选择zabbix:
在这里插入图片描述在这里插入图片描述
创建appkey
在这里插入图片描述
在server端进入 /etc/zabbix/zabbix_server.conf 可以看到我们的告警路径:探针安装位置
在这里插入图片描述
根据睿象云官方步骤操作即可:
在这里插入图片描述
部署探针,与zabbix进行结合

下载安装包放置/usr/lib/zabbix/alertscripts目录:
[root@server1 ~]# cd /usr/lib/zabbix/alertscripts
[root@server1 alertscripts]# tar xf ca_zabbix_release-4.0.1.tar.gz
[root@server1 alertscripts]# cd cloudalert/bin
[root@server1 bin]# ./install.sh 80521b7c-eb16-46d8-a0fd-6a621f4938e4     ##自动调用api:
请输入Zabbix管理地址:http://192.168.117.11/zabbix                 ##如何调用zabbix
Check connection success!
请输入Zabbix管理员账号:Admin                                     ##账号、密码
请输入Zabbix管理员密码:  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   170    0    70  100   100    583    833 --:--:-- --:--:-- --:--:--   840
Authentication success!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   109    0    42  100    67   1067   1703 --:--:-- --:--:-- --:--:--  1717
Check api version success!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   314    0    57  100   257   1078   4862 --:--:-- --:--:-- --:--:--  4942
Create new media type success!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   192    0    54  100   138   1030   2632 --:--:-- --:--:-- --:--:--  2653
Create new group success!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   398    0    51  100   347    452   3076 --:--:-- --:--:-- --:--:--  3098
Create new user success!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1660    0    51  100  1609    750  23676 --:--:-- --:--:-- --:--:-- 24014
Create new action success!
Install zabbix agent success!

[root@server1 alertscripts]# chown zabbix.zabbix cloudalert/ -R       ##保证zabbix权限,目录的权限交给zabbix

为保证实验纯净,在网页前端把我们不用的告警媒介全部禁掉:
在这里插入图片描述
在睿象云平台设置告警提醒类型和方式:
在这里插入图片描述
测试:
首先,我们把server端的agent服务停掉:
[root@server2 ~]# systemctl stop zabbix-agent.service
因为agent端的触发器里有一个五分钟之内检测不到agent就会报警:
稍等片刻后,先显示此时已经连不上了,在监测-问题处已经可以看到,然后会在睿象云平台看到,并以自己设置好的方式进行提醒
[root@server2 ~]# systemctl start zabbix-agent.service
重启服务后,会显示问题已解决
在这里插入图片描述
在这里插入图片描述

三、分布式监控

1.agent端主动回传数据

之前的配置都是server端主动采集agent端的数据,此种方式agent端越多zabbix主机的压力就越大,接下来我们让agent端主动将数据发给server端:(主动被动完全取决于agent端link的模板)

在网页前端,将server2上的模板取消连接并清理:
在这里插入图片描述
重新选择模板并更新,此模板是agent端主动将信息回传回来:
在这里插入图片描述
可以看到监控项已变更:
在这里插入图片描述
在这里插入图片描述
此时agent主动回传数据已经完成。
在这里插入图片描述在这里插入图片描述
zabbix监控的一大问题:数据库的大小的影响,可以使用mysql替换为tidb数据库解决;tidb是分布式数据库,优化数据库,解决存储瓶颈!
在这里插入图片描述

2.proxy代理

上面虽然提高了sever端的效率,但是server端就一个,他没有得到水平扩容的能力:(可以查看官方文档:https://www.zabbix.com/documentation/5.0/zh/manual/distributed_monitoring ),我们可以通过添加一个proxy代理来进一步减轻server端的压力。

Zabbix 代理
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据,承担一些收集数据的负担,分担了 Zabbix server 的负荷。
此外,使用proxy是实现集中式和分布式监控的最简单方法,所有 agents 和 proxies 发送给一个 Zabbix server,从而集中收集所有数据。
Zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
监控上千设备时,减轻 zabbix server 的负荷
简化分布式监控的维护
在这里插入图片描述

我们将server2作为proxy节点,并修改主机名为proxy;在前端网页删除server2主机

[root@server2 ~]# systemctl  disable --now zabbix-agent.service
[root@server2 ~]# hostnamectl set-hostname proxy
[root@proxy ~]# vim /etc/hosts
192.168.56.12   server2 proxy

[root@proxy ~]#  yum install zabbix-proxy-mysql        ##安装proxy软件([官方安装页面](https://www.zabbix.com/documentation/5.0/zh/manual/installation/install_from_packages/rhel_centos))

在server1上创建proxy数据库,server的数据传给proxy,proxy有自己的数据库,得告诉proxy应该监听哪些主机,是一个数据收集器

在server1上创建proxy数据库
[root@server1 ~]# mysql -p
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;     ##创建数据库
Query OK, 1 row affected (0.00 sec)

mysql> create user 'zabbix'@'%' identified by 'Westos-123';       ##创建用户
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on zabbix_proxy.* to 'zabbix'@'%';     ##其他主机可以连接zabbix_proxy库
Query OK, 0 rows affected (0.00 sec)

从proxy拷贝数据库文件

[root@proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-5.0.31/
[root@proxy zabbix-proxy-mysql-5.0.31]# scp schema.sql.gz server1:

导入proxy数据库

[root@server1 ~]# zcat schema.sql.gz | mysql -uzabbix -pYakexi+007 zabbix_proxy

修改proxy配置

[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
Server=192.168.117.11				#指向zabbix_server
Hostname=proxy					    #主机名

DBHost=192.168.117.11				#proxy数据库配置
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=Westos-123

JavaGateway=192.168.117.11		#jmx配置
JavaGatewayPort=10052
StartJavaPollers=5

[root@proxy ~]# systemctl  restart zabbix-proxy.service         ##重开服务

前端创建proxy,才能被zabbix承认;(proxy没有前端,只与server通信)
在这里插入图片描述
为主机配置代理
在这里插入图片描述
再重启proxy服务

[root@proxy ~]# systemctl  restart zabbix-proxy.service

修改agent配置,指向proxy地址

[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.56.12
ServerActive=192.168.56.12

[root@server3 ~]# systemctl  restart zabbix-agent.service

查看日志,没有报错就表示成功
[root@server3 ~]# cat /var/log/zabbix/zabbix_agentd.log

如果agent日志中出现类似的报错,说明proxy还没有完全同步server端数据,需要再次重启proxy服务
在这里插入图片描述
最终配置完毕后,监控状态也是可用的

在这里插入图片描述


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置Tomcat进行JMX远程监控,你可以按照以下步骤进行操作: 1. 打开Tomcat的bin目录,找到catalina.sh文件。 2. 在catalina.sh文件的开头添加以下配置参数: -Dcom.sun.management.jmxremote.port=8989 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=139.224.42.51 这些参数将设置JMX远程监控的端口、身份验证、SSL以及远程主机的IP地址。\[1\] 3. 保存并关闭catalina.sh文件。 4. 进入Tomcat的bin目录,使用脚本重启Tomcat。可以执行以下命令: ./shutdown.sh ./startup.sh 这将重启Tomcat服务器。\[2\] 5. 重启完成后,可以使用以下命令检查1099端口是否已经开放: netstat -ant 这将显示端口状态,你可以查看1099端口是否处于监听状态。\[2\] 通过以上步骤,你就可以成功配置Tomcat进行JMX远程监控了。请确保按照指定的配置参数进行设置,并且重启Tomcat后检查端口状态。\[1\]\[2\] #### 引用[.reference_title] - *1* [tomcat 配置jmx远程监控](https://blog.csdn.net/true_hsf/article/details/52315684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Tomcat 开启远程监控(JMX)](https://blog.csdn.net/weixin_41924764/article/details/108694239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [tomcat开启jmx远程监控](https://blog.csdn.net/Entity_G/article/details/111316532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值