一、主動模式和被動模式(針對客戶端)
主動模式:客戶端使用完數據後,每隔自定義事件主動上報給服務端
應用環境:當客戶端數量非常多,建議使用主動模式,這樣可以降低服務端的壓力。
被動模式;服務端會主動連接客戶端,客戶端被動連接,把監控信息傳遞給服務端
應用環境:服務端有公網ip,客戶端只有內網ip,但是能連接外網,可以主動上報。 這種場景適合主動模式。
二、添加監控主機
添加主機:
再添加主機之前,我們要先添加一個主機羣組,在配置中
主機羣組的右上角有一個創建主機
然後點主機,右上角有一個創建主機
應用集;應用集就是監控項的集合,更加方便的管理監控項
監控項:每一項都是監控的數據
觸發器:針對某一個監控項設置一個告警規則
圖形:每一個數據zabbix都有記錄,會形成一個圖表
自動發現規則:自動發現的項目
web場景:監控一個網站或者一個網址。
三、添加圖形
添加模板:
可以自定義一個常用模板,方便給新增主機添加監控項目
自定義litongyao模板
把其他自帶模板裏面的某些監控項目(比如cpu,內存等)複製到aming模板裏
定義觸發器
添加圖形
自動發現,發到Template OS Linux,點擊右側的自動發現,參考Mounted filesystem discovery和Network interface discovery定義規則
可以直接導出,倒入模板,然後刪除不需要的對象
刪除的話要先取消連接,更新後先刪監控項,再刪應用集。
四、處理圖形亂碼
處理圖形中的亂碼
設置爲中文後,zabbix圖形的中文文字會顯示小方框
這是因爲在zabbix字體庫中沒有中文字體。需要從windows上借用一個過來。
[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
五、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執行的命令即可。如下圖:
Type:IPMI、custom script、ssh、telnet、global script。
如果你要執行自定義的腳本,如下操作:
直接執行腳本即可。