Zabbix分布式部署详细

导读:本篇文章讲解 Zabbix分布式部署详细,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法

zabbix proxy 使用场景:

监控远程区域设备

监控本地网络不稳定区域

当 zabbix 监控上千设备时,使用它来减轻 server 的压力

简化分布式监控的维护
在这里插入图片描述

环境准备

节点主机名 IP地址 备注
node1 10.0.0.41 Zabbix server服务器
node2 10.0.0.42 Zabbix poxy代理服务器
node3 10.0.0.43 模拟poxy所监控的服务器node3

首先安装Zabbix官方源和epel源

yum -y install epel-release.noarch
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

一、部署Zabbix-Proxy

1、安装Zabbix-proxy等组件

[root@ node2 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb mariadb-server zabbix-agent

2、简单优化mariadb

[root@ node1 ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
character-set-server=utf8               #设置字符集为utf8
innodb_file_per_table=1                #设置innodb的每个表文件单独存储
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
.......
[root@ node1 ~]# systemctl start mariadb                   #设为开机启动
[root@ node1 ~]# systemctl enable mariadb               #开启MariaDB数据

3、设置数据库相关项

[root@ node1 ~]# mysql -u root -p
MariaDB [(none)]> create database zabbixproxydb character set utf8 collate utf8_bin;
#创建数据库且字符集为utf8,使web界面显示中文不出现乱码
MariaDB [(none)]> grant all privileges on zabbixproxydb.* to proxy@'localhost' identified by '123456';
#创建zabbixproxydb数据库和proxy用户,且赋予此用户拥有此数据库全部权限。
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> q\;

4、导入数据库相关表

zcat /usr/share/doc/zabbix-proxy-mysql-*/schema.sql.gz | mysql -uroot -p zabbixproxy   #将模板数据恢复至zabbixproxydb数据
mysql -u proxy -p123456 zabbixproxydb -e "show tables" #查看数据是否导入

5、主要配置zabbix_proxy.conf项以下几个

[root@ node2 ~]# vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0        # 默认即为0,代表 Proxy 处于主动模式,即 Proxy 主动去请求 Zabbix Server 获取监控项;1 代表被动模式
Server=10.0.0.41		#改成service端ip需要向service发送数据
ServerPort=10051                            # 默认即为10051,Zabbix Server 监听端口,同上只在 Proxy 为主动模式时生效
Hostname=node2                       # Server端添加proxy的时候需要一致,建议采用主机名
LogFile=/var/log/zabbix/zabbix_proxy.log	# Proxy 日志文件位置
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBHost=localhost               		# 连接数据库的主机
DBName=zabbixproxydb			# 数据库名
DBUser=proxy				# 连接用户
DBPassword=123456           		# 用户密码
ConfigFrequency=60  # proxy主动从server端检索配置更新的频率,单位秒,主动proxy 参数, 被动 proxies忽略此项
DataSenderFrequency=60                      # Proxy 向 Zabbix Server 发送监控数据间隔,单位为秒
Timeout=4

6、Proxy自身agent配置

[root@ node2 ~]# vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.42		#若为纯主动模式需要注释此行
ServerActive=10.0.0.42			#主动模式,数据通过proxy代理向Server传送数据
Hostname=node2			#zabbix server web上添加自身需要用到

7、zabbix-proxy启动及开机启动

[root@ node2 ~]# systemctl start zabbix-proxy.service
[root@ node2 ~]# systemctl enable zabbix-proxy.service
[root@ node2 ~]# systemctl start zabbix-agent.service
[root@ node2 ~]# systemctl enable zabbix-agent.service

二、部署Zabbix-Server

1、安装Zabbix Server等组件

yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent mariadb mariadb-server

2、简单优化mariadb

[root@ node1 ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
character-set-server=utf8               #设置字符集为utf8
innodb_file_per_table=1                #设置innodb的每个表文件单独存储
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
.......
[root@ node1 ~]# systemctl start mariadb                   #设为开机启动
[root@ node1 ~]# systemctl enable mariadb               #开启MariaDB数据

3、设置数据库相关项

[root@ node1 ~]# mysql -u root -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#创建数据库且字符集为utf8,使web界面显示中文不出现乱码
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
#创建zabbix数据库和Zabbix用户,且赋予此用户拥有此数据库全部权限。
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> q\;

4、导入数据库相关表

zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz |mysql -uroot -p zabbix   #将模板数据恢复至Zabbix数据
mysql -u zabbix -p123456 zabbix -e "show tables" #查看数据是否导入

5、主要配置Zabbix_server.conf项一下几个

[root@ node1 ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost					#mysql所在地
DBName=zabbix                     #数据库名
DBUser=zabbix						#数据库用户zabbix
DBPassword=123456            #修改DB密码(之前所创建密码)
LogSlowQueries=3000          #多慢的数据库查询将会被记录,单位:毫秒,0表示不记录慢查询

6、启动Zabbix服务

[root@ node1 ~]# systemctl enable zabbix-server		#设为开机启动Zabbix服务
[root@ node1 ~]# systemctl start zabbix-server		#启动Zabbix服务
[root@ node1 ~]# systemctl start zabbix-agent		#需要监控自己,因此也开启agent
[root@ node1 ~]# systemctl enable zabbix-agent		#启动Zabbix服务

7、配置php

[root@ node1 ~]# vi /etc/php.ini
date.timezone= Asia/Shanghai   #主要改这一行
[root@ node1 ~]# vim /etc/httpd/conf.d/zabbix.conf
<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Require all granted

    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai        #主要改这一行
    </IfModule>
</Directory>

8、启动Apache服务

[root@ node1 ~]# systemctl start httpd.service
[root@ node1 ~]# systemctl enable httpd.service

9、Web界面配置
在这里插入图片描述
Proxy name : 输入代理名称,它必须与代理配置文件中的Hostname参数中的名称相同。
Proxy mode : 选择代理模式。
Proxy address : 添加的代理主机IP地址。
Description: 输入代理描述。
在这里插入图片描述
在这里插入图片描述

三、 部署Zabbix Agent节点

1、安装Zabbix Agent等组件

yum -y install zabbix-agent

2、node3节点agent配置

[root@ node3 ~]# vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.42		#若为纯主动模式需要注释此行
ServerActive=10.0.0.42			#主动模式,数据通过proxy代理向Server传送数据
Hostname=node2			#zabbix server web上添加自身需要用到

3、 启动Zabbix服务

[root@ node3 ~]# systemctl start zabbix-agent
[root@ node3 ~]# systemctl enable zabbix-agent

四、修改模板监控模式

配置—->模板—->Template OS Linux—->全克隆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.2 Linux系统模板—->监控项—->全选—->批量更新—->类型—->zabbix客户端(主动式)—->更新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.3 Linux系统模板—->自动发现规则,需要将两个发现规则均改为主动式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、添加node3节点

为了方便管理,可新建node2代理的主机组。
在这里插入图片描述
配置—->主机
在这里插入图片描述
为主机选择相应的模板—->添加
在这里插入图片描述
效果
在这里插入图片描述
在这里插入图片描述
手动添加的监控项也可改成主动式
在这里插入图片描述
添加图形
在这里插入图片描述
查看效果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/75809.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!