1. 程式人生 > 實用技巧 >ocfs2檔案系統資料恢復成功案例

ocfs2檔案系統資料恢復成功案例

場景分析:

某IT公司的員工小東,在公司部署了一臺zabbix用來監控window系統伺服器的一些使用情況。他現在想做到一個功能,就是通過瀏覽器發現某臺window主機出現記憶體過高,或者cpu利用率過高,或者某臺伺服器的一些服務掛了的一些告警後,他可以在瀏覽器哪裡通過執行指令碼來開啟遠端桌面,然後他只需要填入遠端主機的賬號和密碼就可以登陸那臺出現的window主機裡面排查報錯原因。(因為小東的公司主要以window主機使用為主,暫不考慮linux系統)
實現原理
1.首先用瀏覽器開啟zabbix_web介面的那臺主機要安裝agent。目的是為了zabbix_server通過system.run來呼叫這臺主機上建立的計劃任務,開啟遠端桌面

2.用瀏覽器瀏覽zabbix_web介面的那臺主機要建立一個計劃任務,用來執行命令開啟遠端桌面
3.zabbix呼叫指令開啟window遠端桌面
(注意:本人測試過window的計劃任務好像不能自定義傳參。如果計劃任務不能傳參將無法獲取需要開啟遠端桌面的那個ip)

實現步驟

第一步:用來瀏覽zabbix_web介面的那臺window主機安裝agent

第二步:建立兩個bat指令碼,1.bat和2.bat
1.bat指令碼內容如下
@echo off
set /p a=<C:\Users\Administrator\Desktop\ip.txt
mstsc /v:%a%
2.bat指令碼內容如下

echo %1>C:\Users\Administrator\Desktop\ip.txt
schtasks /run /tn test
上面指令碼執行的過程如下:2.batà1.bat
解釋:
zabbix呼叫指令,把需要遠端的ip作為引數傳給2.bat指令碼,此時會在C:\Users\Administrator\Desktop\ip.txt存入需要遠端連線的ip(因為window的計劃任務無法傳參,所以要把ip存放到本地)。接著,2.bat指令碼就會呼叫計劃任務test,計劃任務test實際上就是呼叫1.bat指令碼。這樣的話,最終的指令碼就是zabbix呼叫指令,為的就是執行mstsc /v:遠端ip而已。Zabbix通過指令,直接執行mstsc /v:遠端ip是無法開啟遠端桌面的。所以需要通過zabbix+bat指令碼+計劃任務實現開啟window遠端桌面的功能。

第三步:建立window計劃任務
我的電腦右鍵管理,開啟任務計劃程式,右邊點選建立計劃


建立一個名為test的計劃,該計劃是執行1.bat指令碼

第四步:zabbix呼叫指令開啟遠端桌面
呼叫方式用system.run。因為system.run可以直接呼叫,而不需要在zabbix_agent.conf裡面配置鍵值。

用來瀏覽zabbix_web介面的這臺主機的ip是192.168.1.47。
配置一個指令叫開啟window遠端桌面

/usr/local/zabbix/bin/zabbix_get -s 192.168.1.47 -k system.run[“C:\Users\Administrator\Desktop\2.bat {HOST.IP}”]
解釋:
Zabbix_server呼叫192.168.1.47(用瀏覽器瀏覽web的主機)上的2.bat指令碼來開啟遠端主機。{HOST.IP}可動態變化,那臺主機執行這個指令就是開啟那臺主機的遠端。
實驗驗證:
在1.47上選擇1.38執行開啟遠端桌面的指令碼,能開啟1.38的遠端桌面

實驗成功

技術交流歡迎加入Q群:177428068