当前位置: 首页 > java >正文

day060-zabbix监控各种客户端

文章目录

  • 0. 老男孩思想-一个人的背书
  • 1. zabbix各种客户端
    • 1.1 Windows Server监控
    • 1.2 网络设备监控
    • 1.3 java应用监控
    • 1.4 前端监控java程序故障
  • 2. 相关项监控
  • 3. 思维导图

0. 老男孩思想-一个人的背书

学历、能力、态度、特长、人品、口碑(身边的人、领导)

在这里插入图片描述

1. zabbix各种客户端

客户端监控方式
linux服务器zabbix-agent/zabbix-agent2
Windows Serverzabbix-agent/zabbix-agent2
网络设备(路由器、防火墙)snmp协议
java应用1.jmx监控
2.自定义监控
硬件设备ipmi(【老男孩教育-李导-手把手带你玩转物理服务器】
https://www.bilibili.com/video/BV1rb411n7a8/?share_source=copy_web&vd_source=c657b73410fb550859862bc71fe979b9)
  • JMX(Java Management Extensions)是Java平台提供的监控和管理工具,允许开发者和管理员通过标准接口监控JVM、应用程序性能、配置参数等。

1.1 Windows Server监控

  • 官方下载客户端监控:[Download Zabbix agents](https://www.zabbix.com/cn/download_agents?version=7.0+LTS&release=7.0.16&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=MSI&show_legacy=0)

在这里插入图片描述

  • 软件包:zabbix_agent2-7.0.10-windows-amd64-openssl.msi 链接: https://pan.baidu.com/s/1UQ6G-Ekt8u1NWxgYkT_VlQ?pwd=zgkp 提取码: zgkp
  • 正常安装软件即可,不要修改安装路径

在这里插入图片描述

在这里插入图片描述

  • 前端添加主机

在这里插入图片描述

在这里插入图片描述

1.2 网络设备监控

  • 常见网络设备:三层交换机、企业路由器、防火墙
  • SNMP协议:简单网络管理协议;默认端口:161
    • v1、v2:仅需设置密码即可
    • v3:需设置用户名和密码
  • 以路由器为例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.3 java应用监控

  • 自定义监控
  • 键值执行的脚本:
# 系统中需要运行tomcat;
[root@web03.oldboy.cn /server/scripts]# cat check_java.sh
#!/bin/bash
##############################################################
# File Name:check_java.sh
# Version:V1.0
# Author:SunKexu
# Organization:www.oldboyedu.com
# Desc:zabbix监控java程序
##############################################################
#1.vars
choice=$1
name=/app/tools/tomcat/#2.获取pid 
pid=`jps -lvm|grep $name|awk '{print $1}'`#3.case语句指定各种指标名字
case  "$choice" in maxsize)  # 获取最大内存空间maxsize=`jmap -heap $pid|grep MaxHeapSize |awk '{print $3}'`echo $maxsize;;edenfree)  # 获取eden内存空间free=`jmap -heap $pid |grep -A4 'Eden Space'|awk 'NR==4{print $3}'`echo $free;;*) echo 666
esac
  • 编写键值的配置文件,需要重启zabbix-agent2:
[root@web03.oldboy.cn /server/scripts]# cat /etc/zabbix/zabbix_agent2.d/web-java.conf 
# 编写自定义监控
UserParameter=web.java[*],sudo /bin/bash /server/scripts/check_java.sh "$1"
  • 命令中使用了sudo,zabbix执行命令使用的虚拟用户是zabbix,所以需要配置sudo权限:
[root@web03.oldboy.cn /server/scripts]# tail -n 1 /etc/sudoers
zabbix  ALL=(ALL)   NOPASSWD: ALL
  • 前端添加监控项

在这里插入图片描述

在这里插入图片描述

1.4 前端监控java程序故障

  • 故障现象:两个java程序的监控项,有一个能用,一个不能用
  • 故障复现:对同一台服务器开启多个窗口,在同一时间执行jmap命令

在这里插入图片描述

  • 故障原因:linux系统底层程序锁,对正在执行读写的程序加锁,确保数据的安全性
  • 解决方法1:前端设置不同监控项的执行频率/时间间隔,使得两个命令在不同的时间执行;
  • 解决方法2:系统设置定时任务执行jmap命令,并将结果写入文件;前端监控项执行时,直接读取文件即可
  • 解决方法3:前端使用相关项监控

2. 相关项监控

  • 主要项:zabbix键值;自定义键值
  • 相关项:从主要项中过滤,取出某个指标/数据

  • 以执行jmap -heap为例
  • 脚本:
[root@web03.oldboy.cn /server/scripts]# cat jmap.sh 
#!/bin/bash
##############################################################
# File Name:check_java.sh
# Version:V1.0
# Author:SunKexu
# Organization:www.oldboyedu.com
# Desc:zabbix监控java程序
##############################################################
#1.vars
name=/app/tools/tomcat/#2.获取pid 
pid=`jps -lvm|grep $name|awk '{print $1}'`#3.执行命令
jmap -heap $pid
  • 配置键值:
[root@web03.oldboy.cn /server/scripts]# cat /etc/zabbix/zabbix_agent2.d/web-java.conf
# 编写自定义监控
UserParameter=web.java[*],sudo /bin/bash /server/scripts/check_java.sh "$1"
# jmap所有数据
UserParameter=web.java.all,sudo /bin/bash /server/scripts/jmap.sh
[root@web03.oldboy.cn /server/scripts]# systemctl restart zabbix-agent2.service 
  • 前端定义监控项

在这里插入图片描述

  • 配置相关项

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 正则表达式:Eden Space:\s+capacity.+\s+used.+\s+free += (\d+).*

3. 思维导图

https://kdocs.cn/join/gpuxq6r?f=101\r\n邀请你加入共享群「老男孩教育Linux运维99期-孙克旭」一起进行文档协作

http://www.xdnf.cn/news/16133.html

相关文章:

  • Android网络请求,Retrofit,OKHttp学习
  • 在AI深度嵌入企业业务的当下——AI时代的融合数据库
  • 【Vue3】ECharts图表案例
  • 跟著Qcadoo MES系统学习产品设计001
  • [CH582M入门第十步]蓝牙从机
  • Redis的key过期策略
  • 基于多种机器学习的水质污染及安全预测分析系统的设计与实现【随机森林、XGBoost、LightGBM、SMOTE、贝叶斯优化】
  • 【前沿技术动态】【AI总结】RustFS:从 0 到 1 打造下一代分布式对象存储
  • Linux网络-------1.socket编程基础---(UDP-socket)
  • 基于Tornado的WebSocket实时聊天系统:从零到一构建与解析
  • Zookeeper学习专栏(八):使用高级客户端库Apache Curator
  • 《计算机网络》实验报告七 HTTP协议分析与测量
  • Qwen3-Code-480B-A35B-instruct模型开源当天“舆情分析”
  • @Repository与@Mapper核心区别详解
  • OpenCV 图像预处理:颜色操作与灰度、二值化处理详解
  • Modbus TCP转Devicenet:水泥厂PLC与多类仪表的自动化通信实践
  • javaSE(List集合ArrayList实现类与LinkedList实现类)day15
  • 如何Visual Studio 的配置从 Qt-Debug 切换到 x64-Debug
  • 本地运行C++版StableDiffusion!开源应用StableVerce发布
  • 垃圾回收介绍
  • (LeetCode 面试经典 150 题 ) 228. 汇总区间 (数组)
  • Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
  • 计算机网络学习----域名解析
  • 牛油果褐变的成因与食用安全
  • 棱镜技术在光谱相机中应用
  • JVM、Dalvik、ART区别
  • JVM、Dalvik、ART垃圾回收机制
  • 1.1 Deep learning?pytorch ?深度学习训练出来的模型通常有效但无法解释合理性? 如何 解释?
  • 「iOS」——KVC
  • QT的moveToThread 用法