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

news2024/11/16 19:50:04

文章目录

  • 前言
  • 一、zabbix中的JMX监控
  • 二、集成告警平台:zabbix监控结合睿象云报警
  • 三、分布式监控
    • 1.agent端主动回传数据
    • 2.proxy代理


前言


一、zabbix中的JMX监控

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

首先在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的远程监控端口。
在这里插入图片描述
在这里插入图片描述

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 可以看到我们的告警路径:
在这里插入图片描述
根据睿象云官方步骤操作即可:
在这里插入图片描述
部署探针

下载安装包放置/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
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权限

为保证实验纯净,在网页前端把我们不用的告警媒介全部禁掉:
在这里插入图片描述
在睿象云平台设置告警提醒类型和方式:
在这里插入图片描述
测试:
首先,我们把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端主动将数据发给agent端:(主动被动完全取决于agent端link的模板)

在网页前端,将server2上的模板取消连接并清理:
在这里插入图片描述
重新选择模板并更新,此模板是agent端主动将信息回传回来:
在这里插入图片描述
可以看到监控项已变更:
在这里插入图片描述
在这里插入图片描述
此时agent主动回传数据已经完成。

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软件

在server1上创建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'@'%';
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
在这里插入图片描述
为主机配置代理
在这里插入图片描述
再重启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服务
在这里插入图片描述
最终配置完毕后,监控状态也是可用的

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux代码库生成-make示例

1、add.c代码实现加法运算: int add(int a,int b) { return ab; } 2、头文件add.h #ifndef ADD_H #define ADD_H int add(int a,int b); #endif 3、CMakeLists.txt编写 cmake_minimum_required(VERSION 2.6) set(CMAKE_C_FLAGS -m32) project(test_add) include_dir…

OpenMLDB 社区月报 | 2023 年 2 月

导言 OpenMLDB 社区每个月都会发布一版社区月报,总结一个月以来的产品动态、社区活动、内容发布等,让大家对我们社区的发展有更加清晰的了解。如果您对我们的社区有任何建议,欢迎在 GitHub 上提 Issues 或 PR ,共同参与社区的建设…

统计学 假设检验

文章目录假设检验假设检验的基本原理提出假设作出决策表述决策结果一个总体参数的检验总体均值的检验总体比例的检验总体方差的检验两个总体参数的检验两个总体均值之差的检验两个总体比例之差的检验两个总体方差比的检验总体分布的检验正态性检验的图示法Shapiro-Wilk 和 K-S …

Vue3 企业级项目实战:通关 Vue3 企业级项目开发,升职加薪快人一步

Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 Element Plus Spring Boot 企业级项目开发,升职加薪,快人一步。。「Vue3 企业级项目实战」由程序员十三撰写,2744人购买https://s.juejin.cn/ds/S2RkR9F/ 课程介绍 很高兴为大家介绍这个…

LeetCode 1326. Minimum Number of Taps to Open to Water a Garden【贪心,桶排序】

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

路由网络的构建与配置

Part.1 ⑴ 需求分析 在构建的局域网中,通过路由器间配置静态路由,实现PC1和PC2主机直接连通,主机网段不能与路由器直接互联网段通信。 ⑵ 环境要求 配置虚拟网卡的计算机,安装华为eNSP模拟软件。 规划拓扑 Part.2 ⑴ 拓扑描述…

NVIC 简介、抢占优先级和响应优先级

NVIC 简介 NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。 如果医院只有医生的话,当看病的人很多时,医生就得安排一下先看谁,后看谁,如果…

29 openEuler管理网络-配置网络绑定

文章目录29 openEuler管理网络-配置网络绑定29.1 使用nmcli29.2 使用命令行29.2.1 检查是否已安装Bonding内核模块29.2.2 创建频道绑定接口29.2.3 创建从属接口29.2.4 激活频道绑定29.2.5 创建多个绑定29 openEuler管理网络-配置网络绑定 29.1 使用nmcli 创建名为bond0的绑定&…

vue 组合API

一、组合API是什么?通过创建 Vue 组件,我们可以将界面中重复的部分连同其功能一起提取为可重用的代码段。组合api提供复用性降低耦合性增加可读性下面我们来看下在vue2.0中的一个场景:在2.0里面的**exportdefault{}**通常是由components、pro…

5.排序算法之二:选择排序

选择排序(select sort)在无序列表中,把无序列表分成有序区(刚开始有序区元素个数为0)和无序区(刚开始无序区元素个数为n),循环n-1趟,每一趟找到最小或最大的那个元素&…

CNC数据采集解决方案(2023杭州乐芯科技)

杭州乐芯科技IOT数据采集平台产品是杭州乐芯科技有限公司为满足工业4.0大型集团工厂推出的新一代数据采集平台级产品,可满足单一平台(一个服务器)同时采集各类设备,同时兼容各种工业数据采集协议,单服务器压力测试达10…

chainWebpack之optimization.splitChunks的cacheGroups缓存组代码分块实践案

研究了好几天webpack打包,我们项目是vue的高版本,已经没有了webpack.config.js文件了,是直接在vue.config.js里的chainWebpack方法直接配置,这样做法的好处是用户既可以保留webpack的默认配置,又可以通过chainWebpack设…

【Java开发】JUC基础 05:线程通信/协作

1 生产者消费者问题📌 线程通信应用的场景可以简单地描述为生产者和消费者问题假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费;如果仓库中没有产品,则生产者将产品放入仓库&a…

Java知识复习(八)Spring基础

1、什么是Spring框架? Spring :是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性 2、Spring、SpringMVC和SpringBoot的区别 Spring主要指Spring Framework,就是指如上图所示的各项功能模块Spr…

【Java 多线程学习】

多线程学习多线程1. 并行与并发2.进程和线程3. *****多线程的实现方式3.1 继承Thread类的方式进行实现3.2 实现Runnable接口方式进行实现3.3 利用Callable和Future接口方式实现3.4 设置获取线程名字4.获得线程对象5.线程休眠6.线程调度[线程的优先级]7.后台线程/守护线程多线程…

Pytest自动化框架-权威教程02-Pytest 使用及调用方法

Pytest 使用及调用方法使用python -m pytest调用pytest2.0版本新增你可以在命令行中通过Python编译器来调用Pytest执行测试:Copypython -m pytest [...]通过python调用会将当前目录也添加到sys.path中,除此之外,这几乎等同于命令行直接调用pytest [...]。可能出现的执行退出cod…

【K8S笔记】Kubernetes 集群架构与组件介绍

K8S 官方文档 https://kubernetes.io/zh/docs/home ##注重关注 概念和任务 板块。 K8S 集群架构 K8S也是运用了分布式集群架构: 管理节点/Master 整个集群的管理,任务协作。工作节点/Node 容器运行、删除。 K8S 组件介绍 管理节点/Master 相关组件 …

JDK1.8 ConcurrentHashMap

数据结构锁sizeCtlconcurrencyLevelForwardingNode、ReservationNode扩容get、put、removehashmap:线程不安全 hashtable:通过synchronized保证线程安全但效率低。强一致性 ConcurrentHashMap:弱一致性 数据结构 ConcurrentHashMap为node数…

前端转golang从小白到实战自学笔记(2023/3/1)

了解:https://www.runoob.com/go/go-concurrent.htmlgolang学习方向区块链研发工程师go服务器>(特点:数据处理,处理大并发)/游戏软件工程师golang分布式/云计算软件工程师(盛大云、cdn、京东&#xff09…

Mybatis主要流程源码分析

分层架构图 主要流程图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d9uhH9IK-1677658947721)(https://note.youdao.com/yws/public/resource/7f152b4b25320263d411a49583d3f4db/xmlnote/WEBRESOURCE9ea90840088eaeaa4a463bbc3f1912e8/17619)] 主…