zabbix

今天的開場獻給你們一句話,一直以來我也在用這句話鼓勵我自己:不忘初心,方得始終,不負夢想。

純屬是對技術的熱愛,鞏固複習一下,也獻給那些正在學習的同學們!!!

關於zabbix的介紹,這裏不做任何介紹,自行查閱資料

說明:

操作系統:CentOS-7.1

IP地址:192.168.31.130

Web環境:Nginx+MySQL+PHP

zabbix版本:Zabbix 2.2 LTS

備註:Linux下安裝zabbix需要有LAMP或者LNMP運行環境

準備篇:

一、Web環境:Nginx+MySQL+PHP

CentOS 7.1編譯安裝Nginx1.8.1+MySQL5.6.19+PHP5.5.14

     http://sumous.blog.51cto.com/10483407/1949492

二、zabbix軟件包下載

zabbix-2.2.6

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz

上傳zabbix-2.2.6.tar.gz到服務器/usr/local/src目錄下面或者直接進去到下載目錄wget,還是那句話怎麼方便怎麼來,zabbix也可以去下最新的,個人建議別用最新的,最新的可能有bug,看個人喜好

安裝篇

一、創建、導入zabbix數據庫

cd /usr/local/src #進入軟件包下載目錄

tar zxvf zabbix-2.2.6.tar.gz #解壓

cd /usr/local/src/zabbix-2.2.6/database/mysql #進入mysql數據庫創建腳本目錄

ls #列出文件,可以看到有data.sql  p_w_picpaths.sql  schema.sql這三個文件

mysql -u root -p #輸入密碼,進入MySQL控制檯

create database zabbix character set utf8; #創建數據庫zabbix,並且數據庫編碼使用utf8

注意:insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456')); #新建賬戶zabbix,密碼123456

執行這條命令有錯

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

錯語原因:

mysql用戶表的中某些字段不能爲空,沒有默認值,其實是操作錯誤,mysql添加用戶是不能這樣直接insert user表的。

解決方法:

正確的添加用戶方法:

GRANT USAGE ON *.* TO 'zabbix'@'l92.168.31.130' IDENTIFIED BY '123456' WITH GRANT OPTION;

用戶:zabbix,密碼:123456,這樣就添加了一個新的用戶,不會出以上的錯誤了。

flush privileges; #刷新系統授權表

grant all on zabbix.* to 'zabbix'@'192.168.31.130' identified by '123456' with grant option; #允許賬戶zabbix能從本機連接到數據庫zabbix

flush privileges; #再次刷新系統授權表

use zabbix #進入數據庫

source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #導入腳本文件到zabbix數據庫

source /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql #導入腳本文件到zabbix數據庫

source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #導入腳本文件到zabbix數據庫

注意:請按照以上順序進行導入,否則會出錯。

exit #退出

或者這樣導入

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql

mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/data.sql

cd /usr/lib64/mysql #32位系統爲/usr/lib/mysql,注意系統版本同,文件版本可能不一樣,這裏是16.0.0

ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加軟連接

ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加軟連接

二、安裝zabbix

1、添加用戶:

groupadd zabbix #創建用戶組zabbix

useradd zabbix -g zabbix -s /bin/false #創建用戶zabbix,並且把用戶zabbix加入到用戶組zabbix中

2、安裝依賴包 #CentOS使用yum命令安裝

yum install net-snmp-devel curl curl-devel mysql-devel

備註:以上軟件包如果在安裝Web環境LAMP或者LNMP時已經安裝過,此步驟可忽略

3、安裝zabbix

ln -s /usr/local/lib/libmcrypt.so.4 /usr/local/libmcrypt.so.4 #添加軟連接

/sbin/ldconfig #使配置立即生效

cd /usr/local/src/zabbix-2.2.6 #進入安裝目錄

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置

make #編譯

make install #安裝

ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系統軟連接

ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系統軟連接

說明:find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel

4、添加zabbix服務對應的端口

vi /etc/services #編輯,在最後添加以下代碼

# Zabbix

zabbix-agent 10050/tcp # Zabbix Agent

zabbix-agent 10050/udp # Zabbix Agent

zabbix-trapper 10051/tcp # Zabbix Trapper

zabbix-trapper 10051/udp # Zabbix Trapper

:wq! #保存退出

5、修改zabbix配置文件

cd /usr/local/zabbix/etc

vi /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix #數據庫名稱

DBUser=zabbix #數據庫用戶名

DBPassword=123456 #數據庫密碼

ListenIP=192.168.31.130 #數據庫真實ip地址

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄

:wq! #保存退出

vi /usr/local/zabbix/etc/zabbix_agent.conf     #編輯zabbix_agent.conf 文件

Include=/usr/local/zabbix/etc/zabbix_agent.conf.d/  #去掉註釋

UnsafeUserParameters=1 #啓用自定義key

:wq! #保存退出

6、添加開機啓動腳本

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服務端

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agent #客戶端

chmod +x /etc/rc.d/init.d/zabbix_server #添加腳本執行權限

chmod +x /etc/rc.d/init.d/zabbix_agent #添加腳本執行權限

chkconfig zabbix_server on #添加開機啓動

chkconfig zabbix_agent on #添加開機啓動

7、修改zabbix開機啓動腳本中的zabbix安裝目錄

vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件

BASEDIR=/usr/local/zabbix/ #填寫zabbix安裝目錄

:wq! #保存退出

vi /etc/rc.d/init.d/zabbix_agent #編輯客戶端配置文件

BASEDIR=/usr/local/zabbix/ #填寫zabbix安裝目錄

:wq! #保存退出

三、配置web站點

cd /usr/local/src/zabbix-2.2.6

cp -r /usr/local/src/zabbix-2.2.6/frontends/php /usr/local/nginx/html/zabbix

chown nginx.nginx -R /usr/local/nginx/html/zabbix

備註:/usr/local/nginx/html爲Nginx默認站點目錄 nginx爲Nginx運行賬戶

service zabbix_server start #啓動zabbix服務端

service zabbix_agent start #啓動zabbix客戶端

[root@bogon zabbix-2.2.6]# service zabbix_server start    #啓動zabbix服務端成功

Starting zabbix_server (via systemctl):  Warning: zabbix_server.service changed on disk. Run

'systemctl daemon-reload' to reload units.

                                                           [  OK  ]

 [root@bogon zabbix-2.2.6]# service zabbix_agent start        #啓動zabbix客戶端成功

Starting zabbix_agent (via systemctl):  Warning: zabbix_agent.service changed on disk. Run 'systemctl daemon-reload' to reload units.

                                                           [  OK  ]


[root@bogon zabbix-2.2.6]# ps -ef|grep zabbix                    #查看zabbix進程

zabbix    79639      1  0 20:07 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_server

zabbix    79676      1  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd

zabbix    79677  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]

zabbix    79678  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]

zabbix    79679  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]

zabbix    79680  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]

zabbix    79681  79676  0 20:08 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

root      79683  70493  0 20:10 pts/0    00:00:00 grep --color=auto zabbix


四、修改php配置文件參數

1、vi /etc/php.ini #編輯修改

post_max_size =16M

max_execution_time =300

max_input_time =300

:wq! #保存退出

2、vi /usr/local/php/etc/php-fpm.conf #編輯修改

request_terminate_timeout = 300

:wq! #保存退出

service php-fpm reload #重啓php-fpm

五、安裝web

在瀏覽器中打開:

http://192.168.31.130/zabbix/setup.php

wKioL1lxcVCR46s8AANUhhufINE650.png-wh_50

wKiom1lxcajRJhBXAAIGlRNk18k357.png-wh_50

檢查系統環境設置,必須全部都爲ok,才能繼續

wKiom1lxcjuBb1u3AAG89TD7peg145.png-wh_50

報錯:

Error connecting to database: Host 'bogon' is not allowed to connect to this MySQL server


配置MySQL數據庫信息

Database:MySQL

Database host:192.168.31.130

Database port:use default port

Database name:zabbix

User:zabbix

Password:123456

Test connection   #測試數據庫連接是否正常,顯示ok表示通過

Next

wKioL1lxdOvx-31wAAG9XvwPbMI528.png-wh_50

默認Next

wKioL1lxdUihIDqeAAGS_cjnceI582.png-wh_50

默認Next

wKioL1lxdavR2JLZAAGYqJ-ykpc821.png-wh_50

Next

wKiom1lxdlHhLpB2AAFyfRAENo4853.png-wh_50

Finish  安裝完成


六、更改zabbix默認語言爲簡體中文、替換監控圖像上系統默認的中文字體

1、修改系統配置文件,讓web頁面支持簡體中文顯示

vi /usr/local/nginx/html/zabbix/include/locales.inc.php #編輯修改

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改爲

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

:wq! #保存退出

2、在瀏覽器中打開:

http://192.168.31.130/zabbix/index.php#

wKioL1lxd87wmzFqAAH-UE5jLuE490.png-wh_50

賬號:admin

密碼:zabbix

Sign in 登錄

如下圖所示,進入zabbix管理界面,此時出現小錯誤,解決過程如下

wKiom1lxeJ3Aqhr_AAFHxGq6khg074.png

首先查看zabbix的log日誌,來判斷問題出在那了。。

[root@bogon mysql]# tail -f /tmp/zabbix_server.log

107173:20170719:133015.679 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for

user 'zabbix'@'localhost' (using password: YES)

107173:20170719:133015.679 Database is down. Reconnecting in 10 seconds.

很明顯是權限問題,重新給下權限就好,執行下面的SQL語句.

grant all privileges on zabbix.* to zabbix@localhost identified by '123456';

flush privileges;

再次查看log日誌的最新情況,看看是否還報錯

[root@bogon mysql]# tail -f /tmp/zabbix_server.log 

107587:20170719:133055.875 server #18 started [http poller #1]

107577:20170719:133055.882 server #8 started [unreachable poller #1]

107590:20170719:133055.894 server #21 started [history syncer #2]

107593:20170719:133055.896 server #24 started [escalator #1]

107595:20170719:133055.896 server #26 started [self-monitoring #1]

107589:20170719:133055.897 server #20 started [history syncer #1]

107591:20170719:133055.897 server #22 started [history syncer #3]

107594:20170719:133055.898 server #25 started [proxy poller #1]

107592:20170719:133055.899 server #23 started [history syncer #4]

107574:20170719:133055.906 server #5 started [poller #3]

107588:20170719:133055.926 server #19 started [discoverer #1]

看日誌是沒什麼問題了,再次刷新頁面看看zabbix-web情況

ok

wKiom1l1axyzIUNbAADStmmbjU0616.png-wh_50

修改中文字符集,點擊profile

wKioL1l1bOCzQeu6AADRODoT4hw110.png-wh_50

如下圖所示

wKiom1l1ba2z4rjRAACg5awvM-s517.png-wh_50

Language:Chinese(zh_CN)  #簡體中文

點Save 保存

退出站點,重新登錄之後,如下圖所示

默認界面已經是中文顯示

wKiom1l1bgzAhlVPAAEMCoZ7p0U010.png-wh_50


到這裏,zabbix部署已完成


注意幾點如下:

    zabbix server is not running,有以下幾個方面引起

    1、[root@bogon ~]# vi /usr/local/nginx/html/zabbix/conf/zabbix.conf.php

修改前

$ZBX_SERVER      = 'localhost';

修改後

$ZBX_SERVER      = '192.168.31.130';

wq保存,重啓服務

/usr/local/nginx/sbin/nginx -s reload

service zabbix_server restart

service zabbix_agent restart

2、selinux防火牆

3、權限問題

4、細心認真一點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章