zabbix配置Windows監控
環境
zabbix server
ens192:10.127.0.133
ens256:172.168.0.2
windows server2012
ens192:172.168.0.3
gateway:172.168.0.2
配置共享上網以及端口轉發
這裏的windows server2012環境使用的是esxi虛擬機,由於上公網的ip不夠用,這裏我做了nat,但esxi不支持nat網絡,所以我使用iptables在zabbix server上實現了端口轉發以及共享上網
開啓zabbix server的路由轉發功能
echo 1 > /proc/sys/net/ipv4/ip_forward
或者
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
配置iptables
iptables -t nat -A POSTROUTING -s 172.168.0.0/24 -o ens192 -j SNAT --to-source 10.127.0.133
iptables -t nat -A PREROUTING -d 10.127.0.133 -p tcp --dport 3389 -i ens192 -j DNAT --to-destination 172.168.0.3:3389
iptables-save
測試網絡連通性
進行遠程連接測試
由於Windows server2012沒有開啓遠程連接服務,需要在服務器管理器中添加角色和功能,步驟比較簡單,這裏不再贅述,直接連接zabbix server的3389端口就可以連接內網Windows server的遠程桌面了
下載zabbix agent客戶端
下載地址:
開始安裝
安裝完成之後,zabbix agent會添加到服務中並開始運行
也可以看到10050端口正處於監聽狀態
在zabbix上添加Windows主機
主機名稱寫Windows名稱就可以了
創建完主機之後遇到一個問題,連接agent一直報104錯誤,查看了下agent日誌,發現網絡走的是內網網卡,可能是之前iptables規則有點多,而且iptables規則是從上往下匹配的,導致正確的規則沒有匹配到
get value from agent failed: ZBX_TCP_READ() failed;[104] connection reset by peer
將正確的iptables規則放在鏈的最頂端可以解決
iptables -t nat -I POSTROUTING -d 172.168.0.0/24 -p tcp -m tcp --dport 10050 -j SNAT --to-source 10.127.0.133
iptables-save
查看日誌可以看到agent的狀態變爲可用
zabbix提供了一個Windows監控的模板,提供了很多系統上的監控,並且可以自動發現並監控服務狀態
創建Windows監控項示例
獲取IIS進程狀態
agent提供了一個proc.num[]的鍵值用於對進程數量的監控
當進程數量爲0時可以配置觸發器報警
如果要對IIS進程進行詳細的監控,可以使用Windows的性能監視器進行監控
zabbix agent提供了perf_counter[counter,\<interval>]鍵值對性能間試器採集到的值進行監控,這裏以獲取windows可用內存爲例,首先要添加一個計數器
創建完成之後只需要在zabbix上添加計數器的路徑就可以了
當然,這些計數器的路徑也可以用數字來表示,路徑與數字的映射值存在於註冊表中,需要運行 regedit ,然後找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009這個註冊表。
比如上面的監控項也可以使用如下方法表示:
如果我們要監控web進程的詳細信息,可以在process路徑下添加計數器,inetinfo爲web運行的軟件名稱
獲取IIS的併發連接數
同樣是使用性能監視器,添加一個IIS連接數的計數器來對其進行監控,存在於Web Service路徑下,如果要對IIS的其他信息(比如處理的CGI請求數)進行獲取,也是在Web Service路徑下添加計數器
歡迎各位關注本人公衆號“沒有故事的陳師傅”