Zabbix(一)之簡介和源碼編譯安裝

zabbix 簡介php

zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。mysql


zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。nginx


zabbix由2部分構成,zabbix server與可選組件zabbix agent等。web


zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺之上。sql

zabbix agent須要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操做系統有關的內存,CPU等信息的收集。zabbix agent能夠運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。數據庫


zabbix server能夠單獨監視遠程服務器的服務狀態;同時也能夠與zabbix agent配合,能夠輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。vim

另外zabbix server還支持SNMP (v1,v2),能夠與SNMP軟件(例如:net-snmp)等配合使用。安全


zabbix的主要特色:bash

- 安裝與配置簡單,學習成本低服務器

- 支持多語言(包括中文)

- 免費開源

- 自動發現服務器與網絡設備

- 分佈式監視以及WEB集中管理功能

- 能夠無agent監視

- 用戶安全認證和柔軟的受權方式

- 經過WEB界面設置或查看監視結果

- email等通知功能

等等



Zabbix主要監控功能:

- CPU負荷

- 內存使用

- 磁盤使用

- 網絡情況

- 端口監視

- 日誌監視


上面簡單介紹了zabbix,,下面就來在服務器上安裝體驗一下zabbix的強大功能吧,首先是在服務器上安裝,安裝方法以下:


1、服務器端,也就是監控端(這裏採用源碼安裝)

一、添加zabbix服務的運行用戶

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin

二、下載源碼包

 zabbix的最新包目前是2.2.1版本,如今就來下載2.2.0穩定版本。

 下載地址 http://www.zabbix.com/

 安裝方法:

cd /usr/local/src
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
tar zxvf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix  --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make
make install
cd ../

 參數說明:

 --prefix=/usr/local/zabbix   #zabbix的安裝目錄

 --enable-server  #做爲服務器端

 --enable-agent  #做爲客戶端

 --with-mysql  # 支持mysql zabbix也運行ladp,oracle,postgresql,sqlite3等數據庫

 --with-net-snmp  # 支持snmp

 --with-libcurl  # 是用來監控web頁面的

 編譯過程的錯誤:

 數據庫錯誤:在這裏數據庫是編譯安裝的因此要把環境變量導出:

 vim /etc/profile

 添加以下行export PATH=$PATH:/usr/local/mysql/bin

 而後執行:source /etc/profile    便可

 net-snmp錯誤:

 yum install net-snmp-devel -y   便可

三、建立數據庫,並導入初始數據

 鏈接到mysql數據庫,並建立數據庫


mysql -uroot -p****
mysql> create database zabbix character set utf8;
導入數據 下面的導入順序不能變,,
cd zabbix-2.2.0/database/mysql
mysql -uroot -p***** zabbix < schema.sql
mysql -uroot -p***** zabbix < p_w_picpaths.sql
mysql -uroot -p***** zabbix < data.sql

 這裏說明下,zabbix這個數據庫,能夠添加個用戶用來單獨訪問zabbix全部權限這樣作是爲了安全。

四、配置zabbix的服務端,並啓動服務


cd /usr/local/zabbix/etc/
vim zabbix_agentd.conf   ##指定sever地址
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server#Hostname是惟一的,不能重複 默認是Zabbix Server  能夠不用修改
/usr/local/etc/zabbix_server.conf   指定數據庫用戶名、密碼、主機名、端口號
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
啓動服務:
cp /usr/local/zabbix/sbin/zabbix_server /etc/init.d/
service zabbix_server start
或者:
/usr/local/zabbix/sbin/zabbix_server

五、在web端安裝

 配置nginx和網頁

 cd /usr/local/src/zabbix-2.2.0/frontends/

 cp -r php /data/www/zabbix

 /data/www/zabbix 是網頁目錄

 在nginx的配置文件中加入能正常訪問便可。

六、在web端安裝

 以下圖:

wKiom1LM4MXgbXyNAAB4AYTRj1I066.jpg

wKioL1LM4LnSoyi_AADO-vQDMGU351.jpg

這個地方會出現錯誤,若是php編譯安裝時沒有加載gettext這個模塊支持多語言,解決方法以下:

能夠到源碼php編譯目錄下去從新加載這個模塊。

cd /usr/local/src/php-5.3.0/ext/gettext
/usr/local/php/bin/phpize    #執行此命令
./configure --with-php-config=/usr/local/php/bin/php-config #從新編譯php
make && make install

wKiom1LM4MfzNnA2AAC76MVFkDM953.jpg

 配置好數據庫後就安裝完成了,登陸:

wKioL1LM5yCQ_omlAABSTjtNuqE407.jpg

初始用戶名:admin 密碼:zabbix


 下面是配置後的zabbix圖片

wKiom1LM4cuBCMHMAAEriEIkrDI115.jpg


到此,服務端已安裝完成,下面來安裝一下客戶端,也就是被監控端。

一樣使用以前下載的源碼,安裝以下:

安裝客戶端:用到agentd工做模式

添加用戶:

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
tar zxvf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install

修改配置文件

cd /usr/local/zabbix/etc/
vim zabbix_agentd.conf
修改如下內容:
Server=服務端ip地址,也就是監控端ip地址
ServerActive=服務端ip地址,也就是監控端ip地址
其餘的並不須要修改
下面來啓動
cp /usr/local/zabbix/sbin/zabbix_agentd /etc/init.d/
service zabbix_agentd start
或者
/usr/local/zabbix/sbin/zabbix_agentd

啓動後就可能在web端添加監控主機了。

啓動報錯:

/etc/init.d/zabbix_agentd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解決方法:

vim /etc/ld.so.conf

添加:

/usr/local/lib

保存退出

執行:

ldconfig

而後再啓動


啓動後能夠查看端口是否已啓動。這樣zabbix的服務端和客戶端都安裝完成,而且做了一些簡單的配置,下面會介紹zbbix的web頁面相關內容,以及如何監控主機及服務的。


補充:zabbix也支持rpm的安裝,配置epel yum 源後能夠用yum直接安裝

epel源的配置在個人相關博文有提到,能夠自行查看,配置yum源後就能夠直接安裝了,以下圖:

wKioL1LM5Xfj4rBtAAFLOdkltYY818.jpg

服務端安裝:

yum install zabbix.x86_64 zabbix-server.x86_64 zabbix-server-mysql.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch zabbix-agent.x86_64

客戶端安裝:

yum install zabbix.x86_64 zabbix-agent.x86_64

相關文章
相關標籤/搜索