zabbix分布式監控的部署與win被控端


     zabbix是一個分布式監視,管理系統,基於server-clinet架構,可用於監視各種網絡服務,服務器和網絡機器等狀態.

server端基於C語言,web管理端Frontend則是基於PHPA制作的,在clinet端如UNIX,windows中安裝zabbix agent之后,可監控CPU,負載,網絡使用情況,硬盤容量等各種狀態.

      zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級開源解決方案,Zabbix能夠監視各種網絡參數,保證服務器系統安全運行;並提供靈活的通知機制讓系統管理員快速的定位/解決各種問題;

zabbix由兩部分組成,zabbix-server與可選組件zabbix agent。zabbix server 可以通過SNMP,zabbix agent,ping端口監視監控遠程主機,數據收集等功能;

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

          Zabbix主要特點:

   安裝與配置簡單,學習成本低;支持多語言;免費開源;自動發現服務器與網絡設備;

   分布式監視以及WEB集中管理功能;可以無agent監視;用戶安全認證和柔軟的授權方式;

   通過WEB界面設置或查看監視結果;email等通知功能;

   Zabbix主要功能:

CPU負載;內存的使用;磁盤的使用;網絡狀況;端口的監視;日志的監視;

    Zabbix主要有5個主菜單欄:

Moniting:主要是對監控對象的一些相關展示,比如說web應用的展示;

Inventory:資產管理,類似於公司里的資產管理,比如一個硬件設備,這里可能會標識設備的名稱,操作系統,MAC地址,資產編號等;

Reports:這里主要展示了zabbix服務的狀態,比如主機數,報警屬,還有就是展示了一寫設備的可用性報表等相關的信息;

Congfiguration:這里主要用來對系統的配置,比如創建主機,創建模板,創建報警,創建流量圖片等相關的基本配置主要通過這里來實現的,

Adminstration:這里也是用了對系統進行配置,可configuration相比,這里的配置主要實現對zabbix本身的一些相關的配置工作,比如登錄zabbix的用戶的創建等工作主要通過這里來配置

Zabbix監控功能:

監控服務器的運行狀態:CPU,內存,網卡。硬盤容量,磁盤I/O,負載locad;

監控應用的port,連接數,web網站的關鍵詞

監控網絡設備,防火牆,交換機,路由器,帶寬流量,以及運行是否正常

服務底層硬件:CPU溫度,風扇轉速以及硬盤損壞

開源主流的監控軟件:

  1. zabbix(C/S):自動發現,自動監控,分布式
  2. cacti,Nagios,Ganglia,Mrtg(分布式不支持,自動發現,自動監控)
  3. 支持自動發現服務器和網絡設備;
  4. 支持底層自動發現,
  5. 分布式的監控體系和集中式的web管理;
  6. 支持主動監控和被動監控模式
  7. 服務器端支持多中操作系統:linux,solaris,HP-UX,ALX,Freebsd,openbsd,MAC等
  8. Agent客戶端支持多種操作系統:linux,solaris,HP-UX,ALX,FreeBSD,windows等
  9. 基於SNMP,IPMI接口方式也可以監控Agent;
  10. 安全的用戶認證及權限配置
  11. 基於WEB的管理方法,支持自由的自定義時間和郵件發送;
  12. 高水平的業務管理方法,支持自由的自定義事件和郵件發送;
  13. 高水平的業務視圖監控資源,支持日志審計,資產管理等功能 ;
  14. 支持高水平APL二次開發,腳本監控,自KEY定義,自動化運維整合的調用

    環境部署:

Centos6.5(zabbix-server)ip:192.168.20.209

centos6.5(zabbix-proxy):192.168.20.20.207

Centos6.5(zabbix-agent被控端)ip:192.168.20.150

 

zabbix-server端的部署於配置:

yum搭建LAMP環境
yum install httpd httpd-devel httpd-tools mysql mysql-devel mysql-server
由於Zabbix3.2+ PHP版本需要使用PHP5.4.0版本,請將本機PHP版本升級至5.4.0+,PHP5.3升級至PHP5.6;
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-mbstring php56w-bcmath php56w-gd php56w-xml -y --skip-broken
部署zabbix-server端(ps:centos6.x版本在后面郵件報警)
 Zabbix郵件發送失敗,報錯Support for SMTP authentication was not compiled in,原因是由於Zabbix CURL版本要求至少是7.20+版本,升級CURL,升級方法:
root@zabbix-server ~]# wget http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
[root@zabbix-server ~]# rpm -ivh city-fan.org-release-1-13.rhel6.noarch.rpm
[root@zabbix-server ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/libnghttp2-1.6.0-1.el6.1.x86_64.rpm
[root@zabbix-server ~]# yum upgrade libcurl libcurl-devel -y
 
[root@zabbix-server ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI gcc
[root@zabbix-server ~]# useradd -M -s /sbin/nologin zabbix
[root@zabbix-server ~]# tar zxvf zabbix-3.2.7.tar.gz
[root@zabbix-server ~]# cd zabbix-3.2.7/
server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
[root@zabbix-server zabbix-3.2.7]# make
[root@zabbix-server zabbix-3.2.7]# make install
[root@zabbix-server zabbix-3.2.7]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
root@zabbix-server zabbix-3.2.7]# cd /usr/local/zabbix/etc/
[root@zabbix-server etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
[root@zabbix-server etc]# cp zabbix_server.conf zabbix_server.conf.back
[root@zabbix-server etc]# vim zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
[root@zabbix-server ~]# /etc/init.d/mysqld start #啟動mysql服務&進入數據庫
mysql> create database zabbix charset=utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by '123456';
mysql> flush privileges;
[root@zabbix-server ~]# cd zabbix-3.2.7/database/mysql/
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < schema.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < images.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix < data.sql
[root@zabbix-server ~]# cp -a zabbix-3.2.7/frontends/php/* /var/www/html/ #將zabbix的php配置文件拷貝到網站根目錄&進行圖形化安裝
[root@zabbix-server ~]# ls /var/www/html/
更改PHP配置文件相關設置
[root@zabbix-server ~]# sed -i 's/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini
[root@zabbix-server ~]# sed -i '/max_execution_time/s/30/600/g;/max_input_time/s/60/600/g;/memory_limit/s/128M/256M/g;/post_max_size/s/8M/32M/g;/upload_max_filesize/s/2M/16M/g;s/\;date.timezone.*/date.timezone \=\Asia\/Shanghai/g' /etc/php.ini
重啟httpd,zabbix_server,mysqld(已啟動)
[root@zabbix-server ~]# cd zabbix-3.2.7/misc/init.d/tru64/
[root@zabbix-server tru64]# cp zabbix_* /etc/init.d/
[root@zabbix-server tru64]# chmod o+x /etc/init.d/zabbix_server
[root@zabbix-server tru64]# /etc/init.d/zabbix_server start
[root@zabbix-server ~]# /etc/init.d/httpd start
[root@zabbix-server ~]# netstat -anput | grep httpd
tcp 0 0 :::80 :::* LISTEN 10751/httpd
udp 0 0 192.168.20.209:39651 192.168.20.2:53 ESTABLISHED 10751/httpd
[root@zabbix-server tru64]# netstat -anput | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 10679/zabbix_server
tcp 0 0 :::10051 :::* LISTEN 10679/zabbix_server

[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
Server=192.168.20.209
ServerActive=192.168.20.209
Hostname =192.168.20.209
[root@zabbix-server etc]# /etc/init.d/zabbix_agentd start 即可!
上傳字體windows中文字體,是zabbix圖形監控能有識別亂碼

[root@zabbix-server fonts]# mv SIMKAI.TTF DejaVuSans.ttf

 

######################################################################################################################

zabbix-proxy分布式的配置

Zabbix是一個分布式監控系統,它可以以一個中心點、多個分節點的模式運行,使用Proxy能大大的降低Zabbix Server的壓力,Zabbix Proxy可以運行在獨立的服務器上,

Zabbix agent 在windows上安裝部署

首先,我們需要在zabbix-server端創建zabbix-proxy端的新數據庫

mysql> create database zabbix_proxy charset=utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix_proxy.* to zabbix@‘%’ identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@zabbix-server ~]# cd zabbix-3.2.7/database/mysql/

[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix_proxy <schema.sql
[root@zabbix-server mysql]# mysql -uzabbix -p123456 zabbix_proxy <images.sql

接下來我們在zabbix_proxy部署分布式

[root@zabix-proxy ~]# yum  install -y mysql mysql-devel

[root@zabix-proxy ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBIc

[root@zabix-proxy ~]# useradd -M -s /sbin/nologin zabbix

 [root@zabix-proxy zabbix-3.2.7]# make install 

root@zabix-proxy ~]# tar zxvf zabbix-3.2.7.tar.gz

[root@zabix-proxy ~]# cd zabbix-3.2.7
[root@zabix-proxy zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix/ --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

[root@zabix-proxy zabbix-3.2.7]# make

[root@zabix-proxy zabbix-3.2.7]# make install 

root@zabix-proxy zabbix-3.2.7]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

[root@zabix-proxy zabbix-3.2.7]# cd /usr/local/zabbix/etc/
[root@zabix-proxy etc]# cp zabbix_proxy.conf zabbix_proxy.conf.back
[root@zabix-proxy etc]# vim zabbix_proxy.conf

Server=192.168.20.209
Hostname=192.168.20.207
LogFile=/tmp/zabbix_proxy.log
DBHost=192.168.20.209
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456
Timeout=4
LogSlowQueries=3000
DataSenderFrequency=30
HistoryCacheSize=128M
CacheSize=128M

[root@zabix-proxy etc]# mysql -h192.168.20.209 -uzabbix -p123456

 

[root@zabix-proxy ~]# /usr/local/zabbix/sbin/zabbix_proxy    #啟動proxy
[root@zabix-proxy ~]# netstat -anput | grep zabbix_proxy

zabbi-proxy啟動完成之后,接下來我們需要在zabbi-server端上添加proxy

 

創建主機使用proxy端監控

PS:proxy監控某台機器,需要將該機器的配置IP指向proxy端,不能再指向zabbi-server端,因為是由proxy監控並將監控數據上報給zabbix-server端

重啟agent端生效!

新建的主機監控需要添加監控模板

 

ps:如果server端未能正常獲取到監控圖形數據,在保證server端配置無誤的情況下,我們可以檢查proxy和agent端,包括時間是否同步,IP地址指向是否正確!

 到此為止zabbix-server通過proxy端監控agent成功!!!!!!!!!!!!!!!

########################################################

批量發現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM