zabbix是一款監控軟件了我們通常把zabbix安裝在linux系統中,下文我們一起來看看在lnmp環境下zabbix編譯安裝了,希望文章能夠幫助到各位朋友,由于已有php運行環境,所以只需要編譯安裝zabbix即可.
一、安裝依賴組件
yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring
二、編譯安裝zabbix
①、下載zabbix
- cd /usr/local/src
- wget -O zabbix-2.4.3.tar.gz -c "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.3/zabbix-2.4.3.tar.gz/download"
②、編譯安裝
- #解壓zabbix
- tar zxvf zabbix-2.4.3.tar.gz
- #編譯zabbix
- cd zabbix-2.4.3
- ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --enable-proxy --enable-agent
- #成功將出現如下信息:
- ***********************************************************
- * Now run 'make install' *
- * *
- * Thank you for using Zabbix! *
- * *
- ***********************************************************
- #直接make install 安裝即可:
- --Vevb.com
- make install
Ps:configure可能出現下列錯誤:
a. 找不到mysqlclient library:
- checking for mysql_config... /usr/bin/mysql_config
- checking for main in -lmysqlclient... no
- configure: error: Not found mysqlclient library
如下建立軟鏈接之后,重新編譯即可.
- #如果是32位系統,應該是lib32,總之,先看下路徑所指文件是否存在:
- ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/mysql/libmysqlclient.so
- ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.0.0 /usr/lib64/mysql/libmysqlclient_r.so
b.找不到 MySQL library:
configure:error:MySQL library not found
這是未安裝mysql-devel組件產生的錯誤,先用yum安裝,然后重新編譯即可:
yum install mysql-devel
三、配置zabbix
Ps:以下步驟如果不是絕對路徑,均位于zabbix解壓后的文件夾目錄,即/usr/local/src/zabbix-2.4.3
③、創建zabbix數據庫,并導入初始數據.
- #創建zabbix數據庫和zabbix用戶
- mysql -uroot -proot密碼 -e "create database zabbix default character set utf8;"
- mysql -uroot -proot密碼 -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix2014'flush privileges;"
- #導入zabbix初始數據
- cat database/mysql/schema.sql | mysql -uzabbix -pzabbix2014 zabbix
- cat database/mysql/images.sql | mysql -uzabbix -pzabbix2014 zabbix
- cat database/mysql/data.sql | mysql -uzabbix -pzabbix2014 zabbix
③、修改配置
- #創建服務
- cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
- cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
- #修改參數,注意根據實際情況修改DB用戶名和密碼:
- sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
- sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix2014/g' /usr/local/zabbix/etc/zabbix_server.conf
- sed -i 's/BASEDIR=//usr//local/BASEDIR=//usr//local//zabbix/g' /etc/init.d/zabbix_server
- sed -i 's/BASEDIR=//usr//local/BASEDIR=//usr//local//zabbix/g' /etc/init.d/zabbix_agentd
④、部署WEB
- #因為只是測試,所以直接丟到了default下,http://ip/zabbix就能訪問了
- cp -r frontends/php /home/wwwroot/default/zabbix
- #修改權限
- chown -R www:www /home/wwwroot/default/zabbix
⑤、增加服務端口
- #直接在終端執行如下命令行即可:
- cat >>/etc/services <<EOF
- zabbix-agent 10050/tcp #Zabbix Agent
- zabbix-agent 10050/udp #Zabbix Agent
- zabbix-trapper 10051/tcp #Zabbix Trapper
- zabbix-trapper 10051/udp #Zabbix Trapper
- EOF
⑥、啟動zabbix服務
- service zabbix_server start
- service zabbix_agentd start
- #可選配置:將服務加入開機啟動項
- chkconfig zabbix_server on
- chkconfig zabbix_agentd on
四、WEB端的安裝
因為我是放到lnmp的default目錄,所以直接在瀏覽器訪問http://ip地址/zabbix進入安裝向導,和一般的php建站程序的安裝一樣,非常簡單。
下一步會檢測運行環境,若出現紅色的,就自查并解決即可,比如這次出現了一個這樣的提示:提示max_input_time的值應該改成300,所以只需要編輯php.ini,找到max_input_time并修改為300,保存后執行service php-fpm restart,再刷新安裝向導已經沒有問題了,繼續按照向導直到安裝完畢:
完成后進入zabbix登陸界面:輸入默認的用戶名:admin 和 密碼:zabbix 即可登入.
五、問題與解決
①、監控報錯
登陸zabbix后,發現儀表盤報如下錯誤,看了下后臺日志:
- [root@lcoalhost ~]# tail -f /tmp/zabbix_server.log
- 9785:20150128:114951.637 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- 9785:20150128:114951.637 Database is down. Reconnecting in 10 seconds.
- 9785:20150128:115001.638 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- 9785:20150128:115001.638 Database is down. Reconnecting in 10 seconds.
- ...
原來是mysql.sock路徑問題.
解決方法:
方法(1).修改/usr/local/zabbix/etc/zabbix_server.conf,找到#DBSocket=/tmp/mysql.sock,取消注釋.
方法(2).建立軟鏈接.
- test -d /var/lib/mysql || mkdir /var/lib/mysql
- ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
推薦第一種方法,保存后,使用service zabbix_server restart 重啟zabbix服務即可解決此問題.
①、中文設置
修改為中文界面的步驟是:Profile -> Language -> Chinese (zh_CN) ->Save
可當我安裝之后,卻沒有Chinese (zh_CN)這這個下拉選項。
解決辦法:
1、在zabbix網站目錄(/home/wwwroot/default/zabbix)找到 include/locales.inc.php 文件
2、編輯 locales.inc.php,找到
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
修改為:
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
Ps:里面好多語言默認都是false屏蔽了,想開啟只需要改成true即可在語言配置中開啟,修改保存后,刷新網頁,已經可以找到Chinese (zh_CN)了.
②、圖形中文顯示為方框
由于還沒有添加受監控的客戶端,所以先把server自身的監控打開.
步驟:組態(配置) -> 主機 -> 激活主機
進入圖形后,發現文字都是方框:
看來是字體問題,只需要用 Windows 下的常用字體替換一下即可。
具體步驟:
1). 我比較喜歡微軟雅黑,所以在 C:/windows/fonts 下找到微軟雅黑字體:msyh.ttc
2). 上傳到zabbix字體目錄:/home/wwwroot/default/zabbix/fonts/
3.). 用msyh.ttc覆蓋默認的字體文件 DejaVuSans.ttf 即可:
mv -f msyh.ttc DejaVuSans.ttf
刷新頁面,已經正常了.
zabbix監控在lnmp環境下編譯安裝小記
好了,關于zabbix服務端的安裝就記錄到這,后續有時間在來記錄下zabbix客戶端的安裝及使用.
新聞熱點
疑難解答