簡介: Zabbix 分散式監控系統,源碼編譯安裝記錄 ( 記不得是第多少次了 ) 下載地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz Lnmp ...
簡介:
Zabbix 分散式監控系統,源碼編譯安裝記錄 ( 記不得是第多少次了 )
下載地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
Lnmp 傳送門:http://www.cnblogs.com/wangxiaoqiangs/p/5336180.html
1、安裝 Zabbix
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 > make install
2、創建資料庫、並導入數據
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
3、配置 Zabbix 服務
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 )
4、啟動 Zabbix 服務
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
## 當發現有服務沒有啟動時,要及時查看日誌文件,裡面有詳細的原因
## 這裡可能會出現如下錯誤:
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 到這個文件的位置 )
5、登陸網頁進行配置 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 的全部安裝過程!
附加:( 簡單說一下監控本機 )
1、修改 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 )
2、將 Zabbix Server 中 Configuration -> Host 的 Staus 改為 Enable 即可開啟對本機的監控!