轉自:http://blog.chinaunix.NET/uid-25266990-id-3380929.html
Linux下常用的系統監控軟體有Nagios、Cacti、Zabbix、Monit等,這些開源的軟體,可以幫助我們更好的管理機器,在第一時間内發現,并警告系統維護人員。
今天開始研究下Zabbix,使用Zabbix的目的,是為了能夠更好的監控MySQL資料庫伺服器,并且能夠生成圖形報表,雖然Nagios也能夠生成圖形報表,但沒有Zabbix這麼強大。
首先,我們先來介紹下Zabblx:
一.Zabbix簡介
- zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
- zabbix由zabbix server與可選元件zabbix agent兩部門組成。
- zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠端伺服器/網絡狀态的監視。
- zabbix agent需要安裝在被監視的目标伺服器上,它主要完成對硬體資訊或與作業系統有關的記憶體,CPU等資訊的收集。
zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支援多語言(包括中文)
- 免費開源
- 自動發現伺服器與網絡裝置
- 分布式監視以及WEB集中管理功能
- 可以無agent監視
- 使用者安全認證和柔軟的授權方式
- 通過WEB界面設定或檢視監視結果
- email等通知功能
等等
Zabbix主要功能:
- CPU負荷
- 記憶體使用
- 磁盤使用
- 網絡狀況
- 端口監視
- 日志監視
二.Zabbix安裝
2.1 zabbix WEB環境搭建
zabbix的安裝需要LAMP或者LNMP環境,選擇編譯安裝或yum安裝,新手推薦yum安裝。
編譯安裝
Apache-2.4.3安裝:http://blog.csdn.net/qq_23146763/article/details/53446763
Mysql-5.x安裝:http://blog.csdn.net/qq_23146763/article/details/53440486
php-5.6.28安裝:http://blog.csdn.net/qq_23146763/article/details/53446944
yum安裝
yum install mysql-server httpd php
一路都選”Y”就行了;
zabbix依賴包安裝
2.2 zabbix 資料庫設定
zabbix資料庫可以和zabbix伺服器分離,采用用專門的mysql伺服器存儲資料,此時要給zabbix資料庫受相應的權限。
注:ip為zabbix伺服器的IP位址。
關于資料庫的安裝,可以檢視Mysql安裝,我習慣使用二進制包。
啟動資料庫
登入資料庫,建立帳号和設定權限:
mysql> use mysql;
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix.* to zabbix_user@'192.168.10.197' identified by '123456';
2.3安裝zabbix服務
增加zabbix使用者群組
#groupadd zabbix
#useradd -g zabbix -m zabbix
下載下傳軟體包:http://download.csdn.net/detail/qq_23146763/9701101
# tar -zxvf zabbix-2.0.3.tar.gz
#cd zabbix-2.203
導入資料庫表
#cd zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < schema.sql
#mysql -uroot -pmysql zabbix < images.sql
#mysql -uroot -pmysql zabbix < data.sql
2.4編譯安裝zabbix
編譯報錯checking for main in -lmysqlclient … no
yum 安裝mysql-devel即可
#make
#make install
添加服務端口
vim /etc/services
zabbix-agent /tcp # Zabbix Agent
zabbix-agent /udp # Zabbix Agent
zabbix-trapper /tcp # Zabbix Trapper
zabbix-trapper /udp # Zabbix Trapper
添加配置檔案
# mkdir -p /etc/zabbix
# cp -r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix
修改server配置檔案,添加zabbix資料庫密碼
vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix資料庫密碼
ListenIP=192.168.10.197 #伺服器IP位址
修改Agentd配置檔案,更改HOSTNAME為本機的hostname
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid #程序PID
LogFile=/tmp/zabbix_agentd.log #日志儲存位置
EnableRemoteCommands= #允許執行遠端指令
Server= #agent端的ip
Hostname=client1 #必須與zabbix建立的host name相同
如圖設定hostname
添加web前段php檔案
# cd zabbix-2.203/frontends/
# cp -rf php /usr/local/apache2/htdocs/zabbix #yum預設虛拟主機目錄/var/www/html
# chown -R zabbix:zabbix zabbix
web前端安裝配置
修改PHP相關參數
vim /usr/local/php/lib/php.ini #yum預設位置/etc/php.ini
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
在用戶端浏覽器上面通路zabbix,開始WEB的前端配置,http://ZabbixIP/zabbix,按提示點選下一步
Step1:下一步。
Step2:如果全部OK的話才能進行下一步的安裝,如果有錯誤請傳回到server端檢查相關的軟體包是否安裝。
檢測php檔案未通過,嘗試安裝:yum install php-xml
Step3:需要輸入mysql資料庫帳号密碼,如果資料庫不在zabbix伺服器上面,在Host裡面添加資料庫伺服器的位址,并且要用grant指令給資料庫授權。
出現錯誤:Can’t connect to MySQL server on ‘XXX’ (13)
解決:setsebool httpd_can_network_connect 1
錯誤:[Z3001] connection to database ‘zabbix’ failed: [2003] can’t connect to Mysql server on ‘XXX’(111)
解決:zabbix_server.conf中DBPort沒配置正确
Step4:輸入伺服器端 host name or host IP addres;
最後會自動寫入配置檔案:zabbix.conf.php(寫入失敗,手動複制),配置完成後出現登陸界面,預設的使用者名為:admin,密碼為:zabbix。
登陸界面錯誤
1.mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead [include/db.inc.php:77]
解決:http://www.ttlsa.com/php/deprecated-mysql-connect/
三.啟動zabbix服務
在zabbix安裝目錄下面可以直接啟動
#/usr/local/zabbix/sbin/zabbix_server start
tcp :* LISTEN /zabbix_agentd
啟動錯誤解決:
1.error while loading shared libraries: libmysqlclient.so.xx: cannot open shared object file: No such file or directory
vim /etc/ld.so.conf
/usr/local/mysql/lib #你的mysql,libmysqlclient.so.xx路徑
[[email protected]_server sbin]# ldconfig
2.[Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘root’@’localhost’ (using password: NO)
解決:給localhost授權
mysql -uzabbix -p123456
GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'localhost' WITH GRANT OPTION ;
FLUSH PRIVILEGES;
四.設定開啟自動啟動
vim /etc/rc.d/rc.local 最後添加下面兩行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
至此,zabbix server端的安裝完畢,我們可以通過浏覽器來通路。如圖:
接下來會介紹關于用戶端監控的使用,以及監控模版的建立,自定義監控服務等。
更新:用戶端安裝可以檢視http://blog.chinaunix.net/uid-25266990-id-3387002.html