Linux下經常使用的系統監控軟件有Nagios、Cacti、Zabbix、Monit等,這些開源的軟件,能夠幫助咱們更好的管理機器,在第一時間內發現,並警告系統維護人員。php
今天開始研究下Zabbix,使用Zabbix的目的,是爲了可以更好的監控mysql數據庫服務器,而且可以生成圖形報表,雖然Nagios也可以生成圖形報表,但沒有Zabbix這麼強大。前端
首先,咱們先來介紹下Zabblx:mysql
一.Zabbix簡介 ios
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix由zabbix server與可選組件zabbix agent兩部門組成。
zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。
zabbix agent須要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操做系統有關的內存,CPU等信息的收集。web
zabbix的主要特色:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 能夠無agent監視
- 用戶安全認證和柔軟的受權方式
- 經過WEB界面設置或查看監視結果
- email等通知功能
等等sql
Zabbix主要功能:
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡情況
- 端口監視
- 日誌監視
數據庫
官方也提供了安裝資料:http://www.zabbix.com/wiki/howto/monitor
vim
二.Zabbix安裝瀏覽器
2.1 zabbix WEB環境搭建
安全
zabbix的安裝須要LAMP或者LNMP環境。
須要其它的軟件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
2.2 zabbix 數據庫設置
zabbix數據庫能夠和zabbix服務器分離,採用用專門的mysql服務器存儲數據,此時要給zabbix數據庫受相應的權限。
grant all privileges on zabbix.* to zabbix_user@'ip' identified by '123456';
注:ip爲zabbix服務器的IP地址。
關於數據庫的安裝,能夠查看Mysql安裝,我習慣使用二進制包。
啓動數據庫
/usr/local/mysql/bin/mysqld_safe --user=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://www.zabbix.com/download.php
#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz # tar -zxvf zabbix-2.0.3.tar.gz #cd zabbix-2.203
導入數據庫表
#cd zabbix-2.0.3/database/mysql #mysql -uroot -pmysql zabbix < mysql.sql #mysql -uroot -pmysql zabbix < images.sql #mysql -uroot -pmysql zabbix < schema.sql
編譯安裝zabbix
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
編譯報錯checking for main in -lmysqlclient ... no
yum 安裝mysql-devel便可
#make #make install
添加服務端口
vim /etc/services zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trappe
添加配置文件
# 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=1 #容許執行遠程命令 Server=192.168.10.197 #agent端的ip Hostname=client1 #必須與zabbix建立的host name相同
添加web前段php文件
# cd zabbix-2.203/frontends/ # cp -rf php /home/httpd/zabbix #虛擬主機目錄 # chown -R zabbix:zabbix zabbix
web前端安裝配置
修改PHP相關參數
vim 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
PHP還必須支持一下模塊,在php源碼包直接編譯安裝。詳細模塊須要在安裝是會提示。
bcmath.so、gettext.so
在客戶端瀏覽器上面訪問zabbix,開始WEB的前端配置,http://ZabbixIP/zabbix,按提示點擊下一步
Step1:下一步。
Step2:若是所有OK的話才能進行下一步的安裝,若是有錯誤請返回到server端檢查相關的軟件包是否安裝。
Step3:須要輸入mysql數據庫賬號密碼,若是數據庫不在zabbix服務器上面,在Host裏面添加數據庫服務器的地址,而且要用grant命令給數據庫受權。
Step4:輸入服務器端 host name or host IP addres;
最後會自動寫入配置文件:zabbix.conf.php,配置完成後出現登錄界面,默認的用戶名爲:admin,密碼爲:zabbix。
三.啓動zabbix服務
在zabbix安裝目錄下面能夠直接啓動
#/usr/local/zabbix/sbin/zabbix_server start tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7140/zabbix_agentd
四.設置開啓自動啓動
vim /etc/rc.d/rc.local 最後添加下面兩行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
至此,zabbix server端的安裝完畢,咱們能夠經過瀏覽器來訪問。如圖:
接下來會介紹關於客戶端監控的使用,以及監控模版的新建,自定義監控服務等。