zabbix支持的监控方式
zabbix所能够显示的且可指定为监控接口类型的监控方式:
Agent
passive
active
SNMP:Simple Network Management Protocol 基于SNMP协议实现的监控,不需要特意在被监控端安装zabbix-agent,SNMP一般用在无法在被监控端安装zabbix-agent的时候,比如打印机、路由器
MIB、SMI、SNMP(v1、v2、v3)
IPMI:智能平台管理接口(Intelligent Platform Management Interface)原本是一种Intel架构的企业系统的周边设备所采用的一种工业标准。IPMI亦是一个开放的免费标准,用户无需支付额外的费用即可使用此标准。
IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器系统成本。
JMX:Java Management Extensions,Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
通过java自己的接口对java程序进行监控,只要操作系统上运行的操作程序在启动时支持JMX功能,那么就可以通过java程序的JMX接口进行监控。
在zabbix中,JMX监控数据的获取是由专门的代理程序来实现(即zabbix-java-gateway),不是zabbix自己实现的,
对于某个item的数据获取方式:
SNMP监控方式:
操作:get、getnext、set、response、trap
MIB:是可被管理对象的集合,而且还额外定义了被管理对象的名称、访问权限、数据类型等属性
授权:将某MIB视图与某community绑定来实现
OID:object ID
JMX监控方式:
(1)安装zabbix-java-gateway;
配置文件文件:/etc/zabbix_java_gateway.conf
Listen_IP=
Listen_PORT=10052
zabbix server的配置文件:/etc/zabbix/zabbix_server.conf
javaGateWay=
javaGatePort=10052
(2)java应用程序开启JMX接口
java -Dcom.sun.management -Dcom.sun.management.jmxremote.port=10053 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
监控Tomcat
export CATALINA_PORT_OPTS="$CATALINA_OPTS -Dcom.sun.management -Dcom.sun.management.jmxremote.port=10053 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
zabbix实现分布式监控 https://www.zabbix.com/documentation/4.0/zh/manual/distributed_monitoring/proxies
Zabbix的三种架构
server-agent
server-node-agent
server-proxy-agent
在大型环境中zabbix提供两种解决方案
- 使用代理(proxy)
- 使用节点(node)
server-proxy架构
zabbix-proxy示例演示 https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
使用node2节点192.168.128.132当作zabbix-proxy,确保此主机安装了mysql
# yum install zabbix-agent zabbix-proxy zabbix-proxy-mysql //安装软件包
[root@node2 zabbix]# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to zbxuser@'192.168.128.%' identified by '123456';
MariaDB [(none)]> flush privileges;
# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.4/schema.sql.gz | mysql zabbix_proxy
以上数据库配置成功
# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.128.131
Hostname=node2
DBHost=192.168.128.132
DBName=zabbix_proxy
DBUser=zbxuser
DBPassword=123456
DBPort=3306
ConfigFrequency=600 //每隔多少秒到服务器上拉去与本机相关的得配置
# systemctl start zabbix-proxy
创建zabbix-proxy
zabbix database需要用到的空间:
60000/60 = 1000条
历史数据:天数 X 每秒钟处理得数据量 X 24小时 X 3600秒 X 50Bytes(每条数据的大小)
(90 X 1000 X 86400 X 50Bytes)/1024(得到K)/1024(得到M)/1024(得到G) = 362.098 //这是保存3个月的历史数据
趋势数据:
每一个趋势数据128Bytes
大小=天数 X 监控项 X 24 X 128Bytes
事件数据:
每个时间数据占据130Bytes
大小 = 天数 X 86400(每天的秒数) X 130(假设每秒产生一个事件)