簡介:php
Zabbix 分佈式監控系統,源碼編譯安裝記錄 ( 記不得是第多少次了 )html
下載地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gzmysql
Lnmp 傳送門:http://www.cnblogs.com/wangxiaoqiangs/p/5336180.htmlnginx
一、安裝 Zabbixsql
shell > yum -y install ntpdate net-snmp net-snmp-devel libcurl-devel shell > useradd -r -s /sbin/nologin zabbix shell > wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz shell > tar zxf zabbix-2.4.5.tar.gz shell > ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
# --prefix 指定安裝路徑
# --enable-server 安裝 Server 端
# --enable-agent 安裝 Agent 端
# --with-mysql 使用 Mysql 數據庫
# --with-net-snmp 支持 SNMP 協議
# --with-libcurl 支持 libcurl URL 監控shell
shell > make install
二、建立數據庫、並導入數據數據庫
shell > mysql -uroot -p123456 mysql> create database zabbixDB character set utf8; # 建立 zabbixDB 並設置編碼爲 utf8 mysql> grant all on zabbixDB.* to zabbix@localhost identified by 'zabbix_pass'; # 創建受權用戶 mysql> flush privileges; # 刷新受權表 ( 雖然 grant 操做是不須要刷新受權表的,但那又如何 ? ) mysql> use zabbixDB; mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/schema.sql # 導入數據 mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/images.sql mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/data.sql mysql> quit
三、配置 Zabbix 服務vim
shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/ # 服務端啓動腳本 shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # 客戶端啓動腳本 shell > cp -R /usr/local/src/zabbix-2.4.5/frontends/php/ /usr/local/nginx/html/zabbix # 網頁文件 shell > vim /usr/local/zabbix/etc/zabbix_server.conf # 服務端配置文件 LogFile=/tmp/zabbix_server.log # 日誌文件存放位置 DBName=zabbixDB # 數據庫名 DBUser=zabbix # 鏈接用戶 DBPassword=zabbix_pass # 鏈接密碼 shell > vim /etc/init.d/zabbix_server # 服務端啓動腳本 BASEDIR=/usr/local/zabbix # 修改後的位置 ( 原:/usr/local ) shell > vim /etc/init.d/zabbix_agentd # 客戶端啓動腳本 BASEDIR=/usr/local/zabbix # 修改後的位置 ( 原:/usr/local )
四、啓動 Zabbix 服務frontend
shell > chkconfig --add zabbix_server shell > chkconfig --add zabbix_agentd shell > chkconfig --level 35 zabbix_server on shell > chkconfig --level 35 zabbix_agentd on shell > service zabbix_server start Starting zabbix_server: [肯定] shell > service zabbix_agentd start Starting zabbix_agentd: [肯定] shell > netstat -anpt | grep zabbix ( 注意:要來確認一下到底有沒有啓動成功,由於當受權用戶沒法鏈接數據庫時,zabbix_server 是沒法啓動的,可是啓動過程顯示成功 ) tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 80403/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 80430/zabbix_server
## 當發現有服務沒有啓動時,要及時查看日誌文件,裏面有詳細的緣由dom
## 這裏可能會出現以下錯誤:
Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory [FAILED]
## 解決方法:ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ ( 先 find 到這個文件的位置 )
五、登錄網頁進行配置 Zabbix ( http://your-domain/zabbix )
## 可有可無的截圖就不貼了,只貼有用的!
> 第一個頁面是歡迎頁面,直接 Next
> 第二個頁面大多會有多處檢測失敗,也是出問題最多的位置,以下圖
解決方法:
shell > vim /usr/local/php/php.ini post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai always_populate_raw_post_data = -1 ## 找到對應參數,修改成上面的值,重啓 Nginx 、php-fpm 便可解決!
## 還有可能遇到缺乏擴展的狀況,單獨演示一個缺乏擴展的解決方法
假如上圖提示 gettext 也是紅色的 fail 狀態,這就說明缺乏這個擴展,須要動態添加此擴展!
shell > cd /usr/local/src/php-5.6.11/ext/gettext/ # 切換到源碼目錄下的對應擴展目錄下 shell > /usr/local/php/bin/phpize # 執行此指令,生成 configure shell > ./configure --with-php-config=/usr/local/php/bin/php-config ; make ; make install # 安裝此擴展,生成 .so 文件
## 若是是缺乏 mysqli 擴展,這一步要多加一個參數 --with-mysqli=/usr/local/mysql/bin/mysql_config
shell > ln -s /usr/local/php/lib/php/extensions/no-debug-20100525/gettext.so /usr/lib64/ shell > vim /usr/local/php/php.ini extension_dir = /usr/lib64/ extension = gettext.so
## 找到對應的參數,添加或修改爲上面的值便可
所有解決完成後 ( 頁面沒有紅色的 Fail ,所有變爲 OK ) 點擊 Next
> 第三個頁面設置數據庫鏈接的一些信息,正常填寫便可,點擊 「Test connection」 顯示 ok 後,Next
> 第四個頁面是關於 Zabbix Server 的一些信息,默認便可,Next
> 第五個頁面是預覽,沒有問題的話,Next
> 第六個頁面一般也會出錯,須要將此配置文件下載到本地,而後經過 WinSCP 或某種方式傳到 Zabbix Server 的 /usr/local/nginx/html/zabbix/conf/ 這裏!( 也許你的跟個人不同,但根據提示你能夠的 )
> 終於到達登錄頁面,默認用戶名:admin 密碼:zabbix
## 到這裏已經完成了 Zabbix 的所有安裝過程!
附加:( 簡單說一下監控本機 )
一、修改 Zabbix Server 上的 Zabbix Agent 配置文件 ( 其實也不用修改,這裏只是看一下須要關注的地方 )
shell > vim /usr/local/zabbix/etc/zabbix_agentd.conf # 注意:必定是 zabbix_agentd.conf 不是 zabbix_agent.conf LogFile=/tmp/zabbix_agentd.log # Zabbix Agent 日誌文件 Server=127.0.0.1 # 被動模式 ServerActive=127.0.0.1 # 主動模式 Hostname=Zabbix server # 自定義 ( 這又是一個很是關鍵的點,Zabbix Server 中添加主機時,Hostname 的值必定要跟這裏定義的相同,不然沒法監控 )
## 這裏的主動、被動模式是指 Zabbix Agent , 默認爲被動模式!( 被動模式爲 Zabbix Agent 被動等待 Zabbix Server 鏈接,主動模式爲 Zabbix Agent 主動去鏈接 Zabbix Server )
二、將 Zabbix Server 中 Configuration -> Host 的 Staus 改成 Enable 便可開啓對本機的監控!