CheckMK : local check für Mailstore

Ich hab hier einen kleinen Check in Powershell für Mailstore gebaut. Hier wird ein Job überprüft ob das Ergebnis "succeeded" ist wenn ja ist der Job ok. Sollte etwas anderes als Rückgabewert kommen wird ein Fehler ausgegeben.

In der CheckMK Oberfläche sieht das ganze dann so aus:


Hier gehts zum github Repo : https://github.com/Mokkujin/Checks-for-Check_MK

Quelle:
https://help.mailstore.com/de/server/PowerShell_API-Wrapper_Tutorial
https://help.mailstore.com/en/server/MailStore_Server_Service_Configuration
https://help.mailstore.com/de/server/Administration_API_-_Function_Reference

Exchange Online / Office 365 : Mehrere Aliase einer Distribution Group zuweisen

$ParaSetDis = @{
    Identity = 'DISTRIBUTION-LIST-NAME'
    WhatIf = $true
}

Set-DistributionGroup @ParaSetDis -EmailAddresses @{Add=
'EMail-Address-Alias1',
'EMail-Address-Alias2',
'EMail-Address-Alias3'}

Exchange 2019 -> Exchange Online : Migration der kompletten Maildaten

Wir migrieren gerade mal wieder ein paar Server in Office 365, wir benutzen hierfür ein Tool von CodeTwo. Ich kann das nur jedem empfehlen der eine Schmerzfrei Migration haben möchte. Nachdem wir GSuite (IMAP) migiriert haben ist heute der Exchange dran. Hier hat die Software diesen Fehler geworfen.
The account does not have permission to impersonate the requested user
hmm ... klar wir hatten die Rolle nicht zugewiesen. Das kann man so erledigen. Ausführen in der Exchange Managment Shell
New-ManagementRoleAssignment -name:impersonationAssignmentName -Role:ApplicationImpersonation -User:UserForMigration
dann ist die Migration angelaufen.

Quelle:
https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-configure-impersonation

Check_MK : Perf Counter ermitteln

Hier sollte ein Terminal Server (Windows 2019) in das Monitoring von CheckMK aufgenommen werden. Hier werden die Perf Counter des Terminal Servers benötigt. Als erstes dachte ich mir ich mach das mal einfach und lass einfach die perf counter raus. Das habe ich mit dem folgenden Befehl gemacht.
lodctr /S:C:\scripts\perf.txt
Leider steht hier in der Datei ein perf Counter mit diesem Wert
5736=Terminal Services Session
in der Datei. Scheinbar hat dieser Perfcounter nicht gestimmt und ich hab den nochmal manuell aus der Registry ermittelt. Dort sind diese Werte hinterlegt.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\_V2Providers\{f3b975e7-e068-4f66-81ef-b23e0a0e64c9}\{fc9e399c-c70a-4458-8430-ca249c371eb3}]
"NameResource"=dword:00000001
"ExplainResource"=dword:00000003
"NeutralName"="Terminal Services"
"InstanceType"=dword:00000000
"First Counter"=dword:0000142a
"Last Counter"=dword:00001430
"CounterBlock"=hex:01,00,00,00,00,00,01,00,01,00,00,00,00,00,00,00,64,00,00,00,\
  00,00,00,00,05,00,00,00,07,00,00,00,00,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,\
  ff,ff,ff,ff,ff,ff,ff,00,00,00,00,02,00,00,00,00,00,01,00,01,00,00,00,00,00,\
  00,00,64,00,00,00,00,00,00,00,09,00,00,00,0b,00,00,00,00,00,00,00,ff,ff,ff,\
  ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,03,00,00,00,00,00,01,00,\
  01,00,00,00,00,00,00,00,64,00,00,00,00,00,00,00,0d,00,00,00,0f,00,00,00,00,\
  00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00
"CounterCount"=dword:00000003
Jetzt nimmt man den Wert der unter First Counter gelistet ist und rechnet diesen von HEX in DEZIMAL um. Also HEX 0000142a = DEZ 5162 , dann kommt man auf einen anderen Counter, verwendet man diesen jetzt in CheckMK funktioniert alles wie es soll. AAHHHHH
Auszug aus der check_mk.ini
[winperf]
    counters = 5162:ts_sessions

Ansible : i3-wm Installation auf einem neuen Client

Ich hab hier ein bisschen gebastelt um meine ansible skills nicht zu verlieren.

Das Ansible installiert i3-wm mit meinen default configs ;-) wer möchte könnte auch zusätzlich polybar installieren, default ist i3-blocks. Mehr ist im Repo erklärt

https://github.com/Mokkujin/i3-config-ansible

HAPROXY neuer Check für check_mk in ps1 / py / bash / go

Ich hatte mal wieder mit haproxy zu tun, leider hatte diese niemand in das Monitoring eingepflegt.
Ist natürlich doof wenn immer die Sessions voll laufen und keiner was merkt.
Lange Rede kurzer Sinn ;-)
Python & Powershell reagieren gleich wenn
$WIPass = '' bzw WIPass = ''
wird der check ohne auth ausgeführt. Sollte eure Statusseite nicht über ssl erreichbar sein, sollte man noch die ssl checks rauswerfen ! Unter Powershell einfach diese Zeilen auskommentieren
SkipCertificateCheck
unter Python bitte das aus den Zeilen entfernen
, verify=False
Hier ist der Check in Powershell / Python und Bash.
Ich empfehle die Python Version ;-)
checkmk-haproxy-localcheck in powershell / python und bash

“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)