day060-zabbix监控各种客户端

文章目录

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

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

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

1. zabbix各种客户端

客户端 监控方式
linux服务器 zabbix-agent/zabbix-agent2
Windows Server zabbix-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应用监控

  • 自定义监控
  • 键值执行的脚本:
shell 复制代码
# 系统中需要运行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:
shell 复制代码
[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权限:
shell 复制代码
[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为例
  • 脚本:
shell 复制代码
[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
  • 配置键值:
shell 复制代码
[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期-孙克旭」一起进行文档协作

相关推荐
A小辣椒6 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒10 小时前
TShark:基础知识
linux
AlfredZhao12 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式