目錄
1. 準備工作
1.1 Linux+MySQL+PHP環(huán)境
1.2 添加軟件包安裝源
1.3 若mysql為空密碼,需要修改mysql的root密碼
1.4 時間同步
2. 開始安裝
2.1 創(chuàng)建zabbix用戶
2.2 創(chuàng)建zabbix數(shù)據(jù)庫
2.3 yum安裝zabbix
2.4 導入zabbix數(shù)據(jù)庫的sql文件
2.5 配置zabbix_server.conf
2.6 瀏覽器訪問http://x.x.x.x/zabbix ,開始配置zabbix
3.部署Zabbix Agent
3.1 客戶端安裝agent
3.2 客戶端配置zabbix_agentd.conf文件
3.3 重啟zabbix-agent服務
1. 準備工作
1.1 Linux+MySQL+PHP環(huán)境(zabbix安裝后自動裝了apache)
Server1:(角色:server)
- CentOS6.8 x64
- 192.168.1.190
- zabbix server
Server2:(角色:agent)
- CentOS6.8 x64
- 192.168.1.191
- zabbix agent
Zabbix架構
下面是我根據(jù)自己的理解,畫的一個簡單版架構圖,旨在幫助大家能夠快速理解Zabbix環(huán)境,zabbix server和agent之間的工作原理,適合入門新手;由于是簡版圖,所以展示的只是比較單一情況的架構,不包括zabbix所有模塊、站庫分離、zabbix proxy、數(shù)據(jù)收集的主動/被動模式、分布式等等。后續(xù)有時間的時候我會畫出更多詳細的原理圖。更多權威信息,也請查看官方文檔(http://www.zabbix.com/manuals)
Tips:
- 在開始部署之前,簡單的解釋一下zabbix server/agent的工作原理。zabbix作為一款開源的監(jiān)控軟件,是典型的C/S架構,分為server端和agent端,所有被監(jiān)控的服務器上都要安裝一個zabbix-agent的客戶端軟件,用來收集服務上的硬件信息、操作系統(tǒng)信息、應用信息等,負責收集和整理數(shù)據(jù)的服務器叫zabbix server,在zabbix server上,至少需要安裝安裝兩個軟件,一個是zabbix-server,另外一個是zabbix-agent,可能有的初學同學有疑問,為啥zabbix server上還要安裝agent呢,這是因為zabbix server也要監(jiān)控自己這臺(或多臺proxy)服務器的運行狀況。
- zabbix的數(shù)據(jù)收集方式有兩種,一種是主動式收集,另一種是被動式收集。這里的主動和被動都是相對于Server而言,如果Server的硬件配置比較好,可以采用主動方式收集數(shù)據(jù),輪詢?nèi)フ宜械腶gent要數(shù)據(jù),這樣可以減少客戶端的性能資源消耗,如果Agent的服務器硬件配置比較好,可以采用被動方式收集數(shù)據(jù),由agent定期主動提交數(shù)據(jù)給server。
1.2 添加軟件包安裝源
我的系統(tǒng)版本是CentOS6.8 x64,因此在添加軟件包源的時候選擇的是epel中6系列的rpm源;若你的系統(tǒng)是CentOS5.x或者7.x也不必擔心,可以去到http://dl.fedoraproject.org 中去尋找對應的源,切勿添加了錯誤的源,這樣可能會導致后續(xù)再安裝軟件的時候都會檢測不到對應版本的軟件包,而需要額外很多不必要的操作。
[root@example00 ~]# yum -y install wget
[root@example00 ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@example00 ~]# rpm -ivh epel-release-6-8.noarch.rpm
1.3 若mysql為空密碼,需要修改mysql的root密碼
[root@example00 ~]# mysql -u root -p
mysql> use mysql;
mysql> UPDATE user SET password = PASSWORD('123456') WHERE user='root';
mysql> flush privileges;
mysql> exit
1.4 時間同步
若是本地的自己測試環(huán)境,可以不關心時間同步的問題,但若是生產(chǎn)環(huán)境(支付、游戲、交易)或者是開發(fā)版測試環(huán)境,那么必須要保持服務器的時間同步,否則可能會導致災難性的問題。
[root@example00 ~]# crontab -l
*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1
2. 開始安裝
2.1 創(chuàng)建zabbix用戶
[root@example00 ~]# groupadd zabbix
[root@example00 ~]# useradd -g zabbix -m zabbix -s /sbin/nologin
2.2 創(chuàng)建zabbix數(shù)據(jù)庫
[root@example00 ~]# mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@'192.168.1.190' identified by 'zabbix' with grant option;
mysql> flush privileges;
mysql> show databases;
mysql> exit
2.3 yum安裝zabbix
查找zabbix的軟件包
[root@example00 src]# yum list | grep zabbix
zabbix22.x86_64 2.2.16-1.el6 epel
zabbix22-agent.x86_64 2.2.16-1.el6 epel
zabbix22-dbfiles-mysql.noarch 2.2.16-1.el6 epel
zabbix22-proxy-mysql.x86_64 2.2.16-1.el6 epel
zabbix22-server-mysql.x86_64 2.2.16-1.el6 epel
zabbix22-web-mysql.noarch 2.2.16-1.el6 epel
安裝zabbix必須的包
[root@example00 src]# yum -y install zabbix22 zabbix22-agent zabbix22-dbfiles-mysql zabbix22-proxy-mysql zabbix22-server-mysql zabbix22-web-mysql
2.4 導入zabbix數(shù)據(jù)庫的sql文件
[root@example00 src]# cd /usr/share/zabbix-mysql/
[root@example00 zabbix-mysql]# ls
data.sql images.sql schema.sql upgrades
[root@example00 zabbix-mysql]# mysql -u root -p zabbix < schema.sql
[root@example00 zabbix-mysql]# mysql -u root -p zabbix < images.sql
[root@example00 zabbix-mysql]# mysql -u root -p zabbix < data.sql
注意:
zabbix-server的數(shù)據(jù)庫導入順序不能亂,3個都要導入
zabbix-proxy的數(shù)據(jù)庫導入,只需要schema就可以
2.5 配置zabbix_server.conf
[root@example00 zabbix-mysql]# cd /etc/zabbix
[root@example00 zabbix]# ls
alertscripts externalscripts web zabbix_agent.conf zabbix_agentd.conf zabbix_proxy.conf zabbix_server.conf
[root@example00 zabbix]# vim zabbix_server.conf
78 DBHost=192.168.1.190 # 服務器的公網(wǎng)IP地址
113 DBPassword=zabbix # zabbix-server的mysql數(shù)據(jù)庫密碼
啟動zabbix-server服務
[root@example00 zabbix]# /etc/init.d/zabbix-server start
Starting Zabbix server: [ OK ]
啟動apache的httpd服務
[root@example00 zabbix]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
2.6 瀏覽器訪問http://x.x.x.x/zabbix,開始配置zabbix
如果安裝檢查時提示php參數(shù)不對,需要修改php的配置文件
[root@example00 zabbix]# find / -name php.ini
/etc/php.ini
[root@example00 zabbix]# vim /etc/php.ini
440 max_execution_time = 300
449 max_input_time = 300
729 post_max_size = 16M
946 date.timezone = PRC
重啟apache服務,使得配置生效
[root@example00 zabbix]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
刷新瀏覽器頁面后,PHP必要的檢查項目就都通過了
zabbix web的默認登錄賬號/密碼為:admin/zabbix
源碼編譯安裝方法
3. 部署Zabbix Agent
客戶端安裝agent
[root@example01 ~]# yum -y install zabbix22-agent
客戶端配置zabbix_agentd.conf文件
[root@example01 ~]# vim /etc/zabbix/zabbix_agentd.conf
81 Server=192.168.1.190 # zabbix server的地址
122 ServerActive=192.168.1.190 # zabbix server的地址
重啟zabbix-agent服務
[root@example01 ~]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
瀏覽器上刷新Zabbix Web UI的監(jiān)控頁面,就可以查看到通過監(jiān)控數(shù)據(jù)繪畫的監(jiān)控圖
好了,整個安裝過程就到此為止,若你在安裝的過程中有報錯沒解決成功,可以看下我后面發(fā)布的幾篇關于排錯的文章。若你覺得松哥寫的文章對你有用,謝謝土豪“喜歡”和“打賞”,我將繼續(xù)堅持分享。