de de de de fi de de de en de en en de de de en sv fr de de de de sl de de de de de fr en de de de de de de de nl en de de de de de ja en de de de de nl cs en de de de de en en de de de en de nl en en de en de de en en de de de de de de de nl cs en de de de de en en de fr de de en de de de en en en en en en es en en en en en en en en en en en en en en en en en en en en en en en en en da en en lt en kn uk en kn kn ceb en en en en en en en en en en en en en en kn it en en ja it en en en en en es en en tr en kn en en en en en en en ceb kn en en en de nl en en de en de de en en de de de de de nl de de de de de de en de de de fr de en de
Ich habe gestern erst das Thema zu unserem GitHub aufgemacht und wurde gleich von meinem Kollegen Stefan Cink auf einen interessanten Blog Beitrag aufmerksam gemacht.
Daniel Wydler hat in seinem Blog "Aus der IT – Praxis… im Schwabenland" festgehalten wie er mittels PowerShell und PRTG den NSP an seine Bedürfnisse angepasst überwacht.
Hier geht es zu seinem Beitrag: NoSpamProxy mit Paessler PRTG überwachen
Wir freuen uns immer wieder zu sehen was Kunden alles aus dem NSP herausholen und dies dann auch wieder öffentlich mit allen teilen.
16.11.2020, 17:21 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2020, 17:24 von cpohle.)
wir haben die Überwachung bei uns in Zabbix eingebunden inkl. der Überwachung der Replikations Artefakte.
k.A. ob außer uns noch jemand Zabbix nutzt, aber vlt kann man da auch was zusammenschreiben....
Ich wäre sehr interessiert.
Registriert seit: Nov 2020
sorry for late reply. Also nein, nen Template gibts da nicht und ich bin auch ehrlich gesagt nicht so fit in Zabbix dass ich daraus eins erstellen könnte.
Aber vom Prinzip her habe ich ein Userscript im Installationsverzeichnis des Zabbix Agents erstellt und abgelegt welches Zyklisch die Statistikdaten via NSP PowerShell Modul abfragt. Der Inhalt der Variablen wird dann einfach nur an Zabbix übergeben.
Die PS Scripte hänge ich mal an. Im Internet gibts auch genug HowTos wie man ein PS Script via Zabbix Agent ausführt und Daten übergibt.
Bei den Replikationsartefakten ist es im Prinzip ähnlich gelöst, nur dass ich hier via PowerShell ne SQL Verbindung aufrufe pro Rolle. Heißt dass dieses PS Script zyklisch auf allen GW Rollen und der Intranetrolle läuft und die Daten an Zabbix übergibt. Möglicherweise geht das auch von der GW Rolle aus und von dort dann nen Connect zu allen Rollen, aber Firewalltechnisch war das bei uns nicht gewollt!
Die Parameter am Anfang kann man ebenfalls via Zabbix an das PS Script übergeben!
$1hour = New-TimeSpan -Minutes 1
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential($userName, $securePassword)
$session = New-PSSession -ComputerName localhost -Credential $Credentials
$incoming = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromExternal -CountOnly})
$outgoing = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromLocal -CountOnly})
$DeliveryPending = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Status DeliveryPending -CountOnly})
$inboundRejects = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromExternal -Status PermanentlyBlocked, TemporarilyBlocked -CountOnly})
$localRejects = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromLocal -Status PermanentlyBlocked, TemporarilyBlocked -CountOnly})
$inboundDeliveryFailure = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromExternal -Status DispatcherError -CountOnly})
$outboundDeliveryFailure = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Age $USING:1hour -Directions FromLocal -Status DispatcherError -CountOnly})
$NDRsSendTotalDE = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Subject "unzustellbar:*" -CountOnly})
$NDRsSendTotalEN = [int](Invoke-Command -Session $session -ScriptBlock {Get-NspMessageTrack -Subject "undeliverable:*" -CountOnly})
$totalTraffic = $incoming + $outgoing
$totalRejects = $inboundRejects + $localRejects
$NDRsSendReceived = $NDRsSendTotalDE + $NDRsSendTotalEN
$totalDeliveryFailed = $inboundDeliveryFailure + $outboundDeliveryFailure
if($totalTraffic -ne 0) {
$totalRejectRate = [Math]::Round($totalRejects / $totalTraffic * 100,0)
if($incoming -ne 0) {
$inboundRejectRate = [Math]::Round($inboundRejects / $incoming * 100,0)
if($outgoing -ne 0) {
$localRejectRate = [Math]::Round($localRejects / $outgoing * 100,0)
#    TotalMailTraffic = $totalTraffic
#    TotalRejectedMails = $totalRejects
#    TotalDeliveryFailed = $totalDeliveryFailed
#    TotalRejectRate = $totalRejectRate
#    IncomingRejectRate = $inboundRejectRate
#    OutgoingRejectRate = $localRejectRate
$Data | ConvertTo-Json -Compress
$Data | ConvertTo-Json | out-file C:\temp\test.json
if (($User) -and ($Password)) {
$connectionString = "Data Source=$dataSource;User ID=$User;Password=$Password;Initial Catalog=$Database"
$connectionString = "Data Source=$dataSource; " + "Integrated Security=SSPI; " + "Initial Catalog=$database"
$connection = new-object system.data.SqlClient.SQLConnection($connectionString)
$command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)
$adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
# Example usage (sql auth):
$Artefacts = Invoke-SQL -dataSource SQLServer -database NoSpamProxyAddressSynchronization -user sqlreadinguser -password 12345 -sqlCommand 'SELECT count (*) FROM [DataReplication].[Artefact]'
$Artefacts | select -ExpandProperty Column1
Registriert seit: Sep 2019
(25.09.2019, 08:27)JanJäschke schrieb: Daniel Wydler hat in seinem Blog "Aus der IT – Praxis… im Schwabenland" festgehalten wie er mittels PowerShell und PRTG den NSP an seine Bedürfnisse angepasst überwacht.
Hier geht es zu seinem Beitrag: NoSpamProxy mit Paessler PRTG überwachen
Eine neue Version des Skripts steht zur Verfügung. Neben der Überarbeitung der Abfragen werden nun auch u.a. die Laufzeit der SSL-Zertifikate auf den Connectoren, Laufzeit der NSP Lizenz und evtl. Vorfälle im NSP überwacht.
« Ein Thema zurück | Ein Thema vor »
Gehe zu: Private Nachrichten Benutzer Control-Panel Wer ist online? Suche Forenstartseite NoSpamProxy Server -- Allgemeines -- Protection -- Encryption -- LargeFiles -- Disclaimer -- OpenKeys -- Monitoring, Migration, Recovery -- Zertifikate ---- GlobalSign -- Sonstiges NoSpamProxy Cloud -- Allgemeines -- Protection