Zabbix分布式部署
目录
- 一 分布式Zabbix介绍
- 二 分布式Zabbix架构
- 2.1 架构示意图
- 2.2 环境准备
- 2.3 工作模式
- 2.4 模式配置
- 三 部署Zabbix-Proxy
- 3.1 安装Zabbix官方源和epel源
- 3.2 安装Zabbix-proxy等组件
- 3.3 简单优化MariaDB
- 3.4 设置数据库相关项
- 3.5 导入数据库相关表
- 3.6 配置zabbix_proxy.conf项
- 3.7 Proxy自身agent配置
- 3.8 zabbix启动级开机启动
- 四 部署Zabbix-Server
- 4.1 安装Zabbix官方源和epel源
- 4.2 安装Zabbix Server等组件
- 4.3 简单优化MariaDB
- 4.4 设置数据库相关项
- 4.5 导入数据库相关表
- 4.6 配置Zabbix_server.conf项
- 4.7 Server自身agent配置
- 4.8 启动Zabbix服务
- 4.8 配置php
- 4.9 启动Apache服务
- 4.10 Web界面配置
- 4.11 Server端添加Proxy
- 五 部署Zabbix Agent节点
- 5.1 安装Zabbix官方源和epel源
- 5.2 安装Zabbix Agent等组件
- 5.3 node节点agent配置
- 5.4 启动Zabbix服务
- 六 添加主机
- 6.1 修改模板监控模式
- 6.2 添加Server自身
- 6.3 添加Proxy节点
- 6.3 添加node节点
- 七 确认验证
- 7.1 查看log
- 7.2 主机图形确认
一 分布式Zabbix介绍
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
二 分布式Zabbix架构
2.1 架构示意图
2.2 环境准备
节点主机名
|
IP地址
|
备注
|
zabbixserver
|
172.24.8.71/24
|
Zabbix服务器
|
zabbixpoxy01
|
172.24.8.72/24
|
Zabbix poxy代理服务器1
|
zabbixpoxy02
|
172.24.8.73/24
|
Zabbix poxy代理服务器2
|
node01
|
172.24.8.74/24
|
模拟poxy1所监控的服务器node01
|
node02
|
172.24.8.75/24
|
模拟poxy2所监控的服务器node02
|
1 # systemctl stop firewalld2 # systemctl disable firewalld3 # setenforce 04 # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config5 # vi /etc/hosts #添加在server和proxy节点添加以下主机名配置6 172.24.8.71 zabbixserver7 172.24.8.72 zabbixpoxy018 172.24.8.73 zabbixpoxy02
2.3 工作模式
- 被动模式
- 被动模式的流程
- Server打开一个TCP连接。
- Server发送一个key为agent.ping\n。
- Agent接收到这个请求,然后响应数据<HEADER><DATALEN>1.
- Server对接收到的数据进行处理。
- TCP连接关闭。
- 主动模式
- 主动模式的流程
- Agent向Server建立一个TCP的连接。
- Agent请求需要检测的数据列表。
- Server响应Agent,发送一个Items列表(item key、delay)。
- Agent响应请求。
- TCP连接完成本次会话后关闭。
- Agent开始周期性的收集数据。
2.4 模式配置
1 Server=172.24.8.71 #被动模式下的Zabbix服务端地址2 ListenPort=100503 ServerActive=172.24.8.71 #主动模式下的Zabbix服务端地址,若纯被动模式可注释此行
1 Server=127.0.0.1,172.24.8.71 #被动模式下的Zabbix服务端地址,若纯主动模式可注释此行2 StartAgents=03 ServerActive=172.24.8.71 #主动模式下的Zabbix服务端地址
三 部署Zabbix-Proxy
3.1 安装Zabbix官方源和epel源
1 [root@proxy01 ~]# yum -y install epel-release.noarch2 [root@proxy01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
3.2 安装Zabbix-proxy等组件
1 [root@proxy01 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb mariadb-server zabbix-agent
3.3 简单优化MariaDB
1 [root@proxy01 ~]# vi /etc/my.cnf2 [mysqld]3 datadir=/var/lib/mysql4 socket=/var/lib/mysql/mysql.sock5 symbolic-links=06 character-set-server=utf8 #设置字符集为utf87 innodb_file_per_table=1 #设置innodb的每个表文件单独存储8 [mysqld_safe]9 log-error=/var/log/mariadb/mariadb.log10 pid-file=/var/run/mariadb/mariadb.pid11 ……12 [root@proxy01 ~]# systemctl enable mariadb #设为开机启动13 [root@proxy01 ~]# systemctl start mariadb #开启MariaDB数据
3.4 设置数据库相关项
1 [root@proxy01 ~]# mysql_secure_installation #设置安全性,并设置数据库root密码2 [root@proxy01 ~]# mysql -u root -p3 MariaDB [(none)]> create database zabbixproxydb character set utf8 collate utf8_bin;
#创建数据库且字符集为utf8,使web界面显示中文不出现乱码4 MariaDB [(none)]> grant all privileges on zabbixproxydb.* to proxy@'localhost' identified by 'x120952576';
#创建zabbixproxydb数据库和proxy用户,且赋予此用户拥有此数据库全部权限。5 MariaDB [(none)]> flush privileges;6 MariaDB [(none)]> exit;
3.5 导入数据库相关表
1 [root@proxy01 ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.0/ #进入数据库模板所在目录2 [root@proxy01 zabbix-proxy-mysql-4.0.0]# ls3 AUTHORS ChangeLog COPYING NEWS README schema.sql.gz4 [root@proxy01 zabbix-proxy-mysql-4.0.0]# zcat schema.sql.gz | mysql -uroot -p zabbixproxydb
#将模板数据恢复至Zabbix数据库,此处为需要输入MariaDB的root用户密码。5 Enter password:6 [root@proxy01 ~]# mysql -u proxy -p #用proxy用户登录
1 MariaDB [(none)]> show databases;2 MariaDB [(none)]> use zabbixproxydb;3 MariaDB [zabbixproxydb]> show tables; #查看数据表4 MariaDB [zabbixproxydb]> exit
3.6 配置zabbix_proxy.conf项
1 [root@proxy01 ~]# vi /etc/zabbix/zabbix_proxy.conf2 ProxyMode=0 # 默认即为0,代表 Proxy 处于主动模式,即 Proxy 主动去请求 Zabbix Server 获取监控项;1 代表被动模式5 Server=127.0.0.1,172.24.8.71 #若为纯主动模式需要注释此行6 ServerActive=172.24.8.71 #主动模式,Proxy主动向Server传送数据7 ServerPort=10051 # 默认即为10051,Zabbix Server 监听端口,同上只在 Proxy 为主动模式时生效9 10 Hostname=zabbixpoxy01 # Server端添加proxy的时候需要一致,建议采用主机名12 LogFile=/var/log/zabbix/zabbix_proxy.log # Proxy 日志文件位置13 LogFileSize=014 PidFile=/var/run/zabbix/zabbix_proxy.pid15 DBHost=localhost # 连接数据库的主机16 DBName=zabbixproxydb # 数据库名17 DBUser=proxy # 连接用户18 DBPassword=x120952576 # 用户密码19 ConfigFrequency=60 # proxy主动从server端检索配置更新的频率,单位秒,主动proxy 参数, 被动 proxies忽略此项21 DataSenderFrequency=60 # Proxy 向 Zabbix Server 发送监控数据间隔,单位为秒23 Timeout=4
3.7 Proxy自身agent配置
1 [root@imxhy02 ~]# vi /etc/zabbix/zabbix_agentd.conf2 PidFile=/var/run/zabbix/zabbix_agentd.pid3 LogFile=/var/log/zabbix/zabbix_agentd.log4 LogFileSize=05 Server=127.0.0.1,172.24.8.71 #若为纯主动模式需要注释此行6 ServerActive=172.24.8.71 #主动模式,proxy自身主Server传送数据7 Hostname=zabbixserver #zabbix server web上添加自身需要用到
3.8 zabbix启动级开机启动
1 [root@proxy01 ~]# systemctl start zabbix-proxy.service2 [root@proxy01 ~]# systemctl enable zabbix-proxy.service3 [root@proxy01 ~]# systemctl start zabbix-agent.service4 [root@proxy01 ~]# systemctl enable zabbix-agent.service
四 部署Zabbix-Server
4.1 安装Zabbix官方源和epel源
1 [root@server ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm2 [root@server ~]# ls /etc/yum.repos.d/ #查看Zabbix源是否安装成功3 epel.repo epel-testing.repo zabbix.repo
4.2 安装Zabbix Server等组件
1 [root@server ~]# yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent mariadb mariadb-server
4.3 简单优化MariaDB
1 [root@server ~]# vi /etc/my.cnf2 [mysqld]3 datadir=/var/lib/mysql4 socket=/var/lib/mysql/mysql.sock5 symbolic-links=06 character-set-server=utf8 #设置字符集为utf87 innodb_file_per_table=1 #设置innodb的每个表文件单独存储8 [mysqld_safe]9 log-error=/var/log/mariadb/mariadb.log10 pid-file=/var/run/mariadb/mariadb.pid11 ……12 [root@server ~]# systemctl enable mariadb #设为开机启动13 [root@server ~]# systemctl start mariadb #开启MariaDB数据
4.4 设置数据库相关项
1 [root@server ~]# mysql_secure_installation #设置安全性,并设置数据库root密码2 [root@server ~]# mysql -u root -p3 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;4 #创建数据库且字符集为utf8,使web界面显示中文不出现乱码5 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'x120952576';6 #创建zabbix数据库和Zabbix用户,且赋予此用户拥有此数据库全部权限。7 MariaDB [(none)]> flush privileges;8 MariaDB [(none)]> exit;
4.5 导入数据库相关表
1 [root@server ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.0/ #进入数据库模板所在目录2 [root@server zabbix-server-mysql-4.0.0]# ls3 AUTHORS ChangeLog COPYING create.sql.gz NEWS README4 [root@server zabbix-server-mysql-4.0.0]# zcat create.sql.gz | mysql -uroot -p zabbix #将模板数据恢复至Zabbix数据库
1 [root@server ~]# mysql -u zabbix -px120952576 zabbix -e "show tables" #查看数据表项
4.6 配置Zabbix_server.conf项
1 [root@server ~]# vi /etc/zabbix/zabbix_server.conf2 LogFile=/var/log/zabbix/zabbix_server.log3 LogFileSize=04 PidFile=/var/run/zabbix/zabbix_server.pid5 DBHost=localhost #修改主机6 DBName=zabbix7 DBUser=zabbix8 DBPassword=x120952576 #修改DB密码(之前所创建密码)9 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log10 Timeout=411 AlertScriptsPath=/usr/lib/zabbix/alertscripts12 ExternalScripts=/usr/lib/zabbix/externalscripts13 LogSlowQueries=3000
4.7 Server自身agent配置
1 [root@server ~]# vi /etc/zabbix/zabbix_agentd.conf2 PidFile=/var/run/zabbix/zabbix_agentd.pid3 LogFile=/var/log/zabbix/zabbix_agentd.log4 LogFileSize=05 Server=127.0.0.1,172.24.8.71 #若为纯主动模式需要注释此行6 ServerActive=172.24.8.71 #主动模式,Server自身主动向自己传送数据7 Hostname=zabbixserver #zabbix server web上添加自身需要用到
4.8 启动Zabbix服务
1 [root@server ~]# systemctl enable zabbix-server #设为开机启动Zabbix服务2 [root@server ~]# systemctl start zabbix-server #启动Zabbix服务3 [root@server ~]# systemctl start zabbix-agent #需要监控自己,因此也开启agent4 [root@server ~]# systemctl enable zabbix-agent #启动Zabbix服务
4.8 配置php
1 [root@server ~]# vi /etc/php.ini2 date.timezone= Asia/Shanghai3 max_execution_time = 3004 post_max_size = 16M5 memory_limit = 128M6 [root@server ~]# vi /etc/httpd/conf.d/zabbix.conf7 Alias /zabbix /usr/share/zabbix8 <Directory "/usr/share/zabbix">9 Options FollowSymLinks10 AllowOverride None11 Require all granted12 <IfModule mod_php5.c>13 php_value max_execution_time 30014 php_value memory_limit 128M15 php_value post_max_size 16M16 php_value upload_max_filesize 2M17 php_value max_input_time 30018 php_value max_input_vars 1000019 php_value always_populate_raw_post_data -120 php_value date.timezone Europe/Riga21 </IfModule>22 </Directory>
4.9 启动Apache服务
1 [root@server ~]# systemctl start httpd.service2 [root@server ~]# systemctl enable httpd.service
4.10 Web界面配置
4.11 Server端添加Proxy
五 部署Zabbix Agent节点
5.1 安装Zabbix官方源和epel源
1 [root@node01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm2 [root@node01 ~]# ls /etc/yum.repos.d/ #查看Zabbix源是否安装成功3 epel.repo epel-testing.repo zabbix.repo
5.2 安装Zabbix Agent等组件
1 [root@node01 ~]# yum -y install zabbix-agent
5.3 node节点agent配置
1 [root@server ~]# vi /etc/zabbix/zabbix_agentd.conf2 PidFile=/var/run/zabbix/zabbix_agentd.pid3 LogFile=/var/log/zabbix/zabbix_agentd.log4 LogFileSize=05 Server=127.0.0.1,172.24.8.72 #若为纯主动模式需要注释此行6 ServerActive=172.24.8.72 #主动模式,node01向proxy01主动传送数据7 Hostname=node01 #Zabbix server web上添加node需要用到
5.4 启动Zabbix服务
1 [root@node01 ~]# systemctl start zabbix-agent2 [root@node01 ~]# systemctl enable zabbix-agent #启动Zabbix agent服务
六 添加主机
6.1 修改模板监控模式
6.2 添加Server自身
6.3 添加Proxy节点
配置项
|
描述
|
主机名(Host name)
|
输入在agent配置文件中配置的主机名,
必须唯一且不重复且和host定义的Host name名称一致。
|
访问名(Visible name)
|
在主机列表、图表等地方显示的名字,需要utf-8支持。
|
群组(Groups in groups)
|
选择主机所属的群组,一个主机必须属于至少一个主机组。
|
新主机组(New group)
|
自动创建一个新的群组,并加入此群组。
|
接口协议
|
Zabbix支持的协议有:Agent、SNMP、JMX和IPMI,选择对应的即可。
|
IP地址(IP address)
|
需要监控的主机的IP地址
|
DNS名称(DNS name)
|
需要监控主机的DNS能够解析的名称
|
与agent的通信方式(Connect to)
|
连接要监控主机的IP地址/要监控主机能解析的DNS名称
|
端口(Port)
|
TCP协议的端口,Zabbix客户端使用的默认为10050
|
代理监控(Monitored by proxy)
|
可以通过Zabbix服务器或者Zabbix的一个代理去监控客户端
|
6.3 添加node节点
七 确认验证
7.1 查看log
7.2 主机图形确认
作者:木二
出处:http://www.cnblogs.com/itzgr/
关于作者:云计算、虚拟化,Linux,多多交流!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!如有其他问题,可邮件(xhy@itzgr.com)咨询。
Zabbix分布式部署相关推荐
- Zabbix监控和分布式部署实施方案
最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...
- 分布式部署Zabbix监控平台
Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...
- zabbix分布式监控部署proxy安装
之前写过一篇源码安装zabbix2.2.9版本,server端安装文档: http://mofansheng.blog.51cto.com/8792265/1679728 下面分享一下zabbix分布 ...
- (7)Zabbix分布式监控proxy实现
分布式监控概述 分布式监控,主要用在与机房分布在多个城市,在各地机房部署zabbix proxy服务器,由zabbix proxy服务器收集各个机房的agent数据,然后将这些数据主动或被动发送到za ...
- zabbix——分布式监控系统
目录 zabbix概述 zabbix 是什么 zabbix 监控原理 zabbix常见的五个程序 zabbix端口号 安装 zabbix 5.0 部署 zabbix 服务端 部署 zabbix 客户端 ...
- Zabbix+分布式数据库TiDB实现分布式数据库监控
Zabbix+分布式数据库TiDB实现分布式数据库监控 一.Tidb的简介 1.什么是TiDB 2.TiDB 整体架构 2.主要模块简介 1) TiDB Server 2) PD Server 3) ...
- zabbix迁移部署注意事项
记一次zabbix迁移,zabbix迁移需要注意的事项.如果在之前就做好准备的话,迁移动作是十分简单的.在首次部署的时候就应该考虑到后期的迁移.备份以及系统版本升级的动作,这些改动都会涉及到整个架构问 ...
- zabbix监控部署
zabbix zabbix概念 对于运维人员来说,监控是非常重要的,想要保证线上业务整体能够稳定运行,那么我们就需要实时关注与其相关的各项指标是否正常.一个业务系统背后,往往存在着很多服务器.网络 ...
- Zabbix分布式监控平台
一 zabbix 1 zabbix是什么 1:zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. 2:zabbix能监视各种网络参数,保证服务器系统的安全运营 ...
最新文章
- Python type hints 之 Optional,Union
- Spring Cloud Alibaba到底坑不坑?
- python中字典统计成绩合_Python统计字典中的项
- react router路径的匹配原则
- 进一步考察与UI相关的安全漏洞-上
- OCR算法:CNN+BLSTM+CTC架构(VS15)
- 前端项目里常见的十种报错及其解决办法
- js更新数组对象_7 种Vue 数据已更新而页面没有更新的情况及深化总结(收藏)
- K线理论--单根K线形态
- Qt4_简单的图表编辑器
- 用机器学习拯救“智障”聊天机器人,谷歌开放分析平台Chatbase
- Git pull(拉取),push(上传)命令整理
- 鹰式价差matlab,期权的价差(2):比例价差、圣诞树型价差
- 实证研究的步骤_本科生毕业论文设计可以用到的研究方法有哪些
- 腰围尺寸2尺1、2、3、4、5、6、7、8寸分别等于是多少厘米/英寸(对照参考表)
- wordpress最佳架构_动物和宠物的24个最佳WordPress主题
- 张氏华孙公 福建省上杭县张氏第一代开基祖宗
- 微信小程序车辆登记+后台管理系统
- 联想笔记本键盘亮屏幕不亮_联想笔记本电脑开机键亮但是黑屏 联想笔记本电脑键盘失灵怎么办...
- js中的call和play