1. 程式人生 > >centos7安裝zabbix3.0超詳細步驟解析【轉】

centos7安裝zabbix3.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 關閉防火牆:

# 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在centos 7上安裝

根據zabbix server3.0官方要求,目前zabbix server3.0在centos6 OS上不能進行yum安裝。如果一定要在centos6 OS上進行安裝zabbix server3.0的話,強烈建議通過原始碼方式進行編譯安裝,同時還需要注意PHP的版本。

考慮到這些因素,所以在此我們是在centos7 OS上進行yum安裝zabbix server3.0。

注意:儘管zabbix server3.0在centos6 OS上不能yum方式進行安裝,但是zabbix-agent3.0在centos6 OS上是可以進行yum安裝的。

1.1 搭建lamp環境

在centos7上安裝zabbix server3.0之前,我們首先搭建zabbix所需要的lamp環境。

下載最新的yum源,如下:

# wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo

wKiom1gqn8vxHJ-AAAA85igYBXo093.png-wh_50

在開始安裝之前,還需要說明下centos7自帶的mysql是mariadb,我們可以通過如下命令檢視:

yum search mysql|tac

wKioL1gqn-SxR1T3AAEEUSRuNFs470.png

現在開始安裝lamp環境,使用如下命令:

[[email protected] ~]# yum -y install mariadb mariadb-server php php-mysql httpd

wKiom1gqn_Txs4WrAABAi2nJAOU966.png-wh_50

通過上圖,我們可以很明顯的看出centos7預設安裝的是php5.4、httpd2.4和maradb5.5,這個完全符合zabbix3.0對軟體版本的要求。

lamp安裝完畢後,我們現在來配置mysql資料庫。

設定開機自啟動mysql,並啟動mysql,使用如下命令:

[[email protected] ~]# systemctl enable mariadb.service

[[email protected] ~]# systemctl start mariadb.service

wKioL1gqoAeT_0mHAAAYC_bko_Y251.png

初始化mysql資料庫,並配置root使用者密碼。使用如下命令:

[[email protected] ~]# mysql_secure_installation

wKiom1gqoBeTC9NqAABKxM4x6uY757.png-wh_50

wKioL1gqoCSDEeJSAAASp5JMyeU322.png-wh_50

wKiom1gqoDHBCn-SAABq5PAobEM930.png-wh_50

注意:在上圖中的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資料庫及其使用者,使用如下命令:

[[email protected] ~]# mysql -uroot -p123456 -e "create database zabbix default character set utf8 collate utf8_bin;"

[[email protected] ~]# mysql -uroot -p123456 -e "grant all on zabbix.* to "zabbix"@"%" identified by "zabbix";"

wKioL1gqoD_BClFkAACKdFUrycA669.png

現在來測試剛剛建立的zabbix使用者,是否可以連線mysql資料庫,如下:

[[email protected] ~]# mysql -uzabbix -pzabbix

MariaDB [(none)]> show databases;

MariaDB [(none)]> quit

wKiom1gqoEzBRpMbAABNUFEiCuM472.png-wh_50

通過上圖,我們可以很明顯的看出zabbix使用者是可以正常連線資料庫的。

啟動apache以及開放80埠,如下:

[[email protected] ~]# systemctl start httpd.service

[[email protected] ~]# netstat -ltun

wKioL1gqoGWgAYGXAAA6sE-tHK4029.png-wh_50

wKiom1gqoMbhIRteAAAGNCSDtAQ262.png

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

wKiom1gqoNPwz53hAAEA7yOBGok853.png-wh_50

wKioL1gqoOPBczFdAALoUk-HFjE752.png-wh_50

1.2 安裝zabbix server3.0

lamp環境搭建完畢後,我們現在開始正式安裝zabbix3.0。

安裝zabbix3.0所需要EPEL源和zabbix的yum源,如下:

#rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

wKiom1gqoPTSmlfLAAAocT5rAkc580.png-wh_50

#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

wKiom1gqoQeSNMFLAAAopZDOd94134.png

以上安裝完畢後,我們現在來正式安裝zabbix3.0,使用如下命令:

[[email protected] ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get

wKiom1gqoRbAVXI6AABiYtiHgL4078.png

wKioL1gqoSjR6ooxAAAhfLVS2WY942.png

通過上圖,我們可以很明顯的看出目前zabbix server是3.0.5版本的。

以上安裝完畢後,我們現在開始進行zabbix的相關配置。

匯入zabbix資料庫結構,如下:

[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.5/

[[email protected] zabbix-server-mysql-3.0.5]# zcat create.sql.gz | mysql -uroot -pDe123456 zabbix

wKioL1gqoTeTXQ5IAAAb16Vuvc4882.png

資料庫匯入完畢後,我們現在來修改zabbix sever的配置檔案,如下:

[[email protected] ~]# vi /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

wKiom1gqoYbBllDyAAAE8E22BZo660.png

wKioL1gqoZLhwEQ0AAAE_nfB-Ww462.png

wKiom1gqodbwMzfGAAAFQn89Sxc561.png

wKiom1gqoeLjLi9KAAAGNJJLhQ4546.png

上述配置檔案中,我們只需要關注 DBHost、DBName、DBUser、

DBPassword 幾項即可。這幾項是配置zabbix server連線mysql資料庫的引數。

以上修改完畢後,我們再來修改下zabbix.conf檔案。如下:

vi /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

修改前:

wKiom1gqofjirWwNAAEOczMLL4Q534.png-wh_50

修改後:

wKioL1gqog6zmlb_AABAE4wmtyM045.png-wh_50

其中php_value date.timezone Asia/Chongqing主要是定義php的時區。

以上修改完畢後,我們把把zabbix-server加入開機啟動,並啟動zabbix-server,如下:

[[email protected] ~]# systemctl start zabbix-server.service

[[email protected] ~]# systemctl enable zabbix-server.service

wKiom1gqoiDwOemSAAAHvLw7axE579.png

最後重啟apache,如下:

[[email protected] ~]# systemctl restart httpd.service

三、配置zabbix

http://ip/zabbix/setup.php

wKiom1gqow3zr3-uAAAprQiAZZs653.png

wKioL1gqoxnTPFYsAAD7hkYL_8k558.png

Next step

wKiom1gqoyqwzJyYAAFdXoJFbow672.png

Next step

wKioL1gqozbA9aagAADVo3EVVAU690.png

上圖中需要填寫的是,我們前面建立的zabbix資料庫已經使用者和密碼 , Next step

wKiom1gqo0Dy7uLTAAC0G9XzrRk864.png

Next step

wKioL1gqo1GxCOzBAADifGi_vU4200.png

Next step

wKioL1gqo2KwCzFIAACQYsT4QtY192.png

Finish

wKiom1gqo27iu85zAABDI7bf54E379.png

預設使用者名稱是Admin 密碼 zabbix 然後點選sign in

wKioL1gqo4KzediyAAGE2kBORA8229.png

四、安裝zabbix agent

前面我們安裝了zabbix server3.0,本章節我們介紹安裝zabbix agent端。zabbix agent的安裝比較簡單,我們只需要安裝相應的倉庫,然後執行安裝命令即可。

4.1 安裝zabbix agent

在centos os上安裝agent,使用如下命令:

[[email protected] ~]# yum clean all

[[email protected] ~]# yum -y install zabbix zabbix-agent

wKiom1gqo5WR5kbJAAESZWBLc1E163.png-wh_50

wKiom1gqo6KxpsqiAAC4NvjKK64468.png

在安裝時如出現如上圖所示錯誤,原因是軟體這兩個版本不一致,仔細觀察發現這兩個軟體包使用了不同的倉庫,把epel的關閉(enabled=0,位於/etc/yum.repos.d/epel.repo)再重灌

4.2 配置zabbix agent

zabbix agent的配置很簡單,只需要修改zabbix agent配置檔案中的Server、ServerActive和Hostname這三項即可。

其中Server、ServerActive是zabbix server伺服器的IP地址,Hostname是被監控端的IP地址,如下:

[[email protected] ~]# vi /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

Include=/etc/zabbix/zabbix_agentd.d/

以上配置完畢後,我們在zabbix web端新增該監控機器時,只需要把honst name與該配置檔案中的hostname對應即可。如下:

Server=伺服器ip地址

ServerActive=伺服器ip地址

Hostname=客戶端ip地址

Server被動ServerActive主動

到此zabbix agent就已經安裝完畢。

啟動客戶端

[[email protected] ~]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf

[[email protected] ~]# systemctl start zabbix-agent

[[email protected] ~]# systemctl restart zabbix-agent

[[email protected] ~]# systemctl enable zabbix-agent

wKioL1gqo7KiLO7AAACHJIsErX4620.png

wKiom1gqo7_ApARXAACAo0v2jz4058.png

檢視一下狀態

wKioL1gqo8mAs0ZUAADzrTOq8h8747.png

wKiom1gqo9bTbLC3AAHfIYhJzMM497.png

五、zabbix web中文顯示與優化

5.1 zabbix web中文顯示

預設情況下zabbix web顯示的是英文,實際上zabbix是支援中文的,我們可以通過修改web端原始檔來開啟中文。

修改/usr/share/zabbix/include/locales.inc.php檔案,把zh_CN所在行的false改為true即可,如下:

[[email protected] ~]# vim /usr/share/zabbix/include/locales.inc.php +55

改正前:

wKioL1gqo-SCwPElAABdt5ULbBU209.png

改正後:

wKiom1gqpAqgmCTZAADG3etVUbo565.png

最後後點擊zabbix web監控網頁端右上角人頭頭像,在彈出的選項卡選擇中文語言即可。如下:

改正前:

wKioL1gqpBawwGkyAACrhsftdeM636.png-wh_50

改正後:

wKioL1gqpCST5LpAAAHDAHIv84E444.png

5.2 中文顯示優化

安裝中文支援包

安裝方法如下:

[[email protected] ~]# wget https://github.com/echohn/zabbix-zh_CN/archive/master.zip

[[email protected] ~]# unzip master.zip

[[email protected] ~]# rm /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

[[email protected] ~]# cp zabbix-zh_CN-master/frontend.mo /usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.mo

wKioL1gqpDSTkFusAAGnfxR9nOw371.png

wKiom1gqpEGBaeTXAAEgQknpij8858.png

現在重啟下apache和zabbix_server兩個服務就可以,如下:

[[email protected] ~]# systemctl restart httpd

[[email protected] ~]# systemctl restart zabbix-server

zabbix中文亂碼:

亂碼如下圖:

wKioL1gqpEySq9q0AAHUgOWFbZ4799.png

解決亂碼方法:

把Windows 系統中找到 C:\Windows\Fonts 中的楷體(常規)複製到windows桌面上

wKiom1gqpFritBMYAAHdJInXoqc331.png

如何將 window 檔案上傳到 linux 上,我們可以搭建一個 samba 伺服器,這裡我們介紹一款軟體

" winscp " 下載地址網上百度一下就可以了。

安裝完成後雙擊開啟

wKioL1gqpGmhbqkYAABuW7LIdNw406.png

點選編輯:

wKiom1gqpHWjAh6mAAHgvyARgZw922.png

輸入主機名( ip 地址)埠 22 使用者名稱和密碼

wKioL1gqpIeSTlViAAIoMiWajOM642.png

儲存,然後點選登陸

wKiom1gqpJah2pnHAABzyixpkwo095.png

在輸入一次密碼,確定

wKioL1gqpKLjaPoOAAFXzRTdyM4765.png

左面是 window 桌面,右面是 linux 根目錄,直接把左面的檔案拖動到右面就是把 window 檔案複製到 linux 中,這樣可以上傳到 linux 裡面了,接下來把 simkai.ttf 移動到 zabbix 安裝目錄的 fonts 目錄下

[[email protected] ~]# mv simkai.ttf /usr/share/zabbix/fonts/

wKiom1gqpRfCEekKAADTxfJGdZI490.png

[[email protected] ~]# cd /usr/share/zabbix/fonts/

[[email protected] fonts]# ls

graphfont.ttf  simkai.ttf

[[email protected] fonts]# chmod 777 simkai.ttf

wKioL1gqpS6SdeGgAADW2yN4SOA976.png

[[email protected] fonts]# cp graphfont.ttf graphfont.ttf.bak

[[email protected] fonts]# mv simkai.ttf graphfont.ttf

mv :是否覆蓋 "graphfont.ttf" ? y

wKioL1gqpWDB0susAACmDH4ZPWc029.png

檢視一下 ,ok了

wKioL1gqpfyytCC7AAGD1nmM_KU297.png