zabbix4.2Proxy安裝文檔
目錄
3、安裝zabbix組件(zabbix-proxy、zabbix-agent) 4
4.3安裝完成后啟動服務,並將mysql服務設置為開機啟動。 8
一、安裝
1、前期安裝准備
前期准備一個大一點的分區准備用於zabbix 數據庫的存放,為方便后期擴容,我們在這里選擇新加一個磁盤並以LVM的方式進行掛載(此處省略虛擬機添加硬盤等操作)
# df -h,看到新盤已經掛載到VAR/LIB/MYSQL目錄了
替換yum源
剛安裝好的Centos自帶的yum源是無法使用的,要替換成國內的YUM源
# mv /etc/yum.repos.d/ /etc/yum.repos.d.bak \\備份自帶的yum源
# mkdir /etc/yum.repos.d \\創建新的yum源存放目錄
# cd /etc/yum.repos.d \\切換到新的yum源存放目 錄下
# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo\\下載Centos7的Yum源
# ls \\查看是否下載成功
當前Server端IP192.168.6.66,Porxy端IP為192.168.6.67,Server端需要開放10051端口,未開放iptables使用命令
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
2、安裝zabbix RPM源
2.1下載zabbix RPM源包
# wget https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
# ls
2.2安裝zabbix RPM源包
# rpm -i zabbix-release-4.2-2.el7.noarch.rpm
安裝時會出現告警,原因是因為GPG Keys版本不對,解決方法如下
(參考文檔 :https://www.cnblogs.com/tijun/p/8651709.html)
# rpm --import /etc/pki/rpm-gpg/RPM* \\導入新密鑰
# rpm -e zabbix-release \\卸載剛才裝的zabbix RPM源
# rpm -qa|grep zabbix \\查詢是否已經卸載
# rpm -i zabbix-release-4.2-2.el7.noarch.rpm \\再安裝上就沒有警告了,並且安裝成功
3、安裝zabbix組件(zabbix-proxy、zabbix-agent)
# yum install zabbix-proxy-mysql.x86_64 zabbix-agent.x86_64
因顯示數目過多,中間省略一部分
4、安裝mysql數據庫,導入zabbix數據庫
4.1安裝mysql數據庫
我們的系統中沒有安裝MYSQL,需要先安裝一個MYSQL(ZABBIX官方默認已安裝)
4.1.1下載mysql repo源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
4.1.2安裝mysql repo源
# rpm -i mysql-community-release-el7-5.noarch.rpm
4.2安裝mysql-server
# yum install mysql-server
4.3安裝完成后啟動服務,並將mysql服務設置為開機啟動。
# systemctl start mysqld
# systemctl enable mysqld
# systemctl status mysqld
4.4初始化mysql
# mysql_secure_installation
4.5創建zabbix數據庫,並授權
#mysql -u root -p \\使用root用戶登錄mysql數據庫
Enter password: P@ssw0rd \\輸入密碼
Mysql >create database zabbix_proxy character set utf8 collate utf8_bin;
Mysql > grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
(賦予來自localhost的zabbix用戶對zabbix_proxy數據庫的所有表擁有所有操作的所有權限,並設定密碼為zabbix。如grant all privileges on A.* to B@C identified by 'D';的意思即為賦予來自C主機的B用戶對A數據庫的所有表=*擁有所有操作的所有權限=all,並設定密碼為D)
# quit
4.6導入zabbix數據庫
將zabbix制作好的數據庫導入mysql數據庫中
# zcat /usr/share/doc/zabbix-proxy-mysql-4.2.6/schema.sql.gz |mysql -u zabbix -p zabbix_proxy
# mysql -u zabbix -p
Enter password: zabbix 輸入zabbix密碼
mysql>use zabbix; \\切換到zabbix數據庫
mysql>show tables;
此時數據庫已經配置完成了
5、配置zabbix
5.1配置zabbix配置文件
# vim /etc/zabbix/zabbix_proxy.conf
修改以下內容
Server=192.168.6.66 #服務端
Hostname=Zabbix_proxy #proxy的hostname,在web端網頁配置時需要用到
DBName=zabbix_proxy #數據庫名稱,創建zabbix-proxy的mysql的數據庫名稱
DBPassword=zabbix #與數據庫對應的密碼
保存退出
5.2啟動服務
# systemctl start zabbix-proxy.service
5.3排錯
首先我們查看當前selinux級別
# getenforce \\查看當前selinux級別
我們將selinux臨時修改為permissive,方便拍錯
# setenforce 0 \\修改目前selinux級別為permissive
# getenforce \\查看當前selinux級別
# systemctl restart zabbix-proxy.service \\再次啟動zabbix-server服務,查看是否是 selinix的影響
這里可以得知是selinix影響了zabbix-proxy服務的啟動
參考文檔 https://blog.csdn.net/lpc1162303536/article/details/98315658
那么我們查看selinux的日志
# tail -n 1 /var/log/messages \\查看系統日志的最后一行,如果沒找到就多看幾行修改n后的數字
按照selinux提供的建議我們執行以下2個命令
# ausearch -c 'zabbix_proxy' --raw | audit2allow -M my-zabbixproxy
# semodule -i my-zabbixproxy.pp
我們再重啟zabbix-server
# systemctl restart zabbix-proxy.service
將Selinux改成enforcing模式
啟動服務
# systemctl restart zabbix-proxy
# systemctl start zabbix-agent
# systemctl enable zabbix-proxy.service zabbix-agent.service
二、web端配置zabbix代理
1、web配置zabbix代理
登錄zabbix
在瀏覽器輸入host IP/zabbix
2、排錯
這時配置已經完全完成但還是連不上
先考慮是否是selinux的問題
現將selinux設置為pervissive
# setenforce 0
# getenforce
重啟服務
# systemctl restart zabbix-proxy.service
再次刷新網頁
Server與Porxy通信已經正常。
我們看看selinux的日志記錄
tail -n 5 /var/log/messages
按照selinux提供的建議我們執行以下2個命令
# ausearch -c 'zabbix_proxy' --raw | audit2allow -M my-zabbixproxy
# semodule -i my-zabbixproxy.pp
重啟服務
# systemctl restart zabbix-proxy.service zabbix-agent.service
將selinux還原
# setenforce 1
# getenforce
再次重啟服務
# systemctl restart zabbix-proxy.service zabbix-agent.service
重新登錄web