【Exchange Server】メールが遅延 ? 確認すべき 7 つの項目

Exchange Server
  • メールが遅延している場合、どこを確認すればいい?
  • Exchange Server 内で遅延している場合の詳細な確認項目は?
  • 対処方法は?

メールは複数のメールサーバーを経由して配送されるため、どのサーバーからどのサーバーへ転送されれた際に遅延しているか、遅延の場所を特定することが重要です。

メールのヘッダ情報を確認する

Outlook で受信したメールを開き、[ファイル] – [プロパティ] をクリックします。

[インターネット ヘッダー] から以下の赤字の時間を確認します。

Received: from Ex01.whitesnow.local (unknown)
	by geopod-ismtpd-6-1 (SG)
	with ESMTP id QIJVWe_PS5qFt117ur5tIw
	for <dkasuya3148_ksf@live.com>;
	Fri, 29 Jul 2022 03:18:29.760 +0000 (UTC) →ここで時間がかかっている
Received: from Ex02.whitesnow.local (192.168.1.19) by Ex01.whitesnow.local
 (192.168.1.18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Fri, 29 Jul 2022
 12:16:00 +0900
Received: from Ex01.whitesnow.local (192.168.1.18) by Ex02.whitesnow.local
 (192.168.1.19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Fri, 29 Jul 2022
 12:15:37 +0900
Received: from Ex01.whitesnow.local ([::1]) by Ex01.whitesnow.local
 ([fe80::e1ed:7658:2fdd:f902%19]) with mapi id 15.02.0986.005; Fri, 29 Jul
 2022 12:15:37 +0900

まず、UTC (協定世界時 +0000) の 3 時は JST (日本標準時 +0900) では 12 時です。

サーバー「Ex01.whitesnow.local」から「geopod-ismtpd-6-1 (SG)」を経由する箇所で約 2 分 30 秒遅延していることが分かります。
サーバー「Ex01.whitesnow.local」と「geopod-ismtpd-6-1 (SG)」との SMTP 通信に何らかの問題が発生している可能性があるため、調査します。

Exchange Server の問題を調査する

メールのヘッダ情報などにより Exchange Server に問題がある可能性が高くなった場合、以下の観点で調査します。

ネットワークに問題はないか確認する

ping や telnet コマンドを使用し、Exchange Server 間、Exchange、Active Directory サーバー間のネットワークの疎通を確認します。

キューの滞留状況を確認する

PowerShell で確認する

Get-Queue コマンドを使用し、キュー滞留の状況を確認します。
Get-Queue コマンドについては以下です。

キューの滞留が明らかな場合は後述のネットワークや DB の観点で調査します。
Exchange Server のサービスに問題が発生しているようなケースでは、サーバーの再起動で改善できるか確認します。

パフォーマンスモニターで確認する

パフォーマンスモニターで以下のカウンターを確認 (監視) します。

\MSExchangeTransport Queues(_total)\Messages Queued For Delivery

パフォーマンスモニターについては以下です。

メール配送先の DB の状態を確認する

メールがキューに滞留する場合、配送先のサーバーや DB に問題がある可能性があります。
サーバーや DB が正常に動作しているか確認します。

  • マウント/ディスマウント状態を確認する
  • サーバー/DB の負荷状況を確認する
  • DB の破損がないか確認する

マウント/ディスマウント状態を確認する

Get-MailboxDatabaseCopyStatus コマンドを使用し、DB の状況を確認します。
Get-MailboxDatabaseCopyStatus コマンドについては以下です。

データベースの Status が「Mounted」、「Healthy」以外になっている場合は DB が破損しているケースもあるため、後述の調査が必要です。

DB の破損がないか確認する

メールボックス サーバーのイベントログのアプリケーションを確認し、ソース ese で警告やエラーが発生していないか確認します。

サーバーの負荷状況を確認する

パフォーマンスモニターで、CPU、メモリ、ディスク等の負荷状況を確認 (監視) します。
パフォーマンスモニターについては以下です。


高負荷状態が確認された場合はボトルネックの特定及び、バックプレッシャーやスロットリングが発生していないか確認します。

Exchange Server のイベントログを確認する

イベントビューアを開き、[Windows ログ] – [Application] をクリックします。

[ソース] で「MSExchange」で始まるイベントや、「ESE」のイベントがエラーや警告として出力されていないか確認します。
特にキュ-滞留が発生し始めた時間に、エラーや警告が発生している場合は詳細を調査します。

Exchange Server のサービスの状態を確認する

PowerShell で以下コマンドを実行し、Exchange Server の各種サービスが正常に起動しているか確認します。

Get-Service -DisplayName 'Microsoft Exchange*' | select DisplayName,Status,StartType

特に [スタートアップの種類](StartType) が [自動](Automatic) のサービスが [停止](Stopped) になっている場合は何か問題が発生している可能性が高いため、調査が必要になります。

コメント

タイトルとURLをコピーしました