一、系統環境
3台linux機器(centos7)
zabbix sever 10.10.8.131
zabbix proxy 10.10.8.132
zabbix agent 10.10.8.133
關閉防火牆
systemctl disable firewalld
systemctl stop firewalld
關閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
二、安裝zabbix組件
1、添加zabbix軟件倉庫
RHEL7:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2、前端安裝的先決條件
Zabbix 前端需要額外的基礎安裝包。 您需要在運行 Zabbix 前端的系統中啟用可選 rpms 的軟件倉庫:
RHEL 7:
安裝yum-utils
yum -y install yum-utils
# yum-config-manager --enable rhel-7-server-optional-rpms
安裝提示:
Loaded plugins: fastestmirror
可以忽略,或者修改/etc/yum.conf,plugins=1//改為0,不使用插件
3、安裝 SERVER/PROXY/前端
3.1安裝 Zabbix server(適用於 RHEL7,在 RHEL 6 上棄用)並使用 MySQL 數據庫:
# yum install zabbix-server-mysql
3.2安裝 Zabbix proxy 並使用 MySQL 數據庫:
# yum install zabbix-proxy-mysql
3.3安裝 Zabbix 前端(適用於 RHEL 7,在 RHEL 6 上棄用)並使用 MySQL 數據庫:
# yum install zabbix-web-mysql
3.4 Server/Proxy安裝數據庫(mariadb)
# yum -y install mariadb-server
啟動 # systemctl start mariadb
開機啟動項systemctl enable mariadb
4、創建數據庫
對於 Zabbix server 和 proxy 守護進程而言,數據庫是必須的。而運行 Zabbix agent 是不需要的。
Warning: 如果 Zabbix server 和 Zabbix proxy 安裝在相同的主機,它們必須創建不同名字的數據庫!
MYSQL
shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
5、導入數據
使用 MySQL 來導入 Zabbix server 的初始數據庫 schema 和數據,
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
系統將提示您輸入新創建的數據庫密碼。
使用 PostgreSQL:
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u <username> psql zabbix
對於 Zabbix proxy,導入初始的數據庫 schema:
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
對於使用 PostgreSQL(或 SQLite)的 Zabbix proxy:
# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u <username> psql zabbix
# zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db
驗證:
#mysql -u zabbix -p
use zabbix;
show tables;
144 rows in set (0.01 sec)
exit
6、為 ZABBIX SERVER/PROXY 配置數據庫
編輯 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已創建的數據庫。例如:
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
在 DBPassword 參數中輸入由 MySQL 或 PosgreSQL 創建的 Zabbix 數據庫密碼。
在 PostgreSQL 使用 DBHost=。 您可能希望保留默認設置 DBHost=localhost(或 IP 地址),但這會使 PostgreSQL 使用網絡套接字連接到 Zabbix。 有關說明,詳見下面的SELinux 配置。
7、啟動 ZABBIX SERVER 進程
運行以下命令以啟動 Zabbix server 進程:
# systemctl start zabbix-server
並在系統啟動時讓它自啟:
# systemctl enable zabbix-server
RHEL 7 之前的版本:
# chkconfig --level 12345 zabbix-server on
使用 'zabbix-proxy' 替換命令中的 'zabbix-server' 以啟動和自啟 Zabbix proxy。
8、ZABBIX 前端配置
對於 RHEL 7 和更高版本,Zabbix 前端的 Apache 配置文件位於 /etc/httpd/conf.d/zabbix.conf。
如果使用 RHEL 6,詳見 在 RHEL 6 上使用Zabbix前端 章節來了解如何配置前端。
雖然已經配置了一些 PHP 參數。但是有必要取消 “date.timezone” 注釋,並為其 設置正確的時區 。
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 always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
以此 前端安裝步驟 來完成 Zabbix 前端的安裝,並訪問新安裝的 Zabbix 前端頁面。
重啟httpd
systemctl restart httpd
systemctl enable httpd
9、SELINUX 配置(系統啟用selinux情況下,一般會關閉selinux)
在 enforcing 模式下啟用 SELinux 狀態后,您需要執行以下命令以啟用 Zabbix 前端和 Zabbix server 之間的通信:
RHEL 7 或更高版本:
# setsebool -P httpd_can_connect_zabbix on
如果數據庫可以通過網絡訪問(在 PostgreSQL 情況下包括 'localhost'),您也需要允許 Zabbix 前端連接到數據庫:
# setsebool -P httpd_can_network_connect_db on
RHEL 7 之前的版本:
# setsebool -P httpd_can_network_connect on
# setsebool -P zabbix_can_network on
待前端和 SELinux 配置完成后,需要重新啟動 Apache web 服務器:
# service httpd restart
10、安裝 AGENT
運行以下命令以安裝 Zabbix agent :
# yum install zabbix-agent
運行以下命令以啟動 Zabbix agent:
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
安裝碰到的問題
安裝zabbix agent時無法安裝成功
修改dns
vim /etc/reslove.conf
servername 8.8.8.8
重啟網絡
systemctl restart network