Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

SMTP логи Exchange - чим зручніше дивитися

  1. Про що мова
  2. PowerShell для перегляду log файлів
  3. Сторонні додатки для перегляду log-файлів в Windows
  4. Дивимося останні SMTP логи Exchange в одному вікні

Чим мені подобається Linux так це простими і зручними консольними інструментами. Такими, наприклад, як tail і grep за допомогою яких дуже зручно дивитися лог-файли. Я постійно користуюся саме цими двома командами для аналізу протоколу поштового сервера в Linux. На жаль в Microsoft Exchange ці команди відсутні і доводиться шукати альтернативні інструменти щоб подивитися наприклад smtp логи exchange.

Про що мова

Власне відразу обмовлюся, що мова йде виключно про перегляд текстових лог-файлів, в які дані надходять постійно через підрядник. У Linux за допомогою команди tail можна вивести наприклад тільки останні кілька рядків або ввівши команду tail -f / var / log / імялогфайла виводить на екран безперервно всі вступники рядки в реальному часі. Це дуже зручно коли потрібно відловити помилку.

Друга команда grep в самому примітивному застосуванні (без використання регулярних виразів) дозволяє фільтрувати висновок тієї ж команди tail, наприклад, тільки рядками містять певний фрагмент. наприклад:

tail -f /var/log/mail.log | grep [email protected]

Така команда буде виводити безперервно в реальному часі всі рядки поштового балки в яких вказана адреса [email protected]. Або той же grep можна використовувати в аналогічній конструкції з командою cat для пошуку по всьому лог-файлу:

cat /var/log/mail.log | grep [email protected]

Ось приблизно такого ж простого функціонала хотілося знайти і для аналізу лог-файлів Exchange. Звичайно наведені в статті приклади ви можете використовувати не тільки для аналізу лог-файлів smtp сервісу exchange, але і для аналізу будь-яких інших текстових даних, наприклад логів web-сервера і т.п.

PowerShell для перегляду log файлів

Першим приходить на розум використання команд з PowerShell. Перша ж команда замінює відразу і tail і cat, а ім'я їй Get-Content. У найпростішому застосуванні вона виведе весь вміст файлу на екран:

get-content c: \ log \ smtp.log

Якщо ми хочемо вивести наприклад тільки кілька останніх рядків то додамо ключ -tail.

get-content c: \ log \ smtp.log -tail 10

Дана команда виведе 10 останніх рядків. Якщо необхідно виводити безперервно все знову надходять дані, то додамо ключ -Wait.

get-content c: \ log \ smtp.log -Wait

Наступна команда дозволяє фільтрувати вміст по частині рядка майже так само як це робить grep. Ім'я цієї команди Select-String. Виконується вона приблизно так:

get-content c: \ log \ smtp.log | select-string "[email protected]"

Даний приклад знаходить все рядки в лог файлі містять [email protected] і виводить їх на екран. Якщо необхідно щоб дані виводилися в реальному часі то додаємо ключ -wait як було показано в попередньому прикладі.

get-content c: \ log \ smtp.log -wait | select-string "[email protected]"

Ось мабуть найближчі аналоги tail і grep в Windows Power Shell. Перевага використання цих команд в тому, що вони вже встановлені в системі і вам не треба нічого вигадувати. Але є звичайно і альтернативні варіанти з більш зручним функціоналом.

Сторонні додатки для перегляду log-файлів в Windows

Йдеться про сторонніх аналогах команди tail. Найбільш зручним мені здався варіант Tail fro windows, який ви можете знайти на сайті https://sourceforge.net/projects/wintail/. Перевага даної команди в тому, що вона вміє відкривати в одному вікні кілька log файлів, а так само вміє підсвічувати виводяться рядки по знайденому ділянці, це часом зручніше ніж фільтрувати.

Використовувати програму дуже просто. Досить завантажити її, покласти в папку на сервері, потім запускати наприклад wintail.exe «шлях \ к \ лог \ файл.log». В меню Highlighing можна вказати достатню кількість шаблонів за якими підсвічувати потрібні рядки. Всі файли автоматично відкриваються із зазначеною галочкою Follow tail, і відображають дані, що надходять в реальному часі.

Дивимося останні SMTP логи Exchange в одному вікні

Ну і на останок написав для себе невеликий скрипт запуску wintail, який відображає одразу 2 актуальних балки smtp служби Exchange. Використовується на Exchange 2013/2016 але ви можете адаптувати його під свої потреби.

$ DATE = Get-Date -UFormat "% Y% m% d" c: \ prg \ WinTail.exe "C: \ program files \ microsoft \ exchange server \ v15 \ transportroles \ logs \ frontend \ protocollog \ smtpreceive \ recv $ DATE-1.log "" C: \ program files \ microsoft \ exchange server \ v15 \ transportroles \ logs \ frontend \ protocollog \ SmtpSend \ SEND $ DATE-1.log "

Відредагуйте шляху згідно з вашими налаштувань. Збережіть цей файл з розширенням ps1 наприклад на робочому столі сервера і запускайте перегляд логу smtp служби exchange в пару кліків.

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.