Action Triggers不只能發mail,還可以Remote command
假設偵測Client的80 port,當down的時候重啟IIS服務
Host link內建Template App HTTP Service
額外補充,數字改成要監控的port號,例如sql
net.tcp.service[tcp,,1433]
Action => Operations
Operation type選擇Remote command
Target list: 這裡只想重起有問題的,所以選擇Current host
Type: 有IPMI,Telnet,SSH等方式,Custom script能利用zabbix tool下command
Commands: 這個範例是啟用WinServer的powershell下指令
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/restart-service?view=powershell-5.1
powershell -command "Restart-Service IISADMIN -Force"
補充:有些服務沒有開port,就要監控process
Template OS Windows下有一個Windows service discovery規則其實是把服務內的都加入
service.info[{#SERVICE.NAME},state]
IS Admin Service服務名稱是IISADMIN,可以直接在temp加上以下監控
service.info[IISADMIN,state]
等到IIS掛了才重啟已經造成傷害了,我們可以多加上監控連線數,告警值發訊息,警戒值重啟
perf_counter這功能會到效能監視器取值
perf_counter[counter,<interval>]
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/zabbix_agent/win_keys
利用以下指令可以監控所有IIS站台總連線數
perf_counter[\Web Service\Current connections]
偵測memory使用率過高,回收pool
powershell -command "C:\Windows\system32\inetsrv\APPCMD recycle apppool DefaultAppPool"
補充2-指令Performance
用logman方式添加指令設定自定義效能計數器
will大連結
https://blog.miniasp.com/post/2010/03/06/Use-Logman-to-create-Data-Collector-in-Performance-Monitor.aspx