安裝前准備
1.0 系統時間同步
在crontab中添加
#crontab -l 00 00 * * * /usr/sbin/ntpdate -u x.x.x.x #選擇ntp服務器 #systemctl restart crond
1.1 安裝依賴包:
yum -y install wget net-snmp-devel net-snmp-utils OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools wget vim-enhanced
可能故障問題:Cannot find a valid baseurl for repo: base/7/x86_64
解決:修改DNS
1.2 關閉防火牆:
systemctl stop firewalld.service
systemctl disable firewalld.service
需要關閉 selinux,一定要關閉這個,開啟selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
確認是否修改成功
grep SELINUX /etc/selinux/config
然后重啟系統即可。
reboot
二、安裝zabbix server3.0
1.0 搭建lamp環境
在centos7上安裝zabbix server3.0之前,我們首先搭建zabbix所需要的lamp環境。
下載最新的yum源,如下:
wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo

在開始安裝之前,還需要說明下centos7自帶的mysql是mariadb,我們可以通過如下命令查看:
yum search mysql|tac

現在開始安裝lamp環境,使用如下命令:
yum -y install mariadb mariadb-server php php-mysql httpd

通過上圖,我們可以很明顯的看出centos7默認安裝的是php5.4、httpd2.4和maradb5.5,這個完全符合zabbix3.0對軟件版本的要求。
lamp安裝完畢后,我們現在來配置mysql數據庫。
設置開機自啟動mysql,並啟動mysql,使用如下命令:
systemctl enable mariadb.service
systemctl start mariadb.service

初始化mysql數據庫,並配置root用戶密碼。使用如下命令:
mysql_secure_installation



注意:在上圖中的Enter current passwdord for root處,我們直接敲回車鍵即可。因為centos7上mysql的默認root用戶密碼為空。
上圖中主要是為root用戶配置密碼,並刷新相關權限。(密碼設為123456,只為實驗用,生產環境自定義)
Remove anonymous users? 刪除匿名用戶?
Disallow root login remotely? 禁止root遠程登陸
Remove test database and access to it? 刪除測試數據庫並且和訪問它
Reload privilege tables now? 重新載入特權表
上圖中主要是配置匿名用戶、test用戶以及root用戶遠程連接等相關配置。
mysql初始化完畢后,我們現在來創建zabbix數據庫及其用戶,使用如下命令:
mysql -uroot -pPioneerservice@3306 -e "create database zabbix default character set utf8 collate utf8_bin;" mysql -uroot -pPioneerservice@3306 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'"

現在來測試剛剛創建的zabbix用戶,是否可以連接mysql數據庫,如下:
[root@zabbix ~]# mysql -uzabbix -pzabbix MariaDB [(none)]> show databases; MariaDB [(none)]> quit

通過上圖,我們可以很明顯的看出zabbix用戶是可以正常連接數據庫的。
啟動apache以及開放80端口,如下:
[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# netstat -ltun


到此lamp環境已經全部搭建完畢。

1.1 安裝zabbix server3.0
安裝zabbix3.0所需要EPEL源和zabbix的yum源,如下:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 3.2版本 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm 3.4版本

以上安裝完畢后,我們現在來正式安裝zabbix3.0,使用如下命令:
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get


通過上圖,我們可以很明顯的看出目前zabbix server是3.2.11版本的。
以上安裝完畢后,我們現在開始進行zabbix的相關配置。
導入zabbix數據庫結構,如下:
[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/ [root@zabbix zabbix-server-mysql-3.2.11]# zcat create.sql.gz | mysql -uroot -pDe123456 zabbix

數據庫導入完畢后,我們現在來修改zabbix sever的配置文件,如下:
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
上述配置文件中,我們只需要關注 DBHost、DBName、DBUser、
DBPassword 幾項即可。這幾項是配置zabbix server連接mysql數據庫的參數。
以上修改完畢后,我們再來修改下zabbix.conf文件。如下:
vim /etc/httpd/conf.d/zabbix.conf Alias /zabbix /usr/share/zabbix Options FollowSymLinks AllowOverride None Require all granted 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/Chongqing
修改前:

修改后:

其中php_value date.timezone Asia/Chongqing主要是定義php的時區。
以上修改完畢后,我們把把zabbix-server加入開機啟動,並啟動zabbix-server,如下:
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
最后重啟apache,如下:
[root@zabbix ~]# systemctl restart httpd.service
到目前為止,zabbix3.0已經安裝完畢。
