偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

轉角遇到Zabbix:企業(yè)級分布式系統(tǒng)監(jiān)控部署

運維 系統(tǒng)運維 分布式
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網絡監(jiān)視功能的企業(yè)級的開源解決方案。借助zabbix,可以減輕運維人員們繁重的服務器管理任務,實現(xiàn)業(yè)務系統(tǒng)的持續(xù)運行。本文中,作者sfzhang結合公司的實際機房分布在多個城市的案例,總結了Zabbix分布式部署實施方案的全過程。

【編者按】Zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網絡監(jiān)視功能的企業(yè)級的開源解決方案。借助Zabbix,可以減輕運維人員們繁重的服務器管理任務,實現(xiàn)業(yè)務系統(tǒng)的持續(xù)運行。本文中,作者張世鋒結合公司的實際機房分布在多個城市的案例,總結了Zabbix分布式部署實施方案的全過程。


最近在研究Zabbix監(jiān)控,由于機房分布在多個城市,因此采用zabbix proxy做為監(jiān)控方案,在每個節(jié)點部署zabbix proxy,由zabbix proxy收集agentd數據,然后將采集到的數據主動推送給zabbix server,zabbix server將數據存入數據庫,并在WEB前端顯示。

一、Zabbix主要功能和優(yōu)劣勢說明

1、Zabbix主要功能:

1)Application monitoring 應用監(jiān)控

數據庫/SSH/Apache/Nginx等應用程序的監(jiān)控。

2)Server monitoring 服務器監(jiān)控

CPU,內存,SWAP,磁盤空間,網卡流量的監(jiān)控等,可以通過瀏覽器實時查看Graphs。

3)Network monitoring 網絡設備監(jiān)控

支持Cisco, Juniper, 3Com等網絡設備,網絡設備通過SNMP(SNMP (v1,v2,v3) devices)協(xié)議進行監(jiān)控。

4)添加自定義監(jiān)控,對于Zabbix無法滿足的監(jiān)控,可以添加自定義監(jiān)控。

2、Zabbix 優(yōu)勢:

1)安裝配置簡單,支持多種語言,包括中文。

2)系統(tǒng)自帶多種監(jiān)控模板,可以直接使用。

3)支持分布式部署和WEB集中管理(通過WEB頁面設置或查看報警結果)。

4)自動發(fā)現(xiàn)主機和網絡設備(discovery of file systems,network interfaces,hosts and netwrok devices)。

5)WEB監(jiān)控:可以監(jiān)控WEB下載速度,返回碼及響應時間。

6)提供實時和歷史的監(jiān)控分析數據。

7)EMAIL報警,按照故障級別|服務器類型|業(yè)務類型發(fā)送EMAIL郵件到相關負責人。

3、Zabbix 劣勢:

1)需要在被監(jiān)控機器上面安裝agent。

2)All configuration information都存儲在數據庫里面,數據庫是整個監(jiān)控平臺的瓶頸。

二、Zabbix分布式部署需求分析

1、軟件需求

官方推薦的軟件配置

 1)MySQL5.0.3 or laterRequired if MySQLis used as Zabbix back end database,InnoDB engine isrequired.

 2)PHP 5.3.0 or later

 3)Apache 1.3.12 or later

2、硬件需求

官方推薦的最小硬件配置:

#p#

三、Zabbix分布式部署實施

1、分布式部署拓撲圖

補充說明:

當proxy部署為主動模式(Active)時,Zabbix Server的負載最小。

 1)Server:負責把數據寫入到數據庫,然后通過Apache|Nginx +php在WEB前端顯示。

 2)Proxy:幫助server采集被監(jiān)控端的數據,并把采集到的數據主動傳送給Server,proxy只負責數據收集。

 3)Database:所有的配置信息都存儲在數據庫里面,Zabbix server數據庫和proxy數據庫必須獨立。

 4)Agent:agent的作用就是獲取host數據,然后將收集到的數據發(fā)送給server(主動模式),或者是server主動來拿取數據(被動模式)。

 5)Email:通過Qmail|postfix的SMTP負責報警郵件的發(fā)送(故障郵件和故障恢復郵件)。

2、Zabbix分布式安裝部署:

1)Mysql 數據庫安裝(參照:http://sfzhang88.blog.51cto.com/4995876/900846)

2)LNMP + Zabbix server 安裝(參照:http://sfzhang88.blog.51cto.com/4995876/978686)

3)Zabbix proxy 安裝(略)

4)Zabbix agent 安裝

  1. [root@www20 shell]# cat zabbix_agentd_install.sh 
  2. #!/bin/sh 
  3. #Create by sfzhang 2014.02.27 
  4. yum -y install net-snmp 
  5. yum -y install net-snmp-devel 
  6. BASE_DIR="/data/software" 
  7. TAR="zabbix-2.2.1.tar.gz" 
  8. tar -zxvf $BASE_DIR/$TAR -C$BASE_DIR 
  9. cd $BASE_DIR/zabbix-2.2.1 
  10. ./configure--prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent 
  11. make && make install 
  12. groupadd zabbix 
  13. useradd zabbix -g zabbix 
  14. cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd 
  15. chmod 700/etc/init.d/zabbix_agentd 
  16. chown zabbix.zabbix/etc/init.d/zabbix_agentd 
  17. sed -i "/BASEDIR=/s#/.*#/usr/local/zabbix#" /etc/init.d/zabbix_agentd 
  18. sed -i"s#bin/zabbix_agentd#sbin/zabbix_agentd#" /etc/init.d/zabbix_agentd 
  19. sed -i"s#Server=127.0.0.1#Server=192.168.161.129#"/etc/zabbix/zabbix_agentd.conf 
  20. sed -i"s#ServerActive=127.0.0.1#\#ServerActive=127.0.0.1#"/etc/zabbix/zabbix_agentd.conf 
  21. sed -i "/Hostname=/s#=.*#"=$HOSTNAME#""/etc/zabbix/zabbix_agentd.conf 
  22. sed -i"s#\#/tmp/zabbix_agentd.pid#/data/logs/zabbix_agentd.pid#"/etc/zabbix/zabbix_agentd.conf 
  23. sed -i"s#/tmp/zabbix_agentd.log#/data/logs/zabbix_agentd.log#"/etc/zabbix/zabbix_agentd.conf 
  24. sed -i "s#\#Timeout=3#Timeout=30#" /etc/zabbix/zabbix_agentd.conf 
  25. cat>>/etc/services<<EOF 
  26. #Zabbix services 
  27. zabbix-agent 10050/tcp#Zabbix Agent 
  28. zabbix-agent 10050/udp#Zabbix Agent 
  29. zabbix-trapper 10051/tcp#Zabbix Trapper 
  30. zabbix-trapper 10051/udp#Zabbix Trapper 
  31. EOF 
  32. /etc/init.d/zabbix_agentdstart 

四、Zabbix WEB前端配置

1、配置proxy代理

2、添加Groups和hosts

通常Groups按照頻道或者是WEB,MYSQL,memcache等服務類型分組的,提供相同服務的服務器分為一組,便于后期的維護和管理。

3、自定義監(jiān)控模板,監(jiān)控項和觸發(fā)器

#p#

五、zabbix主要功能展示

1、服務器監(jiān)控

1)CPU負載監(jiān)控

2)內存空間的監(jiān)控

3) 磁盤空間的監(jiān)控

4)交換分區(qū)的監(jiān)控

5) 網卡流量的監(jiān)控

除此之外,還有服務器重啟的監(jiān)控,添加刪除用戶時的監(jiān)控,主機存活狀態(tài)的監(jiān)控(ICMP ping協(xié)議)等。

2、應用程序的監(jiān)控

Zabbix有很多系統(tǒng)自帶的模板,在添加主機的時候Link相關的模板即可。

當停止主機的上面的SSH服務或者Apache服務的時候會產生報警。

3、WEB Monitoring

Web Monitoring是用來監(jiān)控web程序的,可以監(jiān)控到web程序的下載速度、返回碼及響應時間。當返回碼不為200的時候也可以產生報警。

4、Zabbix Screens

Screen將多種信息放在一起展示,便于集中展示某個主機的監(jiān)控信息。

5、Zabbix maps

Zabbix的maps用來圖形化顯示監(jiān)控設備的拓撲圖,并且以不同的標記顯示故障事件,通過該圖表很直觀的顯示設備的整體情況。

#p#

六、Zabbix自定義監(jiān)控

在實際應用當中,好多監(jiān)控系統(tǒng)都滿足不了實際的需求,需要根據實際的需求添加自定義監(jiān)控。比如說:監(jiān)控應用服務器tuxedo排隊,當隊列大于2000的時候報警。監(jiān)控apache,mysql鏈接數,當大于2000的時候報警等等,此時Zabbix需要借助scripts來完成。

實例:監(jiān)控http和mysql ESTABLISHED和TIME_WAIT連接數,當大于100的時候報警,并在WEB頁面實時查看連接數。

1、在要監(jiān)控的服務器上面編寫Shell/python腳本,取出ESTABLISHED和TIME_WAIT連接數。

  1. [root@monitor scripts]# catcheckservices.sh 
  2. #!/bin/sh 
  3. #Create by sfzhang 2014.02.10 
  4. ARGS=1 
  5. if [ $# -ne "$ARGS"];then 
  6. echo "Please input one arguement"; 
  7. fi 
  8. case $1 in 
  9. EST_80) 
  10. result=`netstat -anp | grep :80 | grep EST | wc -l` 
  11. echo$result 
  12. ;; 
  13. TIME_OUT_80) 
  14. result=`netstat-anp | grep :80 | grep TIME_WAIT | wc -l` 
  15. echo$result 
  16. ;; 
  17. EST_3306) 
  18. result=`netstat -anp | grep :3306 | grep EST | wc -l` 
  19. echo $result 
  20. ;; 
  21. TIME_OUT_3306) 
  22. result=`netstat -anp | grep:3306 | grep TIME_WAIT | wc -l` 
  23. echo $result 
  24. ;; 
  25. EST_11211) 
  26. result=`netstat -anp | grep :11211 | grep EST | wc -l` 
  27. echo $result 
  28. ;; 
  29. TIME_OUT_11211) 
  30. result=`netstat -anp | grep:11211 | grep TIME_WAIT | wc -l` 
  31. echo $result 
  32. ;; 
  33. *) 
  34. echo"Usage:$0(EST_80|TIME_OUT_80|EST_3306|TIME_OUT_3306|EST_11211|TIME_OUT_11211)" 
  35. ;; 
  36. esac 

2、在Zabbix_agentd.conf里面添加UserParameter,格式如下,對于Zabbix來說,腳本其實就是一個插件。

  1. UserParameter=checkservices.sh[*],/etc/zabbix/scripts/checkservices.sh $1 $2 

重啟agentd服務器,然后在zabbix server用zabbix_get就可以取到值。

3、要監(jiān)控的服務器有多臺的時候,最簡單的方法是先編寫一個Templates(模板),在Link到要監(jiān)控的服務器上面。

4、給新添加的模板Linux_service_templates添加Applications。

5、給新添加的模板Linux_service_templates添加Items(監(jiān)控項)。下面是添加http ESTABLISHED監(jiān)控條目。

6、給新添加的模板Linux_service_templates添加Triggers(觸發(fā)器)。下面是添加 http ESTABLISHED觸發(fā)器,當連接數大于2000的時候報警,故障級別為High。

7、要在WEB前端實時查看http的連接情況,必須配置Graph。在一個Graph里面可以添加多個Item數據。

8、要查看Graphs在要監(jiān)控的主機上面Link剛才的模板Linux_service_templates。

9、在WEB前端查看實時連接情況。

Http連接情況:

Mysql連接情況:

#p#

七、Zabbix discovery

1、Network discovery

Zabbix network discovery能自動發(fā)現(xiàn)網絡中存活的主機,可用通過proxy代理或者Zabbix server 發(fā)現(xiàn)網絡中存活的主機,并按照Actions里面定義的條件自動添加到Zabbix監(jiān)控里面。

1)首先:添加Discovery rule,可以通過proxy代理或者zabbix server添加rule。

2)然后create Actions,指定Actions的Conditions,必須具備下列條件才能自動添加,Discover 

rule:規(guī)則為 Local network,system.uname的值中包含Linux,Zabbix agentd服務必須正常運行。

3) 配置Actions的operations,將Actions里面符合條件的主機添加到shwww組里面并Link要監(jiān)控的模板。

4)查看Discover自動發(fā)現(xiàn)的主機自動添加到Zabbix里面。

2、Zabbix Low-level discovery

Zabbis Low-level discovery 可以自動創(chuàng)建監(jiān)控項,觸發(fā)器和圖像的方法。Zabbix可以自動發(fā)現(xiàn)主機上面的文件系統(tǒng)或者網絡接口,不需要對每個文件系統(tǒng)和網絡接口手動創(chuàng)建監(jiān)控項,觸發(fā)器和圖像。Zabbix 還可以自動刪除不需要的監(jiān)控項,比如:上例當中的,當agentd宕機超過24小時的時候可以自動刪除監(jiān)控,只需在action里面配置即可。

實例:監(jiān)控服務器上面所有TCP端口,就可以通過Low-level discovery輕松實現(xiàn)。

八、Zabbix報警郵件機制

1、基于業(yè)務類型發(fā)送報警郵件

當數據庫服務器出問題時發(fā)給DBA組,當系統(tǒng)出問題時發(fā)給System組。

2、基于故障級別或者時間發(fā)送郵件

九、Zabbix資產管理

Zabbix可以自動收集主機的hostname,OS,cpu信息,MAC等信息。需要在添加主機的時候開啟Host inventory Automatic功能,并按照官方手冊添加Item即可。

十、Zabbix 報表功能

附錄:

1、官方在線文檔:

https://www.zabbix.com/documentation/2.2/manual/introduction

原文鏈接:http://sfzhang88.blog.51cto.com/4995876/1364399

責任編輯:黃丹 來源: 51TCO博客
相關推薦

2014-03-10 17:21:00

IT技術周刊

2021-08-24 05:02:34

云原生容器分布式

2025-07-17 00:05:00

MCPAI 技術Nacos 3.0

2011-04-01 10:18:12

zabbix

2021-08-28 05:04:19

存儲云原生分布式

2020-11-24 09:36:19

分布式監(jiān)控系統(tǒng)

2011-03-29 13:25:10

Zabbix監(jiān)控

2011-04-01 14:54:23

zabbix漢化分布式監(jiān)控

2011-04-01 14:28:58

zabbix應用proxy

2021-08-26 00:23:14

分布式存儲高可用

2009-10-26 14:10:46

分布式設計

2009-08-25 13:25:00

Java企業(yè)級應用架構分布式結構

2016-02-23 13:16:08

網絡監(jiān)控網絡可用性監(jiān)控系統(tǒng)

2011-03-29 11:27:37

監(jiān)控Zabbix

2021-08-25 05:05:26

存儲 備份恢復

2011-03-29 11:28:03

Linux安裝zabbix

2011-03-29 11:17:57

ZABBIX監(jiān)控

2014-03-11 16:13:43

分布式NTP應用方案

2019-06-27 10:17:40

Centos7Pinpoint監(jiān)控

2021-08-26 23:54:46

分布式存儲負載
點贊
收藏

51CTO技術棧公眾號