1、Zabbix簡介:php
1、zabbix的概述html
Zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。Zabbix主要由2部分構成,分別是zabbix server端(一個)與zabbix agent端(多個)。它支持多種監控方式:agent(被動模式),agent(主動模式),snmp,ipmi,jmx等。前端
agent端:主機經過安裝agent方式採集數據。java
server端:經過收集agent發送的數據,寫入數據庫(MySQL,ORACLE等),再經過php+apache在web前端展現.mysql
監控系統的基本模型:linux
2、zabbix的運行條件c++
server端:zabbixserver需運行在LAMP(Linux+Apache+Mysql+PHP)環境下(或者LNMP),對硬件要求低。web
agent端:目前已有的agent基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、windows。sql
3、Zabbix的功能數據庫
zabbix具有常見的商業監控軟件所具有的功能,如主機的性能監控、網絡設備性能監控、數據庫性能監控、多種告警方式、詳細的報表圖表繪製等等。
另外zabbix還有如下特色:
a、支持自動發現網絡設備和服務器(能夠經過配置自動發現服務器規則來實現);
b、編寫插件容易,能夠自定義監控項,報警級別的設置;
c、支持snmp(包括trappingandpolling),IPMI,JMX,SSH,TELNET;
d、定義的檢測,自定義收集數據的頻率;
e、靈活的觸發器,高可定製的報警,發送通知,可定製的報警升級,收件人;
f、實時的繪圖功能,監控項實時的將數據繪製在圖形上面;
zabbix的監控項目
主機監控:CPU、內存、磁盤的剩餘空間/利用率和I/O、SWAP使用率、、進程數。
網卡監控:網卡流量,包括流入/流出量和錯誤的數據包數。
應用程序:端口和內存使用率、CPU使用率、服務狀態、請求數、併發鏈接數、消息隊列的字節數、Client事務處理數、Service狀態等。
硬件:溫度、風扇轉速、電壓等。
4、zabbix的一些名詞解釋
項目(item) 定義收集被監控的數據的項,如收集被監控機內存使用狀況
觸發器(trigger) 經過項目得到的數據(或者經過計算)來判斷主機狀態的定義
圖形(graph) 經過項目得到數據,以圖形方式展現
模板(template) 可將項目,集合,觸發器,圖形彙總爲一個模板,直接連接到主機
主機(host) 被監控對象,服務器或其餘網絡設備
低級自動發現(low_discovery) 經過低級自動發現能夠簡單定義一種類型有多個項的的狀況,如:對磁盤容量監控,一般磁盤會有多個分區,咱們經過一次定義能夠監控磁盤上的全部分區
最新數據
(last data) 可查看主機項目得到的最新數據
鍵值(key) 在配置項目時用到的重要參數,能夠看作是一種映射關係,監控程序經過配置此參數來完成對特定數據的獲取
2、Zabbix的安裝
zabbix服務器(server端)運行的環境必須爲Linux(UNIX)+PHP+Web Service+DataBase,這裏的Web Service能夠爲Nginx、Apache,DataBase能夠爲MySQL、Oracle、PostgreSQL等。因此在安裝server端的時候必須先配置LAMP環境。
咱們這採用在CentOS6.5操做系統下,以 Apache做爲服務器,Mysql作數據庫進行存儲。
環境:
CentOS 6.5 zabbix版本:2.4.4
server ip: 192.168.212.2 被監控端ip: 192.168.212.3
服務端的操做
一、 服務器安裝LAMP平臺
yum -y install gcc gcc-c++ autoconf httpd php mysqlmysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gdphp-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmathmysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-develOpenIPMI-devel java-devel libssh2-devel openldap openldap-devel
二、 啓動mysql和http服務
service httpd restart; chkconfig httpd on; service mysqld start; chkconfig mysqldon;
三、 下載zabbix-server並安裝
a、 下載並解壓
#wget #tar -zxf zabbix-2.4.4.tar.gz
b、建立zabbix運行須要的用戶
#groupadd zabbix; #useradd zabbix -g zabbix
c、建立數據庫並受權
1) 進入mysql數據庫;
#mysql -uroot -p
2) 建立zabbix數據庫,並設置爲UTF8編碼;
mysql>createdatabase zabbix character set utf8;
3) 把全部zabbix數據庫中的表的操做權限賦予zabbix用戶,密碼爲zabbix;
mysql>grantall on zabbix.* to zabbix@localhost identified by 'zabbix';
d、導入zabbix自定義的表結構和數據
1) 進入zabbix自帶mysql 數據庫文件目錄;
cd zabbix-2.4.4/database/mysql
2) 把zabbixserver自帶的3個數據庫導入zabbix數據庫;
mysql -uzabbix -pzabbix zabbix< schema.sql mysql -uzabbix -pzabbix zabbix< p_w_picpaths.sql mysql -uzabbix -pzabbix zabbix< data.sql
e、編譯安裝zabbix-server
# cd zabbix-2.4.4
./configure --prefix=/usr/local/zabbix --enable-server--enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config--with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap--with-ssh2 --enable-java
f、服務端口定義
#vim /etc/services 追加如下內容 zabbix-agent10050/tcp #zabbixagent zabbix-agent10050/udp #zabbixagent
g、 修改zabbix的配置文件
#vim/usr/local/zabbix/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log ##日誌位置,根據需求修改; PidFile=/tmp/zabbix_server.pid ##PID所在位置 DBHost=localhost ##服務器爲本機 DBName=zabbix ##數據庫名稱 DBUser=zabbix ##數據庫用戶名 DBPassword=zabbix ##數據庫密碼 DBSocket=/var/lib/mysql/mysql.sock ##修改MYSQL路徑
h、添加並修改啓動腳本
#cp zabbix-2.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d #chmod +x /etc/init.d/zabbix_server #vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix ##修改這個,zabbix的安裝目錄 CONFILE=$BASEDIR/etc/zabbix_server.conf ##添加這一行,定義配置文件位置 action$"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE # service zabbix_serverstart #chkconfigzabbix_server on #cp -r zabbix-2.4.4/frontends/php /var/www/html/zabbix #chown -R apache:root /var/www/html/zabbix #vim /etc/php.ini date.timezone =Asia/Shanghai ##更改時區 post_max_size = 32M ##提交數據的最大值 max_execution_time= 300 ##php腳本的最長執行時間 max_input_time =300 ##php最長接受數據時間 #/etc/init.d/httpd reload
訪問http://192.168.212.2/zabbix登錄測試,默認帳號admin,密碼zabbix
更改語言爲中文Profile—Language---Chinese(zh CN)
建議用英文,中文翻譯的不許確。
客戶端的操做:
Agented的監控方式(被動模式)
一、 下載agent壓縮包
wget http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.linux2_6.amd64.tar.gz
二、 建立zabbix的工做目錄
mkdir /usr/local/zabbix
三、 把下載好的壓縮文件解壓到工做目錄;
tar -zxf zabbix_agents_2.4.4.linux2_6.amd64.tar.gz -C /usr/local/zabbix
四、 修改配置文件
#vim/usr/local/zabbix/conf/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log ##配置日誌文件路徑 #Server=192.168.212.2 ##agentd被動模式服務器IP Hostname=Zabbix server ##在zabbix server配置host時指定的主機名要相同,這樣主動模式才能獲取到數據
注:使用主動模式時,StartAgents設爲0,關閉被動模式!
五、 修改啓動腳本
下載的agent安裝包裏面沒有啓動腳本,但在192.168.212.2的zabbix 源碼包裏有
scp zabbix-2.4.4/misc/init.d/fedora/core/zabbix_agentd 192.168.212.3:/etc/init.d/ # chmod +x/etc/init.d/zabbix_agentd # vim /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix ##修改成agent的安裝目錄,添加如下兩行 CONFILE=$BASEDIR/conf/zabbix_agentd.conf action $"Starting $BINARY_NAME: "$FULLPATH -c $CONFILE #groupadd zabbix
在服務端測試可否監控到客戶端
[root@zabbix~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.212.3-k"system.hostname" Client
至此,zabbix的服務端及客戶端agent主動模式的安裝已經完畢。