1. 程式人生 > >CentOS 7 下安裝Zabbix 3.0

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

```