CentOS 7 下安裝Zabbix 3.0
## 安裝前準備
### 1.1 安裝依賴包:
```
yum -y install wget net-snmp-devel 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 配置防火牆:
修改防火牆配置檔案,在最後位置新增以下規則過濾:
```
shell# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
```
上述埠中,80指的是Apache的web監聽埠,10050是Agent埠,Agent採用被動方式,Server主動連線Agent的10050埠;10051是Server的埠,Agent採用主動或Trapper的方式連線Server的10051埠。10050是Agent埠,10051是Server埠~
需要關閉 selinux,一定要關閉這個,開啟selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用
```
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
```
確認是否修改成功
```
# grep SELINUX /etc/selinux/config
```
然後重啟系統即可
```
# reboot
```
### 1.3 搭建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,我們能夠滿足Zabbix的安裝需求即可。
現在開始安裝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使用者配置密碼,並重新整理相關許可權。(密碼設為hokai,只為實驗用,生產環境自定義)
Remove anonymous users? 刪除匿名使用者?
Disallow root login remotely? 禁止root遠端登陸
Remove test database and access to it? 刪除測試資料庫並且和訪問它
Reload privilege tables now? 重新載入特權表
以上主要是配置匿名使用者、test使用者以及root使用者遠端連線等相關配置,我們全部輸入y即可。
mysql初始化完畢後,我們現在來建立zabbix資料庫及其使用者,使用如下命令:
[[email protected] ~]# mysql -uroot -phokai -e "create database zabbix default character set utf8 collate utf8_bin;"
[[email protected] ~]# mysql -uroot -phokai -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
現在來測試剛剛建立的zabbix使用者,是否可以連線mysql資料庫,如下:
```
# mysql -uzabbix -pzabbix
MariaDB [(none)]> show databases;
MariaDB [(none)]> quit
```
下面設定Apache的開機自啟動並啟動apache以及開放80埠,如下:
```
# systemctl enable httpd.service
# systemctl start httpd.service
```
到此LAMP環境搭建完畢,下面開始安裝Zabbix.
### 1.4 安裝zabbix server3.0
1. 安裝zabbix3.0所需要EPEL源和zabbix的yum源,如下:
```
#rpm -ivh https://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
```
以上安裝完畢後,我們現在來正式安裝zabbix3.0,使用如下命令:
```
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
```
我們可以很明顯的看出目前zabbix server是3.0.14版本的。
安裝完畢後,我們現在開始進行zabbix的相關配置。
2. 匯入zabbix資料庫結構,如下:
```
# cd /usr/share/doc/zabbix-server-mysql-3.0.14/
# zcat create.sql.gz | mysql -uroot -phokai zabbix
```
3. 資料庫匯入完畢後,我們現在來修改zabbix sever的配置檔案,如下:
```
# vi /etc/zabbix/zabbix_server.conf
只需關注以下4項即可:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
```
4. 下面我們再來修改下zabbix.conf檔案。
```
vim /etc/httpd/conf.d/zabbix.conf
```
設定`php_value date.timezone Asia/Chongqing`,這個主要是定義php的時區。
5. 我們把把zabbix-server加入開機啟動,並啟動zabbix-server,然後重啟httpd服務如下:
```
# systemctl enable zabbix-server.service
# systemctl start zabbix-server.service
# systemctl restart httpd.service
```
### 1.5 配置Zabbix
開啟瀏覽器,輸入`http://zabbix-frontend-hostname/zabbix` (e.g. `http://localhost/zabbix`)出現前臺安裝介面配置。
- 安裝步驟總共6步,分別是:
1. 歡迎介面
2. php需求檢查
3. MySQL配置
4. zabbix服務端詳細資訊
5. zabbix安裝前資訊列表
6. 安裝完成
如果有哪些配置不對或不符合最低要求,會在這6步中給出錯誤提示,去配置檔案中修改相應配置檔案然後重啟httpd服務即可。
- Finish完成以後會出現登陸介面,預設使用者名稱和密碼為:**Admin:zabbix**
- Zabbix是支援多語言的,可以為每個使用者配置不同的語言環境。單機選單欄Administration->Users->User name->Language修改使用者的語言。雖然Zabbix支援中文,但是不建議使用中文介面,因為中文介面的翻譯不準確,會誤導我們,建議使用英文介面。
### 1.6 安裝Zabbix-agent
```
# yum -y install zabbix zabbix-agent
```
在安裝時如出現如上圖所示錯誤,原因是軟體這兩個版本不一致,仔細觀察發現這兩個軟體包使用了不同的倉庫,把epel的關閉(enabled=0,位於/etc/yum.repos.d/epel.repo)再重灌
### 1.7 配置zabbix agent
必須指定zabbix server的IP地址,其他host的連線都否認。
```
# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=127.0.0.1
```
以上配置完畢後,我們在zabbix web端新增該監控機器時,只需要把honst name與該配置檔案中的hostname對應即可。如下:
Server=伺服器ip地址
ServerActive=伺服器ip地址
Hostname=客戶端ip地址
Server被動ServerActive主動
到此zabbix agent就已經安裝完畢。
啟動Zabbix-Agent服務並配置其開機自啟動
```
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
```