Exchange 性能計數器介紹詳見 https://docs.microsoft.com/en-us/exchange/exchange-2013-performance-counters-exchange-2013-help。
實現方式:使用userparameter 參數通過powershell腳本將數據庫推送至zabbix server,自動創建監控項。
- zabbix agent配置userprarmeter參數,指向運行的腳本。
PS C:\Users\administrator> type C:\zabbix\zabbix_agentd.d\UserParameter.conf
UserParameter=db.counter,c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -file c:\zabbix\scripts\perf-db.ps1
腳本內容:
Add-PSSnapin Microsoft.Exchange*
$DBs=Get-MailboxDatabase | % {$_.Name}
$VAR1="{"
$VAR2='"data": ['
$VAR3='"{#DB_NAME}":'
$VAR4="]"
$VAR5="}"
$VAR6="},"
Write-Output $VAR1
Write-Output " $VAR2"
ForEach($i in $DBs)
{
Write-Output " $VAR1"
Write-Output " $VAR3 `"$i`""
if ($i -eq $DBs[-1])
{
Write-Output " $VAR5"
}
else
{
Write-Output " $VAR6"
}
}
Write-Output " $VAR4"
Write-Output $VAR5
腳本的輸出結果需要滿足格式要求:
腳本執行結果(只展示一部分):
{
"data": [
{
"{#DB_NAME}": "Staff03"
},
{
"{#DB_NAME}": "Staff02"
},
{
"{#DB_NAME}": "Manager"
},
{
"{#DB_NAME}": "Staff01"
},
{
"{#DB_NAME}": "Staff04"
},
{
"{#DB_NAME}": "Staff05"
},
{
"{#DB_NAME}": "Staff06"
},
{
"{#DB_NAME}": "Staff07"
},
{
"{#DB_NAME}": "NBU-Test"
}
]
}
目的是:通過zabbix discover 自動創建對應的數據庫item.
- Zabbix web端創建模板,並創建discover 規則。
LLD 詳見: https://www.zabbix.com/documentation/4.2/manual/discovery/low_level_discovery
- 創建數據庫性能對應的key,通過宏調用db.
zabbix性能監介紹詳見: https://www.zabbix.com/documentation/current/manual/config/items/perfcounters
- 創建graph
將主機關聯到該模板即可。
看一下效果: