none
Anforderung -> welche IP hat einen bestimmten Empfangsconnector in den letzten X Monaten genutzt RRS feed

  • Frage

  • Hallo zusammen,

     

    ich hatte vor längerer Zeit mal die Frage gestellt wie man ab Exchange 2016 (CU16) herausfinden kann welche Systeme (IP-Adresse) einen bestimmten Empfangsconnector benutzen. Wir haben bei uns jeweils einen EC für Server oder Druckgeräte (Scan2Mail). Mit Exchange 2010 war das noch einfach aber mit Exchange 2016 wird nur noch der Default EC angezeigt.

     

    Mir wurde damals ElasticSearch empfohlen und das haben wir auch erstmal wie im folgenden Artikel eingerichtet.

     

    https://www.frankysweb.de/exchange-server-dashboards-mit-elk-elasticsearch-logstash-kibana-teil-1/

     

    Wir konnten zwar schon ein Dashboard erstellen um zu sehen wie viele E-Mails eingehen, aber wie wir hier weiter filtern können um zu erfahren welche IP-Adressen einen bestimmten EC benutzen, haben wir noch nicht gefunden.

     

    Hat jemand vielleicht so eine Anforderung schon mal umgesetzt bzw. eine Idee wie man es weiter in ElasticSearch umsetzen kann oder anderweitig an die Info (für die letzten 3 Monate) rankommt welche IP welchen EC genutzt hat?

     

    MfG Paul


    • Bearbeitet Lexxitus Dienstag, 19. Mai 2020 10:15
    Dienstag, 19. Mai 2020 10:14

Antworten

  • Moin,

    ob mit Elastic, Splunk, LogParser Studio oder einfach per PowerShell, die wichtigste Voraussetzung ist, das die Connector Logs aktiviert sind. Das ist per Default nicht der Fall. Die Aktiviererei hat sich gegenüber 2010 nicht geändert und geht noch komplett über die GUI, das einzige ist die Aufteilung nach Hub und FrontEnd ;-)

    Ab da sind es normale IIS Logs, und die IPs kriegst Du mit dem folgenden One-Liner:

    $log = "E:\Exchange\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\RECV2020051910-1.LOG"
    $conn = "TEST"
    Get-Content -Path $log | 
    Select-Object -Skip 5 | 
    ConvertFrom-CSV -Header date-time,connector-id,session-id,sequence-number,local-endpoint,remote-endpoint,event,data,context | Where-Object {$_."connector-id" -like "*$conn"} | 
    Select-Object @{Label='IP';Expression={($_."remote-endpoint" -split ":")[0]}} 
    
    und ja, es sind drei Zeilen, ich weiß ;-)

     


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert Lexxitus Montag, 25. Mai 2020 05:56
    Dienstag, 19. Mai 2020 11:02

Alle Antworten

  • Moin,

    ob mit Elastic, Splunk, LogParser Studio oder einfach per PowerShell, die wichtigste Voraussetzung ist, das die Connector Logs aktiviert sind. Das ist per Default nicht der Fall. Die Aktiviererei hat sich gegenüber 2010 nicht geändert und geht noch komplett über die GUI, das einzige ist die Aufteilung nach Hub und FrontEnd ;-)

    Ab da sind es normale IIS Logs, und die IPs kriegst Du mit dem folgenden One-Liner:

    $log = "E:\Exchange\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\RECV2020051910-1.LOG"
    $conn = "TEST"
    Get-Content -Path $log | 
    Select-Object -Skip 5 | 
    ConvertFrom-CSV -Header date-time,connector-id,session-id,sequence-number,local-endpoint,remote-endpoint,event,data,context | Where-Object {$_."connector-id" -like "*$conn"} | 
    Select-Object @{Label='IP';Expression={($_."remote-endpoint" -split ":")[0]}} 
    
    und ja, es sind drei Zeilen, ich weiß ;-)

     


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert Lexxitus Montag, 25. Mai 2020 05:56
    Dienstag, 19. Mai 2020 11:02
  • Bei Ex2010 war es mit einem Befehl einfacher umsetzbar als jetzt in Ex2016 :-(

    Vielleicht hat ja jemand noch die Idee wie man es in ElasticSearch abfragen kann ;-)


    • Bearbeitet Lexxitus Montag, 25. Mai 2020 05:58
    Montag, 25. Mai 2020 05:57