Приветствую!
Создаю сенсор для PRTG Network Monitor для мониторинга состояния баз данных.
Есть вот такой powershell/xml скрипт, все работает.
Как заставить PRTG Network Monitor считать:
Когда состояния False это - ОК
Когда состояния Active это - Error
Сейчас в обоих состояниях PRTG считает что ОК.
$servername = "servermbx"
$pssession = new-pssession -configurationname "Microsoft.Exchange" -connectionuri "http://$servername/Powershell" -Authentication Kerberos
$startsession = import-pssession -session $pssession -allowclobber -WarningAction SilentlyContinue | out-null
$dbstatus = get-mailboxdatabasecopystatus | select name,ActiveCopy
$dbcount = (Get-MailboxDatabaseCopyStatus).count
$prtg = '<?xml version="1.0" encoding="Windows-1252" ?>
<prtg>'
foreach ($db in $dbstatus)
{
$dbname = $db.Name
$dbstate = $db.ActiveCopy
$dbvalue = "10"
if ($dbstate -match "False")
{
$dbvalue = "1"
}
if ($dbstate -match "Active")
{
$dbvalue = "2"
}
$prtg +="
<result>
<channel>$dbname</channel>
<value>$dbvalue</value>
<showChart>1</showChart>
<showTable>1</showTable>
<mode>Absolute</mode>
</result>
"
}
$prtg +="<text>The number of databases: $dbcount</text>
</prtg>"
remove-pssession -session $pssession
$prtg