zabbix分布式监控

1、架构

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求.


zabbix-proxy模式

2、代理服务器

(1)安装数据库
[root@zabbix-proxy21 ~]# yum -y install mariadb-servera#安装数据库
[root@zabbix-proxy21 ~]# vim /etc/my.cnf
[mysqld]
.........
innodb_file_per_table = ON
skip_name_resolve = ON
..........
[root@zabbix-proxy21 ~]# systemctl start mariadb启动
(2)安装代理安装包
wget https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/{zabbix-get-3.0.2-1.el7.x86_64.rpm,zabbix-proxy-mysql-3.0.2-1.el7.x86_64.rpm,zabbix-agent-3.0.2-1.el7.x86_64.rpm}  #下载安装包

[root@zabbix-proxy21 ~]# yum -y install *.rpm   #安装程序包
[root@zabbix-proxy21 ~]# grep "^####" /etc/zabbix/zabbix_proxy.conf   #查询配置文件
############ GENERAL PARAMETERS #################
######### PROXY SPECIFIC PARAMETERS #############
############ ADVANCED PARAMETERS ################
####### LOADABLE MODULES #######
####### TLS-RELATED PARAMETERS #######

(3)配置

[root@zabbix-proxy21 ~]# rpm -ql zabbix-proxy-mysql
.....
/usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz  #数据库生成脚本
......
[root@zabbix-proxy21 ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz  /root
 [root@zabbix-proxy21 ~]# gzip -d schema.sql.gz  #解压缩脚本
[root@zabbix-proxy21 ~]# mysql #连接数据库
MariaDB [(none)]> CREATE DATABASE zabbix_proxy CHARSET 'utf8';  #生成数据库
MariaDB [(none)]> GRANT ALL ON zabbix_proxy.* TO 'zbxproxy'@'192.168.%.%' IDENTIFIED BY 'zbxpass';  #数据库远程授权
MariaDB [(none)]> GRANT ALL ON zabbix_proxy.* TO 'zbxproxy'@'127.0.0.1' IDENTIFIED BY 'zbxpass'; #数据库本地授权
MariaDB [(none)]> FLUSH PRIVILEGES;#刷新

[root@zabbix-proxy21 ~]# mysql -uzbxproxy -h192.168.1.21 -pzbxpass zabbix_proxy  < schema.sql  #执行导入脚本
[root@zabbix-proxy21 ~]# mysql -uzbxproxy -h192.168.1.21 -pzbxpass #查看生成相关表
MariaDB [zabbix_proxy]> SHOW TABLES;

[root@zabbix-proxy21 ~]# vim /etc/zabbix/zabbix_proxy.conf #编辑配置文件
Server=192.168.1.12监控主机ip地址,不是本机地址
Hostname=zabbix-proxy21主机名

DBHost=192.168.1.21数据库地址(本机ip)
DBName=zabbix_proxy数据库名
DBUser=zbxproxy数据库用户名
DBPassword=zbxpass数据库密码

HeartbeatFrequency=60心跳检测间隔时间
ConfigFrequency=3600配置推送间隔时间
DataSenderFrequency=1发送数据到主监控服务器时间间隔,默认1秒

[root@zabbix-proxy21 ~]# systemctl start zabbix-proxy  #启动
[root@zabbix-proxy21 ~]# ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port                     
LISTEN      0      128       *:10051                 *:*    
(4)在server端添加此proxy
Administrator----> proxles
创建代理服务器

工作模式:
Active:Proxy主动向server发起配置信息同步请求;
Passive: 由server端向Proxy发送配置信息;

(5)添加hosts时,选择使用指定的proxy进行监控;
添加新被监控主机
选择连接代理监控服务器
生成监控

注意:

(1)在server添加的proxy的名称,要与proxy的配置文件中的Hostname的值保存一致。
(2)通过proxy监控的主机,agent要授权proxy有监控权限;
   server=Proxy_Server_IP

你可能感兴趣的:(zabbix分布式监控)