1. 程式人生 > >2018.4.13 16周3次課

2018.4.13 16周3次課

Linux學習

十六周三次課 (4月13日)

19.7 主動模式和被動模式

19.8 添加監控主機

19.9 添加自定義模板

19.10 處理圖形中的亂碼

19.11 自動發現

19.7 主動模式和被動模式

主動或者被動是相對客戶端來講的

被動模式,服務端會主動連接客戶端獲取監控項目數據,客戶端被動地接受連接,並把監控信息傳遞給服務端

主動模式,客戶端會主動把監控數據匯報給服務端,服務端只負責接收即可。

當客戶端數量非常多時,建議使用主動模式,這樣可以降低服務端的壓力。

服務端有公網ip,客戶端只有內網ip,但卻能連外網,這種場景適合主動模式

19.8 添加監控主機

先添加主機組aming-test

再添加主機,主機名稱和可見名稱都寫aming-02

群組選擇aming_test

IP地址填寫客戶端的ip 192.168.133.132

幾個概念:應用集、監控項、觸發器、圖形、自動發現、web監測

添加主機即把被監控的主機加入監控中心,這樣就可以監控它的一些項目了,比如監控CPU、內存、磁盤以及網絡等。在添加主機之前,需要先添加一個主機組,依次點擊:“配置"→“主機群組"“→創建主機群組"→“設置組名"

技術分享圖片

添加完主機組後,就可以添加主機了,依次點擊“配置"→“主機"→“創建主機",主機名稱填寫ammg-06,可見名稱也是aming-06,群組選擇ammg-test(點擊向左箭頭即可),IP地址填寫192.168.37.104

技術分享圖片

單擊最下面的“添加"按鈕後,主機被成功添加,然後在主機列表頁裏會看到剛才添加的主機 aming-06,狀態為“已啟用",並且字體顯示為綠色。當不想監控該主機時,可以單擊綠色的“已啟用"三個字,就會變為紅色的“停用的"。主機雖然已添加,但此時還沒有任何的監控項目,可以對比一下第二行的zabbix server

技術分享圖片

這裏出現了幾個概念:應用集、監控項、觸發器、圖形、自動發現、web監測,其中監控項就是要監控的項目,比如內存使用、CPU使用等。應用集就是多個監控項的組合,比如CPU相關的應用集、內存相關的應用集,應用集裏面有具體的監控項。觸發器是針對某個監控項做的告警規則,比如磁盤使用量超過80%就觸發了告警規則,然後就告警。圖形這個並不難理解,監控沒有圖形還叫監控嗎?自動發現是zabbix特有的一個機制,它會自動地去發現服務器上的監控項目,比如網卡瀏覽就可以自動發現網卡設備並監控起來。web監測可以去監控指定網站的某個URL訪問是否正常,比如狀態碼是否為200,或者訪問時間是否超過某個設定的時間段

19.9 添加自定義模板

可以自定義一個常用模板,方便給新增主機添加監控項目

自定義aming模板

把其他自帶模板裏面的某些監控項目(比如cpu、內存等)復制到aming模板裏

定義觸發器

添加圖形

自動發現,找到Template OS Linux,點擊右側的自動發現,參考Mounted filesystem discovery和Network interface discovery定義規則

可以直接導出、導入模板,然後再刪除不需要的對象

依次點擊 “配置"→“模板",就可以看到zabbix自帶的模板了,這些模板其實就是多個應用集、監控項、觸發器、圖形、聚合圖形、自動發現、web監測的組合。比如FTP模板,其實就是針對FTP這個服務設置的一個監控模板,裏面的應用集、監控項、觸發器等全都是針對FTP服務的。在這兒又出現了一個聚合圖形的概念,op它其實就是多個圖形的組合。

你可以先自定義一個模板,然後在各個模板裏面選需要的應用集或者監控項,把它們復制到自定義模板裏 , 這樣就算添加了一個模板。 下面阿銘定義一個名字為aming的模板,點擊右上角的“創建模板" , 模板名稱寫aming, 可見名稱也寫aming, 群組這裏選擇Templates, 點擊向左黑色三角塊,最後點擊下面的 “添加" 按鈕。此時,模板列表頁裏最上面會出現剛剛創建的 “阿銘" 模板

技術分享圖片

接下來,再從其他模板中選幾個監控項復制到“阿銘"模板裏。阿銘選擇的是"Template os Linux" 模板,找到該模板點擊“監控項",在Avaliable memory、Checksum of /etc/passwd、CPU user time和 processor load(l min average per core)左側的方框裏打對勾,然後點擊下面的“復制"按鈕,目標類型選擇“模板",它會列出所有的模板來,在aming模板前面打對勾,再點擊下面的“復制"按鈕

技術分享圖片

依次點擊“配置"→“模板",可以看到aming模板的“監控項"裏已經有了4項,點進去看一下,就是剛剛阿銘添加的那幾項。其中Avaliable memory監控的是剩余內存大小,Checksum of/etc/passwd 監控的是/etc/password文件是否被修改,CPU user time監控的是CPU的user(用戶態)使用率,Processor load(1 mm average per core)監控的是1分鐘每個核CPU的負載是多少。

我們還可以在模板中設置觸發器,也就是告警規則。當前已經在模板中點擊 監控項"右側的“觸發器",它會提示“未發現數據",因為阿銘還未添加任何告警規則。下面阿銘添加一個告警規則,假如系統1分鐘負載值超過2 ( 每核), 就告警。 首先點擊右上角的 “創建觸發器" 按鈕, 名稱填寫 “ {HOST.NAME} 1分鐘負載(每核)" , 其中 “ {HOST.NAME} " 為zabbix內置變量,它其實就是主機名。嚴重性根據實際需求選擇,從左到右級別越來越高,阿銘在這裏選擇的是 “警告"。表達式就是具體的告警規則,點擊 “添加" 按鈕,然後彈出“條件" 對話框,監控項需要我們選擇針對哪個監控項目告警。點擊“選擇'' 按鈕,又彈出“監控項" 對話框,群組要選擇Templates, 主機選擇aming,在列出來的監控項裏面請選擇processor load(1 min average per core).

“功能" 默認為“最新的T值=N”,這不是我們想要的;我們想要的是當數值大於2時告警, 所以應該選擇 “最新的T值>N' , 這裏的 "T" 可以指定為時間,也可以指定為次數,如果不設置,默認就是時間 ,排班留空 ( 即為0 ),設置為2,因為本意是當負載大於2時告警。點擊“插人"後回到“觸發器"界面,其他選項保持默認即可,最後點“添加"按鈕。最終第一個觸發器添加成功,

在模板裏,還可以添加“圖形",圖形是查看指標歷史數據或趨勢必不可少的手段點擊“圖形",顯示“未發現數據",因為還未添加,所以點擊右上角的“創建圖形"。名稱填寫“ 1分鐘負載",除了監控項外的其他參數都保持默認,在監控項右側這裏點擊“添加"(註意,不是最下面的“添加"按鈕),在彈出的“監控項"對話框中選擇processor load(1 min average per core),點擊“選擇"按鈕,最後再點擊“添加"按鈕

下面再來看一下“自動發現"的功能,目前我們依然在aming模板裏,點擊“自動發現規則",也會提示“未發現數據"。阿銘決定再從其他模板裏面“偷"兩個“自動發現規則"過來,依次點擊“配置" →“模板",找到Template OS Linux,點擊它右側的“自動發現",我們會看到Mounted discovery和Network interface discovery兩項內容,由於沒有復制功能,可以采用模板的導出和導人功能。具體方法是:先把Template OS Linux模板導出(選中模板,然後點擊下面的“導出"按鈕),然後對導出的模板(下載的XML文件)做了一個處理,再次導人(點擊右上角的“導人"按鈕即可)為aming for discovery 模板,這個新模板裏面只留下了兩個“自動發現規則",其他全部刪除了。但是這種方法比較麻煩,處理導出的模板時容易出錯,所以不建議用這種方法。

建議采用另一種方法,用鏈接的模板:

“鏈接的模板“→”選擇“→找到Template OS Linux→”選擇“→”添加“→”更新“

技術分享圖片

刪除需要的項目時,會發現無法刪除,比如刪除監控項裏的項目:

技術分享圖片

因為我們時鏈接的,相當於在另一個模板裏刪除,所以不能刪除

可以在鏈接的模板裏,動作裏點“取消鏈接“→”更新“

技術分享圖片

點開項目,如監控項,前面沒有了鏈接模板名,這時候刪除就可以了

技術分享圖片

刪除應用集時,後面監控項有數字的要留著,沒有數字的可以刪除

技術分享圖片

19.10 處理圖形中的亂碼

主機鏈接模板

監控的主機如果有很多,對每個主機都去配置一遍監控項、觸發器、圖形等,這樣相當於做了多次重復工作,其實模板就是為了解決該問題而出現的。上一節教你如何去添加監控項、觸發器、圖形以及自動發現,其目的就是讓你先學會配置模板,當你添加主機的時候,只要鏈接一下對應的模板即可完成監控。下面使主機aming-06鏈接剛剛添加的兩個模板ammg

依次點擊“配置"一“主機",點擊"aming-06,再點擊“模板",在“鏈接指示器"那一欄, 占擊右側的“選擇",彈出“模板"對話框,選擇aming,再點擊下面的“選擇" 按鈕,然後再點擊“鏈接指示器"這一欄的“添加"(這一步不要忘記,否則添加的兩個模板不生效),點擊“更新"按鈕後,會回到主機列表頁,此時看到主機aming-06對應的“監控項" “觸發器"“圖形"和“自動發現"都有數據了。

技術分享圖片

把zabbix設置為中文,圖形裏面的中文就會顯示為小方塊。主機選擇aming-06 →“圖形”→“CPU load”“預覽”,

技術分享圖片

設置為中文後,zabbix圖形的中文文字會顯示小方框

這是因為在zabbix的字體庫中沒有中文字體,需要從windows上借用一個過來

vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH

它定義的路徑是“fonts”,它是一個相對路徑,相對於/usr/share/zabbix/ 目錄來講,絕對路徑為/usr/share/zabbix/fonts

而字體文件為“ZBX_GRAPH_FONT_NAME”所定義的“graphfont”,它是一個文件,絕對路徑為/usr/share/zabbix/fonts/graphfont.ttf

技術分享圖片

技術分享圖片

graphfont.ttf是個軟鏈接文件:

技術分享圖片

windows字體路徑為“C:\Windows\Fonts\”,找到“simfang.ttf”(其實就是那個仿宋簡體),先把它復制到桌面上,然後上傳到linux的/usr/share/zabbix/fonts/,並且改名為graphfont.ttf

也可以用軟鏈接的方式

技術分享圖片

技術分享圖片

再次刷新剛才的圖形,已經能正常顯示中文了

技術分享圖片

19.11 自動發現

間隔時間都是1小時

技術分享圖片

網卡流量更改為1分鐘

技術分享圖片

分別重啟服務端和客戶端,圖形變成5個了

技術分享圖片

測試網卡,往客戶端傳輸文件

技術分享圖片

安裝nload:yum install -y epel-release;yum install -y nload

或安裝sysstat:yum install -y sysstat

查看網卡流量:sar -n DEV 1 100

技術分享圖片

可以更改流量顯示的顏色,繪圖風格等

配置→模板,選擇aming→自動發現,選擇Network interface discovery→圖形原型1→Network traffic on {#IFNAME}

技術分享圖片


2018.4.13 16周3次課