1、Zabbix基本概念 php
1.zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。它能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。html
zabbix由2部分構成,zabbixserver與zabbix agent。前端
1.Zabbix Server:部署在主控機,經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,負責接收Agent發送報告信息的核心組件,全部配置、統計數據及操做數據由其組織進行;mysql
2.Zabbix Agent:部署在受控機,負責收集本地數據併發往Server端或Proxy端;nginx
3.SNMP:也是agent的一種,指支持SNMP協議的設備(也能夠是服務器),經過設定SNMP的參數將相關監.控數據傳送至服務器端(大部份的交換機、防火牆等網絡設備都支持SNMP協議)。web
4.IPMI:IPMI Agent: 智能型平臺管理接口(IntelligentPlatform Management Interface),是管理基於 Intel結構的企業系統中所使用的外圍設備採用的一種開放免費的工業標準,用戶能夠利用IPMI監視服務器的物理健康特徵,如溫度、電壓、風扇工做狀態、電源狀態等。sql
5.配置web監控方式能夠監控web頁面的下載速率和響應時間等重要參數,指定web頁面存在,頁面上數據下載速度;數據庫
6.Zabbix Proxy:用於分佈式監控環境中,代理Server端收集部分受控端的監控數據並統一發送到Server端,極大的減輕了server的負載壓力,使得能夠支持更大規模的監控需求;apache
2. Zabbix架構圖vim
zabbix server經過zabbix_get拉取zabbixagent或zabbix proxy收集的數據。zabbix_get相似於SNMP協議的命令行工具,但強大不少。主動模式下zabbix agent經過zabbix sender發送數據給zabbix server。
3.zabbix完整組織流程圖,出自http://xxrenzhe.blog.51cto.com/4036116/1412129
2、安裝與配置zabbix
zabbix實驗架構
zabbixserver/zabbix GUI: station31
zabbixagent/nginx: station32
zabbixagent/discovery:station33
zabbixproxy: station34
zabbixagent/windows: station136
2.1、在主控端station31安裝LAMP
[root@station31~]# yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_sslmod_perl mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc php-mbstring php-bcmath mysql-connector-odbcmysql-devel libdbi-dbd-mysql
[root@station31~]# cd /etc/httpd/conf
[root@station31conf]#vim httpd.conf
##在277 #ServerNamewww.example.com:80以後
增長278 ServerNamelocalhost:80 #防止檢測不到FQDN
增長403 DirectoryIndexindex.php index.html index.html.var #php目錄索引
增長790 AddTypeapplication/x-httpd-php .php #php支持類型
[root@station31~]# vim /etc/php.ini
增長947 date.timezone =Asia/Shanghai #修改php時區
[root@station31~]# service mysqld start
[root@station31~]# service httpd start
[root@station31~]# chkconfig httpd on
[root@station31~]# chkconfig mysqld on
2.2、設置mysql數據庫root賬號密碼
[root@station31~]# mysqladmin -uroot password 'redhat'
2.3、測試apache與php、mysql的鏈接
[root@station31~]# cd /var/www/html
[root@station31html]# vim index.php
itworks!
<?php
$link=mysql_connect('localhost','root','redhat');
if($link)
echo "success";
else
echo "fail";
?>
在IE中測試http://192.168.1.31/顯示it works!success成功
2.2、安裝zabbix主控端 搞清在什麼端安裝什麼程序
[root@station31zabbix-2.2.3]# yum -y localinstall \
fping-2.4b2-16.el6.x86_64.rpm\
iksemel-1.4-2.el6.x86_64.rpm\
iksemel-devel-1.4-2.el6.x86_64.rpm\
iksemel-utils-1.4-2.el6.x86_64.rpm\
libssh2-1.4.2-1.el6.x86_64.rpm\
libssh2-devel-1.4.2-1.el6.x86_64.rpm\
libssh2-docs-1.4.2-1.el6.x86_64.rpm\
zabbix-2.2.3-1.el6.x86_64.rpm\ # 主程序server端/agent端都須要
zabbix-get-2.2.3-1.el6.x86_64.rpm\ # 主控端從受控端拉數據程序
zabbix-agent-2.2.3-1.el6.x86_64.rpm\ # 受控端安裝agent程序
zabbix-server-2.2.3-1.el6.x86_64.rpm\ # 主控服務器端服務器程序
zabbix-server-mysql-2.2.3-1.el6.x86_64.rpm\ # 主控服務器端服務器鏈接數據庫
zabbix-web-2.2.3-1.el6.noarch.rpm\ # web界面安裝程序
zabbix-web-mysql-2.2.3-1.el6.noarch.rpm # web界面鏈接數據庫程序
2.3、檢查並導入zabbix專屬庫
[root@station31zabbix-2.2.3]# rpm -ql zabbix-server-mysql
/usr/share/doc/zabbix-server-mysql-2.2.3/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.2.3/create/p_w_picpaths.sql
/usr/share/doc/zabbix-server-mysql-2.2.3/create/schema.sql
[root@station31zabbix-2.2.3]# mysql -uroot -predhat
mysql>CREATE DATABASE zabbixCHARACTER SET utf8 COLLATE utf8_bin; #建zabbix庫
mysql>GRANT ALL ON zabbix.* TOzbuser@'192.168.1.%' IDENTIFIED BY 'zbpass'; #建用戶受權
mysql>flush privileges;
mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/schema.sql; #注意導庫順序
mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/data.sql;
mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/p_w_picpaths.sql;
[root@station31~]# tree /etc/zabbix
/etc/zabbix
|-- web
| |-- maintenance.inc.php
| `-- zabbix.conf.php
|--zabbix_agentd.conf 受控端配置文件
|--zabbix_agentd.d
| `-- userparameter_mysql.conf
|--zabbix_server.conf 服務器端配置文件
[root@station31zabbix]# vim zabbix_server.conf 添加記錄
39 LogFile=/var/log/zabbix/zabbix_server.log
82 DBHost=192.168.1.31 #數據庫主機名
91 DBName=zabbix #數據庫名
107 DBUser=zbuser #鏈接zabbix數據庫專門用戶
116 DBPassword=zbpass #鏈接zabbix數據庫專門用戶密碼
125DBSocket=/var/lib/mysql/mysql.sock 默認rpm安裝位置正確,源碼安裝需修改到/tmp/mysql.sock
注意:zabbix_server是zabbix的服務器端進程用於彙總採集數據,zabbix_agentd是zabbix的受控端進程,在本地安裝是爲採集本機數據,zabbix服務器自身健康也很重要。
[root@station31zabbix]# vim zabbix_agentd.conf
23 LogFile=/var/log/zabbix/zabbix_agentd.log
86 Server=192.168.1.31 主控服務器IP
128 ServerActive=192.168.1.31 主控服務器IP
139Hostname=station31.example.com 受控端主機名/IP
[root@station31zabbix]# service zabbix-server start
[root@station31zabbix]# service zabbix-agent start
[root@station31zabbix]# chkconfig zabbix-server on
[root@station31zabbix]# chkconfig zabbix-agent on
[root@station31zabbix]# netstat -nutlp | grep 10050
tcp 0 00.0.0.0:10050 0.0.0.0:* LISTEN 2103/zabbix_agentd
tcp 0 0 :::10050 :::* LISTEN 2103/zabbix_agentd
[root@station31zabbix]# netstat -nutlp | grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2039/zabbix_server
tcp 0 0 :::10051 :::* LISTEN 2039/zabbix_server
zabbix-server監聽tcp10051 zabbix-agent監聽tcp10050
3.安裝zabbix GUI
直接使用IE打開http://192.168.1.31/zabbix/setup.php配置
默認用戶名Admin,密碼zabbix,
Administration->Users->Members:Admin(Zabbixadministrator),language:選zh_cn,Save,刷新,界面轉中文。
或選擇下拉菜單從Users group到Users。
可是有可能zabbix有部分圖表菜單不支持中文,須要將中文windows系統機的中文字體(仿宋簡體)複製到zabbix的字庫中。
1、在windows系統中的C:\windows\fonts目錄中複製一個本身喜歡的,如simfang.ttf(仿宋簡體);
2、將simfang.ttf文件上傳到ZabbixServer網站目錄中的fonts目錄下;
如:/usr/shar/zabbix/fonts中,能夠經過/etc/httpd/conf.d/zabbix.conf找到zabbix的路徑
3、將ZabbixServer網站目錄中的fonts目錄裏原來的「graphfont.ttf」更名
4、將上傳上去的文件改成graphfont.ttf
5、只須要刷新一下,無亂碼!
安裝完成,檢查報錯。
[root@station31zabbix]# cat zabbix_agentd.log
5696:20140616:224554.525no active checkson server [192.168.1.31:10051]: host[station31.example.com] not found
須要在configuration->Hosts面板中Status,啓用monitored, 才能監控server自己。
出現該錯誤的緣由是通常是zabbix_agentd.conf裏面的Hostname和前端zabbix web裏面的配置不同所形成的,即在zabbix web頁面Monitoring->Configuration->Hosts頁面的Name和zabbix_agentd.conf裏面的Hostname要同樣。
1.查看zabbix_agentd.conf文件中的Hostname
[root@station31 zabbix]# cat/etc/zabbix/zabbix_agentd.conf | grep Hostname
#Hostname=Zabbix server
Hostname=station31.example.com 受控端主機名
2.在zabbix web頁面Monitoring->Configuration->Hosts頁面更改Host name和zabbix_agentd.conf裏面的Hostname同樣。
3.從新啓動zabbix-agent服務
[root@station31 ~]# service zabbix-agentrestart
4.再次查看日誌文件
[root@station31 zabbix]# cat zabbix_agentd.log
5691:20140616:230207.154 Zabbix Agentstopped. Zabbix 2.2.3 (revision 44105).
5938:20140616:230207.310 Starting ZabbixAgent [station31.example.com]. Zabbix 2.2.3 (revision 44105).