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

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

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

應用環境:當客戶端數量很是多,建議使用主動模式,這樣能夠下降服務端的壓力。
linux


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

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



2、添加監控主機sql

添加主機:apache

再添加主機以前,咱們要先添加一個主機羣組,在配置中vim

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

1.png

而後點主機,右上角有一個建立主機服務器

3.png


2.png

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

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

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

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

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

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


3、添加圖形

添加模板:

能夠自定義一個經常使用模板,方便給新增主機添加監控項目

自定義litongyao模板

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

定義觸發器

添加圖形

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

能夠直接導出,倒入模板,而後刪除不須要的對象


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


4、處理圖形亂碼

處理圖形中的亂碼

設置爲中文後,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


5、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遠程執行命令

直接執行腳本便可。

相關文章
相關標籤/搜索