Linux監控平臺(主被動模式,添加監控主機,添加圖形,處理圖形亂碼,遠程執行命令)

一、主動模式和被動模式(針對客戶端)

主動模式:客戶端使用完數據後,每隔自定義事件主動上報給服務端

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


被動模式;服務端會主動連接客戶端,客戶端被動連接,把監控信息傳遞給服務端

應用環境:服務端有公網ip,客戶端只有內網ip,但是能連接外網,可以主動上報。 這種場景適合主動模式。



二、添加監控主機

添加主機:

再添加主機之前,我們要先添加一個主機羣組,在配置中

主機羣組的右上角有一個創建主機

1.png

然後點主機,右上角有一個創建主機

3.png


2.png

應用集;應用集就是監控項的集合,更加方便的管理監控項

監控項:每一項都是監控的數據

觸發器:針對某一個監控項設置一個告警規則

圖形:每一個數據zabbix都有記錄,會形成一個圖表

自動發現規則:自動發現的項目

web場景:監控一個網站或者一個網址。


三、添加圖形

添加模板:

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

自定義litongyao模板

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

定義觸發器

添加圖形

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

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


刪除的話要先取消連接,更新後先刪監控項,再刪應用集。


四、處理圖形亂碼

處理圖形中的亂碼

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

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

1515229142.png

[root@zhuji ~]# vim /usr/share/zabbix/include/defines.inc.php

它定義的路徑是“fonts”,它是一個相對路徑,絕對路徑爲/usr/share/zabbix/fonts/


[root@zhuji fonts]# ll

lrwxrwxrwx 1 root root 33 1月   5 17:04 graphfont.ttf -> /etc/alternatives/zabbix-web-font

[root@zhuji fonts]# ll /etc/alternatives/zabbix-web-font

lrwxrwxrwx 1 root root 38 1月   5 17:04 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf

我們發現他是軟連接,再看配置文件。“ZBX_GRAPH_FONT_NAME”所定義的“graphfont”,它是一個文件,絕對路徑爲/usr/share/zabbix/fonts/graphfont 我們需要做的就是找到一個支持中文的字體,複製到該路徑下。


window中,存放字體的地址是C:\Windows\Fonts\,找到一箇中文字體,把它複製到桌面上,然後上傳的linux的/usr/share/zabbix/fonts/中,並改名爲graphfont.ttf

之前的文件改名不要讓它生效。我們發現刷新頁面亂碼消失

[root@zhuji fonts]# mv graphfont.ttf graphfont.ttf.bak

[root@zhuji fonts]# mv STFANGSO.TTF graphfont.ttf


1515230441(1).png


五、zabbix遠程執行命令


概述

監控,有的人只把他當做報警使用,出現問題之後打開跑回家打開電腦處理掉,大多數時候都是一些已知問題,爲何不讓zabbix幫你把這些事情處理掉呢?

Zabbix遠程執行命令可以做些什麼:

1)重啓應用(apache/nginx/mysql)。

2)自定義執行腳本。

3)使用IPMI接口重啓服務器。

4)自動釋放磁盤空間(刪除老文件,清除/tmp目錄等等)。

5)CPU過載時將一個虛擬機遷移到另外一個物理服務器。

6)雲環境下,一臺服務器CPU\硬盤\內存\其他硬件資源不足的情況下,可以自動添加過去。

Zabbix遠程執行命令注意事項:

1)遠程執行命令是server端向agent端執行,不支持主動模式的agent;

2)不支持代理模式;

3)zabbix用戶必須對命令具有執行權限,可以使用sudo賦予root權限(配置sudo無密碼方式);

4)遠程命令只是執行,執行成功與否並不檢測並確認,可在” Monitoring–>Events”中查看action執行時,或在”Reports–>Action log”中查看遠程命令是否執行成功(成功爲” Executed”)。

配置zabbix遠程執行命令

創建一個報警,記得使用郵件報警嗎?實際上,我們把發送郵件的操作改成執行遠程命令就行了。

Zabbix agent不支持遠程命令,遠程命令最大長度爲255字符,同時支持多個遠程命令,如需要執行多條命令,只需要另起一行寫命令即可,但最好自定在agent端定義一個腳本,直接讓zabbix執行腳本即可。還有,遠程命令可以使用宏變量。

1)配置zabbix-agent端

首先我們需要在zabbix agent端開啓對遠程命令的支持,修改配置文件zabbix_agentd.conf中的參數,然後重啓客戶端:

1

EnableRemoteCommands = 1

另外,在執行命令時確保你的zabbix用戶有執行權限,如果某些命令需要root權限,那麼請使用sudo。編輯sudoer文件,zabbix用戶便可以執行nginx -s reload命令了。

1

2

zabbix ALL=NOPASSWD: ALL

zabbix ALL=NOPASSWD: /etc/init.d/nginx stop,/etc/init.d/nginx start

2)配置zabbix-server端

ConfigurationàActionsà Operation,其中operation type改成Remote Command,然後寫上要在zabbix-agent執行的命令即可。如下圖:

Zabbix遠程執行命令

 

Type:IPMI、custom script、ssh、telnet、global script。

如果你要執行自定義的腳本,如下操作:

Zabbix遠程執行命令

直接執行腳本即可。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章