實戰網絡監控Zabbix(1)—— 遠程監控主機服務

1. Zabbix 簡介
php

        Zabbix 是一個高度集成的網絡監控解決方案,能夠提供企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,軟件能夠自由下載使用,運做團隊靠提供收費的技術支持贏利。前端

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

   1.1 zabbix模式linux

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

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

      Server 端:經過收集 SNMP 和 agent 發送的數據,寫入數據庫(MySQL,ORACLE 等),再經過 php+apache 在 web 前端展現。數據庫

   1.2 Zabbix 運行條件:apache

      Server:Zabbix Server 需運 行在 LAMP( Linux+Apache+Mysql+PHP)環 境下( 或者LNMP),對硬件要求低vim

     Agent:目前已有的 agent 基本支持市面常見的 OS,包含 Linux、HPUX、Solaris、Sun、windowswindows

     SNMP:支持各種常見的網絡設備

wKioL1gTG4bQDEfoAAOSyU71uvg759.png

2.優劣勢

    優勢:

        開源,無軟件成本投入

        Server 對設備性能要求低

        支持設備多,自帶多種監控模板

        支持分佈式集中管理,有自動發現功能,能夠實現自動化監控

        開放式接口,擴展性強,插件編寫容易

        當監控的 item 比較多服務器隊列比較大時能夠採用被動狀態,被監控客戶端主動從server 端去下載須要監控的 item 而後取數據上傳到 server 端。這種方式對服務器的負載比較小。

        Api 的支持,方便與其餘系統結合

    缺點:

        需在被監控主機上安裝 agent,全部數據都存在數據庫裏,產生的數據據很大,瓶頸主要在數據庫。


實驗環境:

    物理主機    redhat7.0 內核版本 3.10.0-123.el7.x86_64

    虛擬機    redhat6.5 內核版本 2.6.32-431.el6.x86_64

        服務器端: server1.example.com    172.25.254.1

        客戶端:    server2.example.com    172.25.254.2

    所需軟件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm



一.服務器端配置

Zabbix 須要 lamp 環境:

wKioL1gTHfCB0mEdAAAMgsf_bZc038.png

1. 安裝 zabbix 所需軟件包

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm

wKioL1gTHpqyQJFjAABTANt5w6w562.png

2. 配置 mysql 數據庫

# service mysqld start

# mysql

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'willis';

mysql> quit;

# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create

# mysql -uzabbix -pwestos zabbix < schema.sql

## stop here if you are creating database for Zabbix proxy ##

# mysql -uzabbix -pwestos zabbix < p_w_picpaths.sql

# mysql -uzabbix -pwestos zabbix < data.sql

wKiom1gTH8jR4OgOAAA4rXTM07M272.png

wKiom1gTH8eRf28wAAA4GT0vGlg457.png

wKiom1gTIHujuDvAAAA2dJuU2cg592.png

3. 配置 zabbix server

[root@server1 create]# vim /etc/zabbix/zabbix_server.conf 

72    DBHost=localhost

82    DBName=zabbix

106  DBPassword=willis

163  StartTrappers=10

wKioL1gVfhyjNme1AAANlxvDH00810.png

wKiom1gVfhyS1Q9CAAAiIS9xYmI557.png

wKiom1gVkH-R5cv2AAAUGbSX1xE962.png

4. 配置 php

[root@server1 conf.d]# vim /etc/php.ini 

 946 date.timezone = Asia/Shanghai

[root@server1 conf.d]# pwd

/etc/httpd/conf.d

[root@server1 conf.d]# vim zabbix.conf 

 13     php_value max_execution_time 300

 14     php_value memory_limit 128M

 15     php_value post_max_size 16M

 16     php_value upload_max_filesize 2M

 17     php_value max_input_time 300

 18     php_value date.timezone Asia/Shanghai

wKioL1gVfqvx8vZQAAALrogdVP0681.png

wKiom1gVfqvg_7JWAABNRRnBe1E709.png

5. 啓動 zabbix server、zabbix agent、httpd

# service httpd start

# service zabbix-server start

# service zabbix-agent start

wKioL1gTIxOjmU4MAAA28wos-7k396.png6. 登錄 zabbix web

http://172.25.254.1/zabbix 按照提示完成安裝並登錄:

wKiom1gTI2bzD_w4AAHwmg1y7xw801.png


wKioL1gTJCPyEXLqAABC4M4Jlr0126.png


wKiom1gTJSGSQqwIAAApxC9T-FI864.png



wKioL1gTJSDAr5RHAABO3qT47YM686.png


wKiom1gTJSCxICwzAAAWQ_maReA597.png


wKioL1gTJZOBY22XAAFWnJfgfMo755.png

Username: Admin

Password: zabbix


wKiom1gVgDnSQ53DAADxZjNFDnw376.png

能夠看到 Zabbix server is running 狀態值爲Yes.服務端部署完成。



二.被監控端配置(server2)

    7. 添加 agent 主機

    7.1在被監控端安裝軟件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

wKiom1gTJuewdyK7AAAljvh4gTA618.png

    7.2配置 zabbix agent

# vim /etc/zabbix/zabbix_agentd.conf

85      Server=172.25.254.1

126    ServerActive=172.25.254.1

137    Hostname=server2.example.com    #主機名須要有解析

wKioL1gVg9GDMh2iAAAXf4-Lpms932.png

    7.3啓動 zabbix agent

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart

wKiom1gVhDeQd0a6AAAhAem0k-c507.png


網頁端配置:

 Configuration ->Discovery

wKiom1gVhnqDVQXMAAB5Fvrmyo4593.png

8. 在 zabbix server 上激活 zabbix agent 自動註冊功能

點擊 Configuration -> Actions ->Auto registration ->Create action 按下圖所示設置:

wKiom1gVinyzW3K3AABgHrhmfls898.png


自定義 Action 的名字。

Conditions 選項卡保持默認便可。

Operations 選項卡添加以下:


wKiom1gVinvjJKwkAABkkPWpSw0742.png

Add host:自動註冊主機添加到 hosts 列表

Add to host groups:自動註冊主機加入 linux servers 組(組名能夠自定義)

Link to templates:自動註冊主機應用模板 Template OS linux

wKioL1gVi0OweJO3AACbZ-V6j2A697.png


點擊 Configuration -> Hosts 能夠看到新加的主機:

wKiom1gVjO-BlYF0AABf4zPPusA488.png



三. 添加http服務監控

    Zabbix 的更多功能值得你們一塊兒研究和分享。

    來看看 zabbix 是怎樣添加服務監控項的,利用 zabbix 自帶的監控模版,以 http 服務爲例:

wKiom1gVjfOhlCuFAADCGuYNq8M744.png

   點擊 Configuration -> Templates 選擇須要連接的模版

   也能夠在 Configuration -> Hosts -> server2.example.com -> Templates 選擇須要的模版

wKiom1gVme7B_sAOAAB1gf6zE7A038.png

這樣主機 server2.example.com 的監控項中就出現了 HTTP 服務

wKioL1gVmkrQVIVVAAAhsI7Fz4w026.png


四.監控遠程主機Mysql服務

    在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何獲取 mysql服務的各類信息,並在/var/lib/zabbix 目錄中新建「.my.cnf」文件,用以指定 zabbix agent 如何登錄數據庫,默認使用的是 zabbix 用戶,能夠在 zabbix_server.conf 文件中找到密碼。

[root@server2 zabbix]# yum install mysql-server -y

[root@server2 zabbix]# /etc/init.d/mysqld start

[root@server2 zabbix]# mysql_secure_installation   

                                    ###初始化數據庫 ,我把數據庫密碼改爲了willis

[root@server2 zabbix]# mkdir /var/lib/zabbix

[root@server2 zabbix]# cp /etc/my.cnf /var/lib/zabbix/.my.cnf

[root@server2 zabbix]# vim /var/lib/zabbix/.my.cnf

wKioL1gVlkaDGREAAAAke3d22S4674.png

[mysql]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

[mysqladmin]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

wKiom1gVlpei8A72AAAyodPoteE011.png

監控遠程主機的 mysql 服務須要建立 zabbix 用戶並受權,本機監控則不須要。

mysql> grant select on *.* to 'zabbix'@'localhost' identified by 'willis';

[root@server2 zabbix]# mysql -uzabbix -pwillis

wKioL1gVmBSg4FrvAAA5zAb1-Wc841.png

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart

Shutting down Zabbix agent:                                [  OK  ]

Starting Zabbix agent:                                     [  OK  ]


連接 mysql 監控模版:


wKiom1gVnEPiiKOzAAB08hH55gg936.png


點擊 Configuration -> Hosts -> server2.example.com-> Graphs 能夠看到兩個新的監控圖形

wKioL1gVnJ6hoq5sAAAWiVXwBw4293.png

過一會能夠看到監控的圖形變化

wKioL1gVnN_weSLmAACaiAaiq4M096.png

相關文章
相關標籤/搜索