Zabbix分布式部署詳細


Zabbix分布式部署詳細

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 
  • 1

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://blog.csdn.net/a13568hki/article/details/106627315?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM