zabbix介紹和安裝

引子:文章分爲3段

1.zabbix介紹,包括架構,組件工作流程等。

2.zabbix安裝,yum安裝和編譯安裝

3.zabbix-web登錄界面和中文修改



zabbix介紹

Zabbix是一個企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。

官方網站:http://www.zabbix.com


zabbix的架構:


Zabbix通過C/S模式採集數據,通過B/S模式在web端展示和配置。

被監控端:主機通過安裝agent方式採集數據,網絡設備通過SNMP方式採集數據

Server端:通過收集SNMPagent發送的數據,寫入MySQL數據庫,再通過php+apacheweb前端展示。

Zabbix運行條件:

Server

Zabbix Server需運行在LAMPLinux+Apache+Mysql+PHP)環境下,對硬件要求低

Agent

目前已有的agent基本支持市面常見的OS,包含LinuxHPUXSolarisSunwindows

SNMP

支持各類常見的網絡設備。


wKioL1WwJmDT3a5zAAKDe_f4sH8302.jpg



zabbix架構中所用到的組件:

    


Zabbix sever:負責接收agent發送的報告信息的核心組件,所有配置、統計數據及操作數據均由其組織進行;


Database storage:專用於存儲所有配置信息,以及由zabbix收集的數據


Web interfacezabbixGUI接口,通常與server運行在同一臺主機上;


Proxy:可選組件,常用於分佈監控環境中,代理server收集部分被監控端的監控數據並統一發往server端;


Agent:部署在被監控主機上,負責手機本地數據併發往server端或porxy端;


    zabbixweb、zabbix-server、zabbix-database可以部署在同一臺機器上,也可以分開佈置。


wKiom1WwJHzSXM35AAFddu-CfO8193.jpg

Zabbix常用的術語



主機(host):要監控的網絡設備,可由IPDNS名稱指定。

主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一組  內的主機和模板不能互相連接;主機組通常在給用戶或用戶組指派監控權限時使用;

監控項(item):一個特定監控指標的相關的數據,這些來自於被監控對象;itemzabbix進行收據收集的核心,沒有item,將沒有數據;相對某監控對象來說,每個item都由“key”進行標識;

觸發器(trigger):一個表達式,用於評估某監控對象的某特定item內所接收到的數據是否在合理範圍內,即閥值;接收到的數據量大於閥值時,觸發器狀態將從“OK”轉變爲“problem”,當數據量再次迴歸到合理範圍時,其狀態將從“problem”轉換回“OK”;

事件(event):即發生的一個值得關注的事情,例如觸發器的狀態轉變,新的agent或重新上線的agent的自動註冊等;

動作(action):指對於特定事件事先定義的處理方法,通過包含操作(如發送通知)和條件(何時執行操作);



報警升級(escalation):發送警報或執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等;

媒介(media):發送通知的手段或通道,如EmailJabberSMS等;

通知(notification):通過選定的媒介向用戶發送的有關某事件的信息;

遠程命令(remote command):預定義的命令,可在被監控主機處於某特定條件下時自動執行;

模板(template):用於快速定義被監控主機的預設條目集合,通常包含了itemtriggergraphscreenapplication以及low-level discovery rule;模板可以直接鏈接至單個主機

應用(application):一組item的集合;

Web場景(web scennario):用於檢測web站點可用性的一個或多個HTTP請求;

前端(frontend):zabbixweb接口


zabbix的工作流程


    結合下圖和上面的術語解釋會更直觀:

    步驟不是固定只是這樣解釋更好理解。

1、定義一個item.

2、獲取此item的數據,圖中是zabbix的polle進程去獲取數據(後續有解釋zabbix進程).

3、獲取的item的數據數值超出了Trigger中對此item定義的閥值,Trigger由OK轉換爲problem狀態.

        同時會觸發Events,如果有設置Action的話會觸發.

4、Actions會執行動作.

5、新獲取的item數據重新低於閥值,Trgger回到OK狀態.報警停止.事件會保存.


    在host中定義item,針對各item設置Trigger.因爲需要定義的item和Trigger太多,可以直接在host中套用

Template(模板),模板中定義了好了item和Trigger以及需要展示的Graphs.

    也可以設置一個host group,對一組機器進行操作,如設置模板,定義某item等等.

    不想某host或host group報警的話,可以設置爲Maintenance(維護),這樣即使觸發了triggers也

不會觸發actions和events.


wKiom1WwJHyBaLFGAAGnK_marlQ896.jpg


zabbix服務端運行的進程

    zabbix-server運行後一般可能會出現以下進程,有的不會出現。



watchdog:監控以下進程,發現進程不在就重新啓動。

housekeep:items過期數據清理。

alerter:執行報警

poller:拉取數據的,會出現過個poller並行去拉取數據。

httppoller:web頁面數據拉取的專用poller

discoverer:agent發現機制

Pinger:基於ping探測節點存活。

db_config_syscer:數據庫配置同步器(多個數據庫場景時,多用於集羣)

db_data_syscer:數據庫數據同步器(多個數據庫場景時,多用於集羣)

node watcher:監控節點。

timer:計時器

escalator:報警升級




zabbix安裝



yum安裝zabbix




    1.  建立LAMP環境

                安裝mysqlhttpdphp

           #yum -y  install   mysql-server httpd php

              service httpd start

              service mysqld start 



    2. 新建zabbix組和用戶(系統用戶、系統組)


            #/usr/sbin/groupadd  -r zabbix

            #/usr/sbin/useradd -g zabbix  -r zabbix 




    3.安裝zabbix的repo源

            rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

    

                可以登錄此url: http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/  ,找到如下圖的rpm包.按實際下載.


wKioL1WwJmCy5-raAABYIozcwUw948.jpg



   4.zabbix包安裝


                使用yum安裝非常簡單,不需要去處理包之間的關係。不過此處需要注意的是

        在安裝zabbix-server包的時候,在yum解決包依賴關係的時候有時會下載pgsql,

        而不是想要的mysql,需要注意一下.



        Servier

        Yum –y install zabbix            \\  zabbix公共組件

        Yum –y install zabbix-server          \\  zabbix-server端專用包

        Yum –y insatll zabbix-server-mysql      \\  zabbix-servermysql

        Yum –y install zabbix-get     \\  服務器端組件,用於get獲取數據

        Yum –y install zabbix-java           \\   監控java程序組件

        Proxy

        Yum –y install zabbix            \\  zabbix公共組件

        Yum –y install zabbix-proxy  \\  proxy端專用包

        Yum –y install zabbix-proxy-mysql  \\proxymysql

        Agent

        Yum –y install zabbix            \\  zabbix公共組件

        yum –y install zabbix-agent  \\agent專用包

        Yum –y install zabbix-sender  \\  用戶agent 主動發送數據

        Web

        Yum –y insatll zabbix-web

        Yum –y insatll zabbix-web-mysql

        因爲我們實驗機:zabbix-serverzabbix-agentzabbix-web 是在一臺機器上的,proxy不在這次實驗

            Yum install zabbix zabbix-server zabbix-server-mysql zabbix -get  zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender



    5.mysql設置:



    創建一張表取名zabbix,設置utf8字符集

    CREATE DATABASE zabbix CHARACTER SET utf8




    zabbix表,創建一個用戶:zabbix  密碼:zabbix  訪問條件:localhost權限:ALL

        GRANT ALL on zabbix.* TO'zabbix'@‘localhost' IDENTIFIED BY 'zaxpass';





                Zabbix_sql腳本導入mysql

                cd/usr/share/doc/zabbix-server-mysql-2.4.*/create/

              這裏可以看到3sql腳本,將他們導入到之前建立的mysqlzabbix表中

                data.sql   p_w_picpaths.sql   schema.sql

                按以下順序導入

                #mysql zabbix < schema.sql

                #mysql zabbix < p_w_picpaths.sql

                #mysql zabbix < data.sql


    6.修改相關配置文件




配置修改Zabbix  Service 配置文件

vim /etc/zabbix/zabbix_server.conf



DBUser=zbxuser

DBPassword=zabbix



修改php時區

/etc/php.ini              ;date.timezone=

增加一行,別忘了刪除掉;  ,;是註釋

timezone = Asia/Shanghai.



關閉防火牆:

Service iptable stop

或者vi /etc/sysconfig/iptables,增加以下內容:添加80端口

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 


            至此yum安裝zabbix完畢,下一步使用web登錄zabbix,配置zabbix。




編譯安裝zabbix

    創建zabbix組和以zabbix爲組的zabbix用戶

        #groupadd zabbix

        #useradd –g zabbix zabbix

        1.準備好安裝包,上官網下載合適的安裝包,這裏使用的是zabbix-2.4.1.tar.gz

        2.爲方便安裝包的統一管理都安裝在/opt

        #tar zxvf zabbix-2.4.1.tar.gz

        #cd /opt/zabbix-2.4.1.tar.gz

        開始編譯

        #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --enable-ipv6 --with-libcurl

        #make && make install


        先開啓mysql(之前的chkconfig只是設置開機啓動並沒有將服務啓動。)設置mysqlroot密碼爲123456

        #service mysql start

        #mysqladmin  -u root password 123456

        mysql內創建zabbix庫,設置字符爲UTF8

        #mysql –uroot –p123456

        #create datebase zabbix character set  utf8;

        # grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';

        #quit

        (注意mysql命令後面必須帶上‘;’否則命令會失敗)

    zabbix表導入數據庫

        #cd /root/zabbix-2.0.4/database/mysql/ 

         #mysql -uzabbix -p123456 zabbix < schema.sql

        #mysql -uzabbix -p123456 zabbix < p_w_picpaths.sql

         #mysql -uzabbix -p123456 zabbix < data.sql


        複製程序和修改配置文件

         複製配置文件到zabbix安裝目錄


        #cp -R /opt/zabbix-2.4.1/conf/zabbix_agentd  /usr/local/zabbix/etc/

        #cp /opt/zabbix-2.4.1/conf/zabbix_agentd.win.conf  /usr/local/zabbix/etc/

        #cp /opt/zabbix-2.4.1/conf/zabbix_proxy.conf  /usr/local/zabbix/etc/

        然後修改zabbix_server.conf配置文件數據庫(mysql)相關部分:

        #vim /usr/local/zabbix/etc/zabbix_server.conf

        修改以下內容:

        DBUser=zabbix

        DBPassword=123456


        先看下服務端口是否添加若沒有則添加

        grep zabbix /etc/services

        wKiom1WwJH-zDXx5AACkpSz4C7o072.jpg




        若有以上內容則不需要其他操作,若沒有。

        則修改/etc/services文件,在文件末尾追加以上內容


        修改zabbix目錄屬性

                #chown –R zabbix.zabbix /user/local/zabbix

        配置軟連接

        啓動zabbix前,做相關軟連接,不然會報錯:找不到庫文件。

        這裏安裝的是64位系統:

         #ln -s /usr/local/iksemel/lib/libiksemel.so.3 /usr/lib64/libiksemel.so.3

    假如是32位系統:

        #ln -s /usr/local/iksemel/lib/libiksemel.so.3 /usr/lib/libiksemel.so.3

    接着爲 zabbix 命令行操作文件做鏈接,方便系統可以找得到。

        #ln -s /usr/local/zabbix/bin/* /usr/bin/

        #ln -s /usr/local/zabbix/sbin/* /usr/sbin/ 



    設置用service命令 啓動腳本

        拷貝zabbix啓動腳本到/etc/init.d/下。

        #cp /opt/zabbix-2.4.1/misc/init.d/fedora/core/zabbix_* /etc/init.d/

      

        修改zabbix啓動腳本中程序目錄的位置。

        vim /etc/init.d/zabbix_server

        需要修改內容如下:

            BASEDIR=/usr/local/zabbix

      vim /etc/init.d/zabbix_agentd

         需要修改內容如下:

      BASEDIR=/usr/local/zabbix

    並添加可執行權限:

      #chmod +x /etc/init.d/zabbix_server

         #chmod +x /etc/init.d/zabbix_agentd


添加開啓啓動

#chkconfig --add zabbix_server

#chkconfig --add zabbix_agentd

#chkconfig --level 345 zabbix_server on

#chkconfig --level 345 zabbix_agentd on

添加完,則使用命令chkconfig –list|grep zabbix查看下是否成功

   修改web相關配置

#mkdir /var/www/html/zabbix 

#cp -a /opt/zabbix-2.4.1/frontends/php/* /var/www/html/zabbix/

#chown -R zabbix.zabbix /var/www/html/zabbix/

然後對php配置文件做相應的調整

vim /etc/php.ini

修改以下內容(具體工作環境配置內容需要改變):

max_execution_time = 600

max_input_time = 600

memory_linit = 256M

post_max_size=32M

upload_max_filesize =16M’

date.timezone =PRC(或者就Asia/Shanghai)

修改完直接重啓apache服務

#service httpd restart

#service zabbix_server restart

#service zabbix_agentd restart


編譯安裝完畢!!下一步使用web登錄zabbix,配置zabbix。



配置zabbix

http://192.168.1.108/zabbix/



wKiom1WwJHzS_PewAAEPuBkodmI094.jpg



wKiom1WwJHvRJPaWAAFxvZv2N-s932.jpg

此處有報錯的話就檢查報錯。

wKioL1WwJmGjajBIAAEIoOe_B6c772.jpg

host:填寫zabbix-server的ip地址或主機名。

wKiom1WwJHzzHHqNAAExXo25nSM822.jpg



wKioL1WwJmSBMlCYAADsJQe0oU4312.jpg

wKioL1WwJmHglL4sAAEpFC-BwtM109.jpg


到了此處說明zabbix服務端的安裝已經完成.下面講解zabbix的使用。




修改成中文:

          若不習慣英文可以調節成中文(右上角)

wKioL1WwKJyQUDfPAABSREQjBBs206.jpg

        

wKiom1WwJH_zGupjAAFho9DyV6E190.jpg保存後,最終如下圖


wKioL1WwJmHB2JOEAACp1FPLpcc178.jpg




解決zabbix圖中出現中文亂碼情況

設置zabbix的語言爲中文時,圖中的中文會變成方塊。如下圖:



wKioL1WwJmSyS7e7AAKp5r8s_dw040.jpg


     這個問題是由於zabbix的web端沒有中文字庫導致的,需要把中文字庫加上即可。

         具體操作如下:

                    a  在windows系統中的c:\windows\fonts目錄中拷貝一個自己喜歡的字體文件出來,

                           例如:simkai.ttf (楷體 常規 )。

                    b  把拷貝出來的字體上傳到zabbix server 上 /var/www/html/zabbix/fonts目錄下。

                    c  將zabbix server 上fonts目錄下原來的“DejaVuSans.ttf”改名。例如爲“DejaVuSans.ttf.bak”

                            cd /var/www/html/zabbix/fonts

                            mv DejaVuSans.ttf/var/www/html/zabbix/fonts/DejaVuSans.ttf.bak。

                    d  將上傳上去的文件改成“DejaVuSans.ttf”

                                mv  simkai.ttf  /var/www/html/zabbix/fonts/DejaVuSans.ttf

                    e  刷新下web頁面會發現原來中文亂碼的地方都正常的



wKioL1WwJmDyq7heAALmdfggzbU085.jpg




後續還會修改,有錯誤請各位不吝指出,謝謝。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章