部署分布式监控
一、分布式介绍
生成环境中,我们为了实现地域容灾,我们会把服务器放在不同的地域,如果一台zabbix server去监控的话,延迟会高,同是一台zabbix server压力也会很大,所以我们的处理方法就是将权利下发,在不同的地域都找一个机器来充当代理,本地的监控工作由代理(proxy)来完成收集工作后交给zabbix server,zabbix serverz在将收到的数据统一整理展示到web。
其实这个例子很简单就是你开了很多分公司,你一个人去管理这些分公司的员工的话,你是管不全面的,所以我们的方法是在每个分公司弄一个负责人,负责人管当地的员工,你管负责人。有问题他们集中向你汇报就好了。这样你就能很顺利的掌控全局了。
二、实验拓扑图
image如上图中显示,我们的实验中只完成南京、北京部分。其实济南就是北京的复制,所以实验效果展示出来就可以了。
三、实验步骤
1)架构安装
zabbix-server(192.168.10.40)的安装方法参考《部署zabbix企业监控平台》一章中的zabbix server安装方法
zabbix-agent(192.168.10.42)的安装方法参考《将业务机器加入到监控中》一章中的zabbix agent安装方法
zabbix-proxy(192.168.10.41)的安装方法如下
# yum -y install mariadb-server
# mkdir /zabbix_proxy_pkg
# wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-proxy-mysql-3.4.10-1.el7.x86_64.rpm -P /zabbix_proxy_pkg
# wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm -P /zabbix_proxy_pkg
# yum -y localinstall /zabbix_proxy_pkg/*
查找数据库文件schema.sql.gz安装路径
# rpm -ql `rpm -qa |grep zabbix-proxy`
/etc/logrotate.d/zabbix-proxy
/etc/zabbix/zabbix_proxy.conf
/usr/lib/systemd/system/zabbix-proxy.service
/usr/lib/tmpfiles.d/zabbix-proxy.conf
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-3.4.10
/usr/share/doc/zabbix-proxy-mysql-3.4.10/AUTHORS
/usr/share/doc/zabbix-proxy-mysql-3.4.10/COPYING
/usr/share/doc/zabbix-proxy-mysql-3.4.10/ChangeLog
/usr/share/doc/zabbix-proxy-mysql-3.4.10/NEWS
/usr/share/doc/zabbix-proxy-mysql-3.4.10/README
/usr/share/doc/zabbix-proxy-mysql-3.4.10/schema.sql.gz
/usr/share/man/man8/zabbix_proxy.8.gz
/var/log/zabbix
/var/run/zabbix
启动MariaDB数据库
# systemctl restart mariadb
去数据库内创建一个zabbix_proxy数据库及对应所有权限的用户zabbix
# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
将zabbix-proxy的数据库文件,导入数据库。
# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.10/schema.sql.gz |mysql -u zabbix -p123456 zabbix_proxy
修改zabbix-proxy配置文件 zabbix_proxy.conf
# sed -i.bak '/^Hostname=/c\Hostname=ayitula\_proxy' /etc/zabbix/zabbix\_proxy.conf
# sed -i.bak '/^\# DBPassword=/a\DBPassword=123456' /etc/zabbix/zabbix\_proxy.conf
# sed -i.bak '/^Server=/c\Server=192.168.10.40' /etc/zabbix/zabbix\_proxy.conf
修改zabbix-proxy配置文件zabbix_agent.conf
# sed -i.bak '/^Server=/c\Server=192.168.10.41' /etc/zabbix/zabbix_agentd.conf
# sed -i.bak '/^ServerActive=/c\ServerActive=192.168.10.41' /etc/zabbix/zabbix_agentd.conf
# sed -i.bak '/^Hostname=/c\Hostname=ayitula_linux_10.41' /etc/zabbix/zabbix_agentd.conf
修改zabbix-agent(192.168.10.42)配置文件zabbix_agent.conf
# sed -i.bak '/^Server=/c\Server=192.168.10.41' /etc/zabbix/zabbix_agentd.conf
# sed -i.bak '/^ServerActive=/c\ServerActive=192.168.10.41' /etc/zabbix/zabbix_agentd.conf
# sed -i.bak '/^Hostname=/c\Hostname=ayitula_linux_10.42' /etc/zabbix/zabbix_agentd.conf
重启服务,生效配置文件
zabbix-server
# systemctl restart zabbix-server
zabbix-proxy
# systemctl restart zabbix-proxy
# systemctl restart zabbix-agent
zabbix-agent
# systemctl restart zabbix-agent
四、通过WEB页面设置
实验目的:通过自动注册服务将zabbix-proxy zabbix-agent添加到监控列表,并实现监控
image 点击 管理--->agent代理程序 image 给代理程序起个名字,和你的zabbix_proxy.conf中的Hostname最好一致,点击添加。建议将所有服务按照以下流程全部重启一次
1) zabbix_server
2) zabbix_proxy
3) zabbix_agent
image
点击 配置--->主机 查看是否自动添加好了机器。上图提示,已经自动添加好了
ayitula_linux_10_41(bj.ayitula.com/192.168.10.41)
ayitula_linux_10_42(bj.agent.ayitula.com/192.168.10.42)
image
查看其中一个机器的流量图,出图了。
😆,世界变得如此美好。
网友评论