none
Exchange 2013 Monitor DatabaseHealthLogGenerationRateMonitor & LowLogVolumeSpaceMonitor unhealthy thresholds RRS feed

  • Frage

  • Guten Tag,

    ich bin derzeit bei einer Migration von Linux-Mail auf Exchange beteiligt. Die Umgebung läuft soweit erstmal stabil. Dennoch sind einige Monitor Checks unhealthy.

    Ein Check zu dem uns der Grenzwert fehlt ist: DatabaseHealthLogGenerationRateMonitor und LowLogVolumeSpaceMonitor.

    Hierzu habe ich kein Probe gefunden und beim Durchsuchen der Registry und anderen Tool keinerlei Grenzwerte gefunden.

    Wir nutzen nicht die Umlaufprotokollierung (Circlogging) und soweit ich das verstanden habe geht es hier einerseits um die genierung neuer Logfiles für den Transactionlog und im zweiten Fall vermute ich das der Grenzwert für den "free disk space" überschritten ist.

    Leider findet man hierzu im Internet nicht wirklich Konfigurationsmöglichkeiten oder Werte zu den Grenzwerten (Threshold).

    Die Umgebung besteht aus 3 2012r2 - Servern mit ex 2013 sp1. Es gibt 3 Datenbanken; 2 DBs werden in einer DAG repliziert.

    Kann hier ggf. jemand mehr auskunft über Analysemöglichkeiten bzw. Grenzwerte geben? Sind diese Checks ggf. gar nicht relevant?

    Mit freundlichen Grüßen

    V. Eigler



    Mittwoch, 12. März 2014 08:39

Antworten

  • Guten Tag,

    ein schwieriges Thema :-)

    DatabaseHealthLogGenerationRateMonitor ist ein Monitor, keine Probe. Der dazugehörige ServiceName ist "DataProtection". Wichtig ist, dass ein Monitor mehrere Probes enthalten kann.

    LowLogVolumeSpaceMonitor wird bei einer DAG "aktiv". Bei mir steht dieser aber auf "NotApplicable" somit wird der nicht beachtet. Der AlertValue ist aber auch unhealthy, wahrscheinlich weil ich zu wenig Speicherplatz habe. Dieser muss aber nicht beachtet werden, wenn kein gesondertes Volume für die Logs verwendet wird. Hier würde ich den "normalen" free disk space verwenden.

    Mit Get-MonitoringItemIdentity -Identity DataProtection -Server <servername> kann man sich alle Monitore des HealthSet "DataProtection" ausgeben lassen.

    Um die Monitor Konfigurationsdetails für DatabaseHealthLogGenerationRateMonitor zu finden, hilft dieses cmdlet:

    (Get-WinEvent -LogName microsoft-exchange-activemonitoring/monitordefinition | % {[xml]$_.toxml ()}).event.userdata.eventxml | ? {$_.name -like "databasehealthloggenerationratemonitor"}

    Wichtig sind wahrscheinlich die Threshold Werte, etc.

    Hier stehen auch viele Details und Beschreibungen.

    Um die dazugehörigen passenden Probes zu finden, einfach die SampleMask des Monitors verwenden. In diesem Fall sind es die Werte Instances\Log Bytes Write/sec\Information Store\DB/_Total

    Übrigens: wie werden die "unhealthy" Komponenten ausgelesen? (Get-HealthReport)? Unhealthy heißt im Grunde nichts schlechtes, wenn der Monitor nicht zum Einsatz kommt, weil z.B. der entsprechende Dienst oder das Feauture nicht gentutz wird oder die Probe keine Daten zum einliefern hat.

    Es gibt übrigens auch die gleiche Möglichkeit, die Responder anzuzeigen bzw. zu setzen. Beispiel, wann ein Server neu gestartet wird:

    (Get-WinEvent -LogName Microsoft-Exchange-ActiveMonitoring/ResponderDefinition | % {[XML]$_.toXml()}).event.userData.eventXml | ?{$_.Name -like "StoreServiceKillServer"}

    ThrottlePolicyXml              : <ThrottleEntries>

                                       <ForceReboot ResourceName="OST8-EXC1">

                                         <ThrottleConfig Enabled="True" LocalMinimumMinutesBetweenAttempts="720"

                                     LocalMaximumAllowedAttemptsInOneHour="-1" LocalMaximumAllowedAttemptsInADay="1"

                                     GroupMinimumMinutesBetweenAttempts="600" GroupMaximumAllowedAttemptsInADay="4" />

                                       </ForceReboot>

                                     </ThrottleEntries>

    Gruß

    Dominik

    Donnerstag, 13. März 2014 14:21

Alle Antworten

  • Guten Tag,

    ein schwieriges Thema :-)

    DatabaseHealthLogGenerationRateMonitor ist ein Monitor, keine Probe. Der dazugehörige ServiceName ist "DataProtection". Wichtig ist, dass ein Monitor mehrere Probes enthalten kann.

    LowLogVolumeSpaceMonitor wird bei einer DAG "aktiv". Bei mir steht dieser aber auf "NotApplicable" somit wird der nicht beachtet. Der AlertValue ist aber auch unhealthy, wahrscheinlich weil ich zu wenig Speicherplatz habe. Dieser muss aber nicht beachtet werden, wenn kein gesondertes Volume für die Logs verwendet wird. Hier würde ich den "normalen" free disk space verwenden.

    Mit Get-MonitoringItemIdentity -Identity DataProtection -Server <servername> kann man sich alle Monitore des HealthSet "DataProtection" ausgeben lassen.

    Um die Monitor Konfigurationsdetails für DatabaseHealthLogGenerationRateMonitor zu finden, hilft dieses cmdlet:

    (Get-WinEvent -LogName microsoft-exchange-activemonitoring/monitordefinition | % {[xml]$_.toxml ()}).event.userdata.eventxml | ? {$_.name -like "databasehealthloggenerationratemonitor"}

    Wichtig sind wahrscheinlich die Threshold Werte, etc.

    Hier stehen auch viele Details und Beschreibungen.

    Um die dazugehörigen passenden Probes zu finden, einfach die SampleMask des Monitors verwenden. In diesem Fall sind es die Werte Instances\Log Bytes Write/sec\Information Store\DB/_Total

    Übrigens: wie werden die "unhealthy" Komponenten ausgelesen? (Get-HealthReport)? Unhealthy heißt im Grunde nichts schlechtes, wenn der Monitor nicht zum Einsatz kommt, weil z.B. der entsprechende Dienst oder das Feauture nicht gentutz wird oder die Probe keine Daten zum einliefern hat.

    Es gibt übrigens auch die gleiche Möglichkeit, die Responder anzuzeigen bzw. zu setzen. Beispiel, wann ein Server neu gestartet wird:

    (Get-WinEvent -LogName Microsoft-Exchange-ActiveMonitoring/ResponderDefinition | % {[XML]$_.toXml()}).event.userData.eventXml | ?{$_.Name -like "StoreServiceKillServer"}

    ThrottlePolicyXml              : <ThrottleEntries>

                                       <ForceReboot ResourceName="OST8-EXC1">

                                         <ThrottleConfig Enabled="True" LocalMinimumMinutesBetweenAttempts="720"

                                     LocalMaximumAllowedAttemptsInOneHour="-1" LocalMaximumAllowedAttemptsInADay="1"

                                     GroupMinimumMinutesBetweenAttempts="600" GroupMaximumAllowedAttemptsInADay="4" />

                                       </ForceReboot>

                                     </ThrottleEntries>

    Gruß

    Dominik

    Donnerstag, 13. März 2014 14:21
  • Guten Morgen,

    vielen Dank! Das hat mir jetzt ein wenig weitergeholfen die Checks einzuschätzen.

    Für den LowLogVolumeSpaceMonitor habe ich keine einzelene Probe gefunden. Im WinEvent kann zwar ein Threshold hinterlegt werden aber dieser ist eigentlich immer 1. Bei der Check wird die letzen X = 1 Probechecks verwendet um den Status des Monitors zu setzen.

    Es ist gut zu wissen das man auch auf das "Not Applicable" achten sollte.

    So wie ich das jetzt verstanden habe sagt der Wert aus ob dieser Monitor letztendlich etwas unternimmt wenn er unhealthy ist?!

    Interessant ist das der LowLogVolumeSpaceMonitor einen Threshold von 195,13 GB hat. Ich hatte hier in der Registry einen Standardwert von ~200GB gefunden. Zumindest kommt der Wert des Schlüssels annähernd an die 195,13 GB.

    Dass das Thema ServerHealth ein schwiriges Thema ist haben ich und meine Kollegen mittlerweile auch gemerkt. Ich denke das hier auch noch der tatsächliche Bezug im Alltag fehlt da viele Features erst mit 2013 eingeführt wurden.

    Mit freundlichen Grüßen

    Volkmar Eigler

    Freitag, 14. März 2014 07:51
  • Ganz genau, richtig verstanden.

    Gruß

    Dominik

    Montag, 17. März 2014 13:44