MS Exchange Queues Error

Hallo, ich habe das Plugin: MS Exchange: Queue Length
im CheckMK aktiviert und erhalte nun beim Server diese Meldung:
Missing monitoring data for check plugins: winperf_msx_queues

Kann mir bitte jemand verraten wie ich das zum laufen bekomme? :frowning:

OK habe es gefunden… es musste der Eintrag:

- MSExchangeTransport Queues: msx_queues

noch in der Datei: C:\Program Files (x86)\checkmk\service\check_mk.yml

gemacht werden… muss man den zwingend machen oder kann man das irgendwie umgehen, dass man diesen Eintrag auf jedem Exchange Server händisch machen muss??

Der muss gemacht werden. Das händische tun lässt sich entweder mit einem vorhandenen Software Deployment umgehen welches die Config Dateien pflegt oder durch die Agent Bakery in der Enterprise Edition welche die Agents selbst aktualisiert wenn richtig registriert.

Kannst du vielleicht beschreiben, wie man das in der Agent Backery einstellen kann? Das bedeutet, dass man diesen “Client” Dann z.B. genau für Exchange konfiguriert?

Agent rules → Windows Performance-Counter objects
Hier eine Regel erzeugen mit “Counter-object name or number” → “MSExchangeTransport Queues” und “Section name” → “msx_queues”.
Dies Regel selbst weißt dann deinen Exchange Servern entweder über Tags/Folder oder sonst wie zu :slight_smile:
Einmal Agent backen und warten bis aktualisiert.

Vielleicht doof die Frage aber für Frischlinge wichtig…, was ist, wenn man den agenten nicht automatisch verteilt? Nicht schlimm? Oder ist das dann Voraussetzung?

Und mal gleich noch eine Frage… im Exchange wird mir die Warteschlange “Übermittlung” Nachrichtenanzahl 290 angezeigt… im CheckMK in der Queue wird aber 0 angezeigt ?

Dann musst die YAML Config auf einem dir genehmen Weg verteilen an deine Exchange Server (eigenes Software Deployment oder manuell).

Hier würde ich mir als erstes den Output des Agenten und dort die Sektion “msx_queues” anschauen. Hier sollte die von dir genannte Zahl sichtbar sein.
Aber auch Achtung hier es gibt mehr wie die vier Queues welche CMK darstellt. Es kann auch vorkommen, dass die Offsets für die einzelnen Counter selbst definiert werden müssen. Das alles lässt sich aber nur sagen wenn man das System selbst “in der Hand” hat oder den Output des Performance Counters sieht.

Hi, ich hatte mir mal den Output davon angesehen: Basic Exchange Server Scripts for Check_mk Monitoring Solution · GitHub das hatte gepasst. Aber der Counter bzw. die 4 Counter geben null zurück… aber ich denke das sind die falschen 4 counter… kann man diese anpassen?

In der Agent Ausgabe sollten mehr wie vier Counter enthalten sein.
CMK nutzt hier einfach die Offsets der Counter vom “Elterncounter” aus gesehen um die jeweils zuzuordnen. Die Schwierigkeit besteht nun darin zu ergründen welcher Counter was ist.

Ansonsten würde ich mir aus dem Queuehealth Script mal was gescheites bauen für die Anforderungen im CMK. Was du ohne groß Probleme daraus selbst machen kannst ist ein Lokal Check wie im Handbuch beschrieben. Ist nen guter Einstieg für was eigenes.
Was das Powershell Script besser macht wie die Performance Counter ist halt einfach mal alle Queues mit Name und Message Count durchgehen.

Im Anhang hier mal als mini Local Check - keine Garantie obs auch wirklich tut hab das einfach mal auf “gut Glück” zusammen geschrieben.

###
$pswindow = $host.ui.rawui
$newsize = $pswindow.buffersize
$newsize.height = 300
$newsize.width = 200
$pswindow.Set_BufferSize($newsize)
###

if ( $null -eq (Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction:SilentlyContinue))
{
    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
}
else {
    exit
}

ForEach ($Queue in Get-Queue -Server $env:computername | Where-Object { $_.identity -notlike '*\Shadow\*' })
{
    Write-Host "R $($Queue.identity) messages=$($Queue.messageCount);5;20 Count of messages in queue are"
}

puh und wo platziere ich den ? Also den Mini Local Check ? Wäre coll wenn du das noch beschreiben könntest :roll_eyes:

Wäre echt super:)

Bevor du Ihn einsetzt erstmal probieren ob mir nicht ein kleiner Fehler unterlaufen ist.
Einfach ins Local Verzeichnis beim Agenten kopieren.
Ist hier im Handbuch schön beschrieben.