Zabbix 监控 SNMP & JMX
Zabbix 配置清华源
# 安装清华源 yum 仓库
[root@db01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# 安装后,发现 zabbix.repo 中的链接还是国外的地址,自己更改 zabbix.repo 内容
[root@db01 tomcat]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
Zabbix 监控 JMX
在 Zabbix 中,JMX 监控数据的获取由专门的代理程序来实现,即 Zabbix-Java-Gateway 来负责数据的采集,Zabbix-Java-Gateway 和 JMX 的 Java 程序之间通信获取数据
JMX 在 Zabbix 中的运行流程
- Zabbix-Serve r 找 Zabbix-Java-Gateway 获取 Java 数据
- Zabbix-Java-Gateway 找 Java程序 获取数据
- Java 程序返回数据给 Zabbix-Java-Gateway
- Zabbix-Java-Gateway 返回数据给 Zabbix-Server
- Zabbix-Server 将数据写入数据库
- Zabbix-web 从数据库获取数据并再页面展示
配置 JMX 监控的步骤
- 安装 Zabbix-Java-Gateway。
- 配置 zabbix-java-gateway.conf 参数。
- 配置 zabbix-server.conf 参数。
- Tomcat 应用开启JMX协议。
- Zabbix-Web 配置 JMX 监控的 Java 应用。
环境准备
| 角色 | IP | 部署 |
|---|---|---|
| zabbix-server | 10.0.0.71/172.16.1.71 | zabbix-server、zabbix-java-gateway |
| zabbix-agent | 10.0.0.51/172.16.1.51 | tomcat、zabbix-agent |
部署 Tomcat
# 1.下载或上传 tomcat 包,解压代码包
[root@web01 ~]# tar xf apache-tomcat-9.0.30.tar.gz -C /usr/local
[root@web01 ~]# ln -s /usr/local/apache-tomcat-9.0.30 /usr/local/tomcat
# 配置 java 环境
#### 1.上传并解压至指定文件夹
[root@web01 server]# tar xf jdk-8u40-linux-x64.gz -C /usr/local/
[root@web01 server]# mv /usr/local/jdk1.8.0_40 /usr/local/java1.8
#### 2.修改添加环境变量
[root@web01 server]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java1.8
export JRE_HOME=/usr/local/java1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
[root@web01 server]# source /etc/profile
# 配置 tomcat 页面
[root@web01 server]# echo "tomcat" > /usr/local/tomcat/webapps/ROOT/index.html
# 启动 tomcat,启动的时候最好看着日志
[root@web01 server]# /usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out
配置 Tomcat 开启 Jvm
[root@linux-node1 ~]# vim /usr/local/tomcat/bin/catalina.sh
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=172.16.1.51"
# jvm 配置文件解释
CATALINA_OPTS="$CATALINA_OPTS
//启用远程监控JMX
-Dcom.sun.management.jmxremote
//jmx启用远程端口,Zabbix添加时必须一致
-Dcom.sun.management.jmxremote.port=12345
//不开启用户密码认证
-Dcom.sun.management.jmxremote.authenticate=false
//不启用ssl加密传输
-Dcom.sun.management.jmxremote.ssl=false
//运行tomcat主机的IP地址
-Djava.rmi.server.hostname=172.16.1.51"
# 重启 tomcat
[root@web01 server]# /usr/local/tomcat/bin/shutdown.sh
[root@web01 server]# /usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out
Zabbix 服务端安装 zabbix-java-gateway
[root@zabbix ~]# yum install -y zabbix-java-gateway
配置 zabbix-java-gateway
[root@zabbix ~]# grep -Ev "^$|#" /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=5
TIMEOUT=5
启动 zabbix-java-gateway
[root@zabbix ~]# systemctl start zabbix-java-gateway.service
配置 zabbix-server
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
# java-gateway 地址
JavaGateway=10.0.0.71
# java-gateway 端口
JavaGatewayPort=10052
# 启动进程轮询 java gateway
StartJavaPollers=5
重启 zabbix-server
[root@zabbix ~]# systemctl restart zabbix-server.service
Zabbix 添加监控

Zabbix 监控 SNMP
SNMP 简介
简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及 HUBS 等)的一种标准协议,它是一种应用层协议
MIB SNMP 中的 MIB 是一种树状数据库,MIB 管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.IETF规定管理信息库对象识别符(OID,Object Identifier)唯一指定,其命名规则就是父节点的名字作为子节点名字的前缀。
# OID 对照表
https://blog.csdn.net/buster2014/article/details/46925633
安装 SNMP 服务端
Zabbix 监控其他服务器 SNMP 状态时,是作为客户端监控的,所以服务端是被监控主机:
# zabbix 客户端安装
[root@web01 ~]# yum install -y net-snmp
配置 SNMP
[root@web01 ~]# vim /etc/snmp/snmpd.conf
com2sec notConfigUser default 123456
view systemview included .1
启动 SNMP
[root@web01 ~]# systemctl start snmpd.service
验证服务
[root@web01 ~]# netstat -lntup | grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 73647/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 73647/snmpd
配置 SNMP 客户端
# Zabbix Server 上安装
[root@zabbix ~]# yum install -y net-snmp-utils
# 命令
[root@zabbix ~]# snmpwalk --help
-v 1|2c|3 specifies SNMP version to use # 指定使用的SNMP版本
-c COMMUNITY set the community string # 指定口令,一般是public,我们改成123456
# 测试获取监控信息
[root@zabbix ~]# snmpwalk -v 2c -c 123456 172.16.1.51 .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: web01
# 查看所有可以监控的值
[root@zabbix ~]# snmpwalk -v 2c -c 123456 172.16.1.51
Zabbix 监控 SNMP & JMX的更多相关文章
- zabbix 监控 tomcat jmx
zabbix_server: zabbix_server.conf : # Add JavaGateway=127.0.0.1 JavaGatewayPort=10052 StartJavaPolle ...
- Tomcat zabbix监控、jmx监控、zabbix_java_gateway
几种方式监控tomcat,如标题. 下面就是参考的网上的连接.自己可以试一下. 由于牵扯到jvm的很多东西, 在这里就只是粘贴处连接参考. http://www.cnblogs.com/chrisDu ...
- 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据
前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...
- zabbix通过SNMP监控服务器硬件及构建触发器
公司的服务器没装系统无法使用IPMI协议来监控服务器硬件信息,所以我们使用SNMP来获取,下面介绍如何通过SNMP监控服务器硬件信息. 1.HP服务器进入iLO开启SNMP协议. 2.查看服务器温度信 ...
- 自学Zabbix11.1 Zabbix 配置SNMP监控
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...
- zabbix 配置SNMP监控
什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...
- zabbix通过snmp监控网络设备
首先需要在zabbix的server端或proxy端安装snmpd服务 安装: yum -y install net-snmp* 查看版本: [root@Check3 ~]# snmpd -v NET ...
- zabbix通过snmp监控linux主机
1.安装net-snmp [root@db01 ~]# yum install -y net-snmp 2.修改配置文件 [root@db01 ~]# vim /etc/snmp/snmpd.conf ...
- zabbix通过snmp监控windows主机
1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...
随机推荐
- 单片机—Arduino UNO-R3—学习笔记002
led控制 本篇主要介绍Arduino数字引脚及相关函数,通过数字I/O输出控制板载LED灯亮灭状态(数字引脚13). 数字信号是以0.1表示的电平不连续变化的信号,也就是以二进制的形式表示的信号. ...
- [GKCTF2020]老八小超市儿
题目来自buu 一.题目初探 首先是一个shopxo搭建的演示站,通过扫描后台得到如下的网页 二.题目解答 首先是找到后台登陆的admin.php,然后通过百度找到shopxo的默认管理员登陆账号和密 ...
- C#使用struct直接转换下位机数据
编写上位机与下位机通信的时候,涉及到协议的转换,比较多会使用到二进制.传统的方法,是将数据整体获取到byte数组中,然后逐字节对数据进行解析.这样操作工作量比较大,对于较长数据段更容易计算位置出错. ...
- MyBatis初级实战之五:一对一关联查询
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- PKU2186 Popular Cows 受欢迎的牛
题目描述 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N(N<=10000)头牛,给你M(M<=50000)对整数(A,B),表示牛A认为牛B受欢迎.这种关系是具有传递性的,如果A认为B ...
- docker mysql 设置忽略大小写
使用docker 安装mysql时 Linux下是默认不忽略大小写,导致操作数据库的时候会报如下错误 为了解决上面的问题,我们在创建MySQL容器的时候就需要初始化配置 lower_case_ta ...
- JavaScript中函数的调用!
JavaScript中函数的调用! 1 普通函数 // 1 普通函数 function fn() { console.log(123); } // 函数名 + 一个小括号! 或者 函数名.call() ...
- GIT常用命令:
1.安装好Git之后,点击鼠标右键即可看到有Git bush选项,点击即可进入Git命令行操作. 2.使用命令: git config --global user.name "lyh&q ...
- Go 和 Syscall
曹春晖:谈一谈 Go 和 Syscall https://juejin.im/post/6844903845475139597
- Any race is a bug. When there is a race, the compiler is free to do whatever it wants.
https://mp.weixin.qq.com/s/pVJiFdDDKVx707eKL19bjA 谈谈 Golang 中的 Data Race 原创 ms2008 poslua 2019-05-13 ...