久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

企業(yè)級分布式監(jiān)控-zabbix

 Dead n Gone 2015-04-10

前言

zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)控以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級開源解決方案,。zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),,保證服務(wù)系統(tǒng)的安全運營,,并提供柔軟的通知機(jī)制以快速定位/解決存在的各種問題,是系統(tǒng)運維的常用神器之一,。

兩周前,,向老板提出自己的一個建議,想在我們自己的開發(fā)測試環(huán)境里,,搭建一套zabbix系統(tǒng),,把Local的環(huán)境監(jiān)控起來。之所以有這個想法,,主要基于以下幾點:

  • 曾經(jīng)多次花時間debug一些問題,,最后發(fā)現(xiàn)是環(huán)境問題,如某個服務(wù)起不來,,最后發(fā)現(xiàn)是磁盤空間不夠,,etc。很多時候重復(fù)的去做一些重復(fù)的事情,,更加浪費人力和時間

  • 產(chǎn)品的運維部在美國,,production環(huán)境配備有一套完整的產(chǎn)品配置管理和監(jiān)控系統(tǒng)(cfengine+zabbix)

  • 通過Zabbix,可視化項目中各種KPI,,出現(xiàn)故障時,,能夠有效的第一時間定位和分析

以前利用閑暇時間了解和簡單用過Nagios,因為沒有項目作支撐,,沒有深入研究,,但對于系統(tǒng)監(jiān)控有個基本的了解。這次研究和搭建zabbix基本沒有花太多的時間,。半天時間zabbix的安裝和部署,。一個星期不到完成zabbix的學(xué)習(xí),項目監(jiān)控,。

網(wǎng)上搜索zabbix的文章一大堆,,很多的都是把zabbix官網(wǎng)文檔的某個特性,某個應(yīng)用稍做翻譯而已,。感覺有點零散,,不夠系統(tǒng)。如果你想很深入的了解zabbix的特性,,建議直接看zabbix官網(wǎng)的英文文檔(http://www./documentation/),。本文主要從一個項目部署的角度一步一步來介紹zabbix 2.2,希望對于那些想利用zabbix來做監(jiān)控的初學(xué)者,,在短時間內(nèi)快速上手,。

1 項目+zabbix

1.1 zabbix能做什么

簡單點說,zabbix是一個監(jiān)控數(shù)據(jù)的收集器和dashboard,。監(jiān)控數(shù)據(jù)中通用的數(shù)據(jù)可以由zabbix agent本身來負(fù)責(zé)收集,。對于應(yīng)用數(shù)據(jù),,需要應(yīng)用本身提供。zabbix提供接口給第三方應(yīng)用負(fù)責(zé)收集和做可視化,。

zabbix能監(jiān)控:

  • CPU負(fù)荷

  • 內(nèi)存使用

  • 磁盤使用

  • 網(wǎng)絡(luò)狀況

  • 監(jiān)控的各種應(yīng)用KPI(產(chǎn)品環(huán)境下,,這才是我們想用zabbix的真正原因)

  • ...

1.2 zabbix常用術(shù)語

zabbix操作很簡單,如果你能深入理解這些術(shù)語,,甚至都不需要教程,,主機(jī)web界面多點點,多玩玩,。無師自通,。

  • Host, Host group, User, User group

  • Item: host的監(jiān)控數(shù)據(jù)定義最小單元

  • Application:包含Item。一組Item可以定義成一個Application

  • Trigger: 觸發(fā)器,,監(jiān)控的Item達(dá)到一定的條件時觸發(fā)

  • Template: 由Application, Item, Graph, Screen, Trigger等組成

  • Map:網(wǎng)絡(luò)主機(jī)拓?fù)淇梢暬?/span>

  • IT Service: 了解服務(wù)器的SLA情況

1.3 zabbix安裝配置

zabbix server上安裝zabbix-server組件,,被監(jiān)控主機(jī)上安裝zabbix-agent, zabbix-sender

官網(wǎng)提供兩種方式安裝,任選其一即可,。我比較傾向于從packages安裝,,簡單快速(快一點一兩個小時,慢一點半天到一天,。),。由于每個安裝環(huán)境不可能保證一樣,難免會遇到些安裝錯誤問題,。一句話:有什么錯誤,,直接google,你遇到的問題,,別人早就遇到過了,。

  • Install from packages: https://www./documentation/2.2/manual/installation/install_from_packages

  • Install from sources: https://www./documentation/2.2/manual/installation/install

1.4 創(chuàng)建用戶組和主機(jī)監(jiān)控組

zabbix安裝好了后,打開zabbix web頁面(http://ZABBIX-SERVER-IP/zabbix),。我們可以根據(jù)項目信息(項目組成員,,項目中需要被監(jiān)控的機(jī)器,etc)來創(chuàng)建用戶組,,用戶,,主機(jī)監(jiān)控組,主機(jī),。創(chuàng)建用戶組和主機(jī)監(jiān)控組,,是為了方便項目的擴(kuò)展和管理。

1.4.1 創(chuàng)建主機(jī)監(jiān)控組和主機(jī)

  • 創(chuàng)建主機(jī)組入口:Configuration -> Host groups -> Create host group

  • 創(chuàng)建主機(jī)入口:Configuration -> Hosts -> Create host

1.4.2 創(chuàng)建用戶組和用戶

  • 創(chuàng)建用戶組入口:Administration -> Users -> Create user group

  • 創(chuàng)建用戶入口:Administration -> Users -> Create user

將主機(jī)加入到主機(jī)組,,將用戶加入到用戶組,。制定用戶組到主機(jī)組的讀寫權(quán)限,。主機(jī)填寫時,,根據(jù)Host類型鏈接相應(yīng)的template,,如Template_OS_Linux(可以完成對主機(jī)CPU/Memory/Disk/Network的監(jiān)控)

1.5 實現(xiàn)主機(jī)基本監(jiān)控

接下來配置下被監(jiān)控主機(jī):

1
2
3
4
5
#vim /etc/zabbix/zabbix_agentd.conf
Server =     #ZABBIX SERVER IP
Hostname =   #創(chuàng)建主機(jī)時第一個元素Host name,不是主機(jī)的hostname

配置完后,,重啟zabbix-agent,。通過zabbix web頁面我們,我們可以看到該主機(jī)的一些基本監(jiān)控信息(CPU/Memory/Disk/Network)數(shù)據(jù)了,。該主機(jī)已經(jīng)被監(jiān)控起來了,。

1.6 如何自定義監(jiān)控數(shù)據(jù)

通過1.4我們已經(jīng)實現(xiàn)了對主機(jī)一些基本系統(tǒng)信息的監(jiān)控。這一節(jié)進(jìn)一步擴(kuò)展如果監(jiān)控自定義的數(shù)據(jù),,如mysql的讀寫性能,,項目中我們關(guān)心的一些組件KPI等。

常用的兩種數(shù)據(jù)定義類型:zabbix agent和zabbix trapper,。因此方法也相應(yīng)的有兩種,。下面以監(jiān)控磁盤/dev/sda的disk IO讀寫速度為例。

1.6.1 zabbix agent:UserParameter

  • 創(chuàng)建監(jiān)控item: Configuration -> Hosts -> Create item(主要選項如下)

    • Type => zabbix agent

    • Key => custom.vfs.dev.read.sectors[sda]

  • 被監(jiān)控主機(jī)上配置相應(yīng)的UserParameter

1
2
3
#vim /etc/zabbix/zabbix_agentd.conf
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats grep $1 | head -1 | awk '{print $$6}'

實際項目中,,可以把UserParameter寫到/etc/zabbix/zabbix_agentd(根據(jù)Include可配置)的一個新文件,。磁盤讀速度通過一行shell腳本取得。對于復(fù)雜點數(shù)據(jù)的獲取,,可以編寫相應(yīng)的腳本完成,。

重啟zabbix-agent后,我們可以看到web頁面已經(jīng)加入了對用戶自定義的磁盤/dev/sda讀的監(jiān)控,。

1.6.2 zabbix trapper

與zabbix agent方式不同的時,,zabbix trapper是由被監(jiān)控機(jī)器主動向zabbix server發(fā)送數(shù)據(jù)。因此不需要安裝zabbix agent,。也不需要配置host,。只需要發(fā)送數(shù)據(jù)即可。

  • 創(chuàng)建監(jiān)控item: Configuration -> Hosts -> Create item(主要選項如下)

    • Type => zabbix trapper

    • Key => custom.vfs.dev.write.sectors[sda]

  • 被監(jiān)控主機(jī)上,,取得磁盤/dev/sda寫數(shù)據(jù)后,,通過zabbix_sender發(fā)送給zabbix server

1
zabbix_sender -z ZABBIX_SERVER_IP -k custom.vfs.dev.write.sectors[sda] -o 數(shù)據(jù)值 -s 被監(jiān)控主機(jī)Host name

zabbix_sender是zabbix項目中得一個客戶端。這里,,我們當(dāng)然不一定需要通過zabbix_sender發(fā)送給zabbix server,。我們可以自己寫一個zabbix sender功能模塊利用zabbix sender協(xié)議。這里有一篇很好的文章關(guān)于zabbix sender協(xié)議介紹和一個用Python實現(xiàn)zabbix sender的模塊(http://itnihao.blog.51cto.com/1741976/1343670),。

1.7 批量導(dǎo)入監(jiān)控數(shù)據(jù)

通過1.6,,對于一般項目進(jìn)行簡單的監(jiān)控基本沒太大的障礙。實際項目當(dāng)中,,很多的監(jiān)控數(shù)據(jù)腳本,,監(jiān)控數(shù)據(jù)定義可以拿來直接應(yīng)用,沒必要重新造輪子,。還是拿磁盤disk io為例,,監(jiān)控數(shù)據(jù)的獲取方法通用,,我們沒必要每個item都自己定義,自己獲取,。圈內(nèi)很多好心人在網(wǎng)上把這些數(shù)據(jù)以模板方式共享,。因此我們直接導(dǎo)入,然后把我們需要監(jiān)控這disk io的主機(jī)鏈接這個模板就可以了,。這樣就可以完成zabbix server段批量數(shù)據(jù)的導(dǎo)入,。這里有個很好的例子(http://www./19/getting-hard-disk-performance-stats-from-zabbix

1.8 數(shù)據(jù)可視化

通過web頁面Monitoring下面的子項Overview或Latest data我們可以查看到最新和歷史的監(jiān)控數(shù)據(jù)。但總感覺還少了點什么,,如果能夠講這些數(shù)據(jù)已圖形,,表格或者其他方式更加直觀的方式顯示就更好了。zabbix可以幫我們做到,,把這些數(shù)據(jù)繪制成圖形,。

1.8.1 Create Graph | Create Screen | Create Slide shows

  • 模板創(chuàng)建圖形:Configuration -> Templates -> Graphs -> Create graph

  • Host創(chuàng)建圖形:Configuration -> Hosts -> Graphs -> Create graph

  • 創(chuàng)建Screen:Configuration -> Screens -> Create screen

  • 創(chuàng)建Slide shows: Configuration -> Slide shows -> Create slide show

在模板里創(chuàng)建圖形,每個鏈接了該模板的host都會自動加入創(chuàng)建的圖形,。

Host里創(chuàng)建圖形,,只有該Host才會加入該圖形。

Screen是可以由Graph,,issue, Map等組成,。

Slide shows由Screen組成。

1.9 報警通知和采取行動

當(dāng)你在用zabbix監(jiān)控一個實際項目時,。web界面有數(shù)據(jù),,有圖形,看上去很美,。但還不夠,。真正發(fā)現(xiàn)問題時,我們希望zabbix能夠及時報警通知和采取一定的行動,。當(dāng)然,,這些都是zabbix擅長的。

用戶場景

我們的某個應(yīng)用A會在/log/下產(chǎn)生大量的log文件,,慢慢的會把磁盤空間占滿,。我們希望zabbix能幫我們監(jiān)控/log/下空間大小,當(dāng)空間大小大于一定值的時候,,我們希望能夠收到一份email通知,,刪掉以前的log,只保留一份正在被寫得log文件,。

步驟

  1. 創(chuàng)建一個監(jiān)控/log使用空間的item,。key = vfs.fs.size[/log,used]

  2. 創(chuàng)建一個trigger,關(guān)聯(lián)上這個item,當(dāng)使用空間大于給定的閾值時就回觸發(fā)

  3. 創(chuàng)建一個action,,把發(fā)送email和執(zhí)行刪除文件操作(Remote command)兩個動作和trigger關(guān)聯(lián)起來

具體創(chuàng)建trigger和action直接看zabbix官方文檔,,很簡單。


總結(jié)

寫著寫著,,突然發(fā)現(xiàn)沒有附上一個截圖。對于這種工具類型的文章,,沒圖顯然不夠直觀,。回想這幾天自己邊學(xué)邊用心得,,當(dāng)時其實更多的是希望有這樣一篇項目向?qū)再|(zhì)的文章整體了解zabbix,。一些具體的操作,對于一個搞IT的人來說,,有針對性的看看官方文檔,,應(yīng)該是一件很簡單的事情。好吧,,王婆賣瓜自賣自夸,。不管怎么樣。還是希望對想用zabbix來做監(jiān)控的人有點幫助,。

結(jié)合我們production環(huán)境里zabbix的配置和監(jiān)控項目,,本文從一個項目的角度來分享部分zabbix的特性,對于普通的項目,,足夠了,。如果你想深入了解zabbix。請看zabbix官方文檔,。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多