システム内部 - スケジュールタスク
- Last Updated: April 28, 2022
- 24 minute read
- MOVEit Transfer
- Version 2022
- Documentation
概要
MOVEit Transfer には、サーバーで定期的に実行される「スケジュールタスク」というアプリケーションが含まれています。これらのアプリケーションは、MOVEit Transfer システムを保守したり、遅延通知やパスワード期限切れなどの時間ベースの操作を実行したりします。アプリケーションは、Windows スケジュールタスクのリスト内の 2 つのタスクによって実行されます。これらのタスクは、MOVEit Transfer のインストール時に自動的に追加されます。
スケジュールタスクには 2 つのグループがあり、一部のアプリケーションは両方のグループに含まれています。最初のグループは、DayTime グループです。これは、デフォルトで、午前 2 時 ~ 午前 12 時の間で毎日 5 分間実行されます。このグループのアプリケーションは、一日を通して実行される必要があるアプリケーションです。たとえば、遅延通知を発行したり、データベース内でキャッシュされたエントリを消去したりします。このグループを実行する Windows スケジュールタスクエントリは、「MOVEitDayTimeTask」と呼ばれます。
2 番目のグループは Nightly グループです。これは、デフォルトで、毎夜午前 1 時に実行されます。このグループのアプリケーションは、一般に、MOVEit Transfer システムの一貫性を確認したり、ログや安全なメッセージ、および期限切れデータをアーカイブ化したりします。このグループを実行する Windows スケジュールタスクエントリは、「MOVEitNightlyTask」と呼ばれます。
バージョン 3.4 では、管理者が各タスクを選択して実行できるように、「RunOneTask」と呼ばれるバッチファイルも紹介しました。このユーティリティに関する詳細については、以下をご覧ください。
以下は、各グループ内のアプリケーションの一覧です。
日中タスク
DeleteParmFiles
- MOVEit Transfer アプリケーションと MOVEitISAPI ファイル送信モジュール間の通信に必要な古いパラメータファイルを消去します。
EmailNotify
- 送信者と受信者の両者に遅延通知を送信します。
TableCleanup
- 古いセッションとさまざまなセッションに付与されたフォルダーへのアクセス許可を削除します。
- サインオン違反によりロックアウトされたユーザーと IP アドレスを再度有効にします。
夜間タスク
ArchiveLog
- 監査ログエントリが設定された保持期間を過ぎると、これらのエントリをアーカイブ化して、データベースから削除します。アーカイブを MOVEit Transfer ファイルシステムの /Archive/Logs フォルダーに保存します。このタスクは、ログがアーカイブ化/削除された後に、各組織の監査ログが新たに開始されたことがわかるように、開封明示したハッシュチェーンもリセットします。
アーカイブログ設定を制御するには、ArchiveLogBatchSize、ArchiveLogBatchPauseMS、ArchiveLogTableName のレジストリ設定を参照してください。
ArchiveMessages
- パッケージメッセージと添付ファイルが設定された保持期間を過ぎると、これらをアーカイブ化 (オプション) して削除します。アーカイブを MOVEit Transfer ファイルシステムの /Archive/Packages フォルダーに保存します。
ConsistencyCheck
- さまざまなデータベーステーブル内のレコードに一貫性があることを確認します。たとえば、ファイル、そのファイルを含んだフォルダー、そのファイルをアップロードしたユーザーがすべて、同じ組織に属していることを確認できます。
- データベースレコードがファイルシステムデータに一致する (その逆も成立する) ことを確認します。この確認作業では、データベース内の各ファイルとフォルダーレコードが、Windows ファイルシステムのファイルとフォルダーに一致します。
ConsistencyCheck タスクでエラーが見つかったら、DBFixup を実行してエラーを調整するように推奨する設定済みの管理者メールアドレスに通知が送信されます。MOVEit Transfer コンソールで スタート | プログラム | MOVEit Transfer メニューから DBFixup を実行すると、いくつかのプロンプトが順に表示されます。データベースにアクセスするには、MOVEit Transfer が使用する MySQL ユーザーのパスワードが必要です。これは、インストール時に設定されるパスワードです。データベースエラーが発生すると、DBFixup は問題のあるテーブルエントリを削除するか、整合性がとれるように変更します。ファイルシステムエラーが発生すると、一致しないファイルとフォルダーが削除されます。
注: MOVEit Transfer が Web ファーム環境で実行されている場合、DBFixup はどのノードでも実行できますが、使用できるのは、NAS バックエンドの共有ファイルシステムにアクセスできるユーザーに限られます。DBFixup が適切なアクセス許可を持つユーザーによって実行されていない場合、要件を記したエラーメッセージが表示されます。注: DBFixup は管理者として実行してください。
整合性チェッカーが実行中に大きな夜間負荷が生じる場合などは特に、誤検知が報告される場合があります。チェッカー機能を使用すると、チェッカー実行時に作成、削除、または移動中であったファイルが検出される場合があります。これらのエラーは、通常、ConsistencyCheck タスクが実行された翌日に表示されなくなります。報告された不整合に関して疑わしいと思われる場合は、もう 1 日待ってもよいでしょう。通知メールに記載された情報を使用して、Web インターフェイスからファイルまたはフォルダー ID を調べることもできます。
CreateReports
- 実行する必要があるスケジュールされたレポートを実行し、レポートの内容を設定された各場所に保存します。
DeleteParmFiles
上記を参照してください。
DeletePendingUsers
- 削除済みユーザーが他の要素によって参照されなくなったら、データベースから削除します。
- 一時ユーザーを期限切れにして、保留中の一時ユーザーの有効期限に関する警告を発します。
EmailNotify
上記を参照してください。
GarbageCollection
- ファイル消去オプションが有効な状態で、古いファイルをフォルダーから削除します。
- 新しいファイルがフォルダーで設定した NewTime 設定を過ぎると、「新着以外」とマークします。
- 12 時間以上経過した一部のファイルを削除します。
- サブフォルダー消去オプションが有効な状態で、古い空のサブフォルダーをフォルダーから削除します。
- 新しい安全なメッセージが組織で設定した NewTime 設定を過ぎると、「新着以外」とマークします。
- 古い、未割り当ての SSH キーと SSL 証明書を貯蔵タンクから削除します。
PasswordAgeUsers
- 設定されたパスワードの有効期間設定よりも古いパスワードを持っているユーザーを中断します。
- 設定したパスワードの有効期限の警告設定の範囲内にあるパスワードを持っているユーザーに警告通知を送信します。
- 対象の管理者と GroupAdmin にパスワードの有効期限とパスワードの警告通知に関する通知を送信します。
SyncLDAP
- MOVEit Transfer サーバー上の高度な LDAP 認証ユーザーのプロパティを、LDAP サーバー上の関連ユーザーレコードと同期します。
- LDAP 認証ソースで見つかるが、MOVEit Transfer にはまだ存在しないユーザーのユーザーレコードを追加することもできます。
SysCheck
- システムデバッグレベルが [Some Debug (一部のデバッグ)] レベル以上かどうか確認するために、月の最初の日に確認を行います。そうである場合、E メールメッセージを [Send ErrorsTo (エラーの送信先)] E メールアドレスに送信し、デバッグレベルが高いとパフォーマンスに影響する可能性があることを示します。
- 各ローカルシステムドライブに残りの容量があるかどうかを確認します。ドライブの残りの容量が設定可能なメガバイト数よりも少ない場合は、E メールメッセージを [Send Errors To (エラーの送信先)] E メールアドレスに送信し、容量が少ないドライブを示します。
デフォルトでは、ドライブの残りの最小容量は 1024MB (1GB) です。この値は MOVEit Transfer Config ユーティリティから変更できます。
- マシンと ISAPI URL がまだ有効であるかどうかを数分ごとに確認します。これらの URL が急に無効になる主な理由は、誰かが IIS サーバーにセキュリティ上の変更を行い、その変更が致命的であるかどうかを調べるための MOVEit Transfer Check ユーティリティを実行しなかったことにあります。これらのいずれかの URL がタイムアウトすると、不正なメッセージが返されるか、異常を示します。SysCheck は E メールメッセージを [Send Errors To (エラーの送信先)] E メールアドレスに送信し、問題を解決するための提案を示します。
- コンテンツスキャン設定 (ウイルス対策と情報漏えい対策) が有効な場合は、スキャンエンジンを使用できるかどうかを数分ごとに確認します。スキャンエンジンを使用できない場合は、E メールメッセージを [Send Errors To (エラーの送信先)] E メールアドレスに送信し、この状況が改善されるまで MOVEit Transfer サーバー経由でファイルを送信できないことを警告します。スキャンエンジンを再度使用できるようになると、スキャンが正常に動作していることを示すメールを送信します。
TamperCheck
- すべてのログエントリを (組織ごとに) にチェックし、各組織の暗号化ハッシュチェーンが変わっていないことを確認します。改ざんが検出された場合は、説明とログを示した通知が [Send Errors To (エラーの送信先)] E メールアドレスに送信されます。
TamperCheck を手動で開始し、(コマンドラインウィンドウに実行結果を表示する) MOVEit Transferログの改ざんチェックリンクは、MOVEit Transfer プログラムグループの [Start (スタート)] メニューから使用できます。TamperCheck を実行した後、「Completed with errors (エラーで終了)」というフレーズが表示されると、TamperCheck は正常に行われなかったとみなされます。エラーの正確な理由は、ログと通知メールメッセージに記載されます。
ログとエラー処理
これらの各アプリケーションは、独自のログファイルを共通の MOVEit ログフォルダーに書き込みます (通常は、D:\moveitdmz\logs のような名前になります)。実行するたびに新しいログが生成されるため (後続の処理を実行しても既存のログには追加されない)、古いログは自動的に適用が除外され、スケジュールされた各アプリケーションのログファイルで最大 5 つの古いコピーを使用することができます。
各スケジューラアプリケーションも、エラーが発生した場合に具体的なログファイルを書き出します。これらのファイルには「.err」という拡張子が付き、通常のログファイルと同様に、自動的に適用が除外されます。エラーがない場合、エラーログファイルには何も記載されません。それ以外の場合は、発生したエラーの具体的な内容がファイルに書き出されます。また、エラーが発生した場合は、システム用に設定された [Send Errors To (エラーの送信先)] E メールアドレスに E メールメッセージが送信され、受信者にエラーが発生したホストとエラーが発生したアプリケーションを通知します。エラーログファイルの内容は E メールの本文に含まれ、アプリケーションに適した通常のログファイルも E メールに添付されます。
シングルタスクの手動実行 (RunOneTask)
スケジュールタスクの日中および夜間セットは、Windows スケジュールタスクインターフェイスからいつでもセットで手動実行できます。ただし、セット内で各タスクを実行するには、「RunOneTask」と呼ばれるバッチファイルユーティリティを使用する必要があります。このユーティリティも、「Scheduler」ディレクトリにあります。
D:\MOVEitDMZ\Scheduler>runonetask
使用:RunOneTask NonWebDir moveitDSN TaskToRun
MOVEit Transfer をスペースを使用する名前が付いたフォルダーにインストールした場合は、RunOneTask が正しく実行されるように、指定されたフォルダー名の 8.3 バージョンを使用してください。たとえば、MOVEit Transfer を D:\m i\mi dmz フォルダー (通常の D:\moveitdmz\midmz ではない) にインストールした場合、RunOneTask コマンドは次の例のようになります。
D:\m i\mi dmz\Scheduler>runonetask d:\mi09f8~1\midmz~1 moveitdmz syscheck
NonWebDir=d:\mi09f8~1\midmz~1 SchedLogDir=d:\mi09f8~1\midmz~1\logs
BEGIN One Task Run of syscheck
1 file(s) moved.
1 file(s) moved.
END One Task Run of syscheck
MOVEit SysStat サービス
スケジュールタスクの 2 つのグループのほかに、定期的に実行されるアプリケーションがもう 1 つあります。ただし、このアプリケーションは直接スケジュールされません。これは、SysStat サービスというもので、MOVEit Transfer データベースのテーブルにいくつかのパフォーマンス統計を定期的に記録します。これらの値を使用して、サーバーの正常性の全体的な概要を把握できます。
デフォルトでは、SysStat サービスは 323 秒 (約 5 分) ごとに起動し、追跡するさまざまなパフォーマンス統計のサンプルを記録します。323 秒のスリープ期間がデフォルトとして選択されているのは、日中のスケジュールタスクに要する 5 分間のスケジュールからサービスがオフセットされたままにするためです。また、72 サイクルごとに、さまざまな各 MOVEit Transfer コンポーネントに対してディスク使用率の完全なチェックが行われます。この操作は定期的にしか行われません。これは、ディスク使用率の値の変動が一般に他のシステムパフォーマンス統計よりもはるかに遅いこと、およびディスクチェックに要する時間が長く、他の統計のサンプリングよりも多くのシステムリソースを必要とするためです。またこの理由から、SysStat サービスは起動後の初回実行時に完全なディスク使用利率のチェックを行いません。代わりに、初回ディスクチェックは今後の実行時にランダムに行われ、その後は定期的に行われます。
上記の設定値は、データベースに統計が保管される期間 (デフォルトは 30 日) と同様に、カスタマイズ可能です。値は、MOVEit Transfer Configuration ユーティリティの [Miscellaneous (その他)] タブで変更できます。
SysStat サービスは、MOVEit Transfer データベースの sysstats テーブルに統計サンプルを保存します。テーブルで使用できるフィールドを、コンテンツの説明とともに以下に示しています。アスタリスクが先頭に付いたフィールドは、デフォルトで 72 サイクルごとに入力されるフィールドを示しています。オフサイクル中は、これらのフィールドは 0 に設定されます。
- [ID] - 各エントリの簡単な自動インクリメント ID 番号。
- [StatTime] - エントリ内のサンプルがいつ記録されたかを示す日付/時刻スタンプ。
- [ResilNode] - システムが Web ファーム DMZ クラスタにある場合は、エントリ内のサンプルが記録されたノード番号が含まれます。
- [FilesDriveRootPath] - MOVEit Transfer 暗号化ファイルストアのルートドライブパス。
- [FilesDriveSpaceFree] - MOVEit Transfer 暗号化ファイルストアを含んだドライブで使用できるバイト数。
- [FilesDriveSpaceUsed] - MOVEit Transfer 暗号化ファイルストアを含んだドライブで使用されるバイト数。
- [*FilesSpaceUsed] - MOVEit Transfer 暗号化ファイルストアでのみ使用されるバイト数。
- [DBDriveRootPath] - MOVEit Transfer MySQL データベースのルートドライブパス。
- [DBDriveSpaceFree] - MOVEit Transfer MySQL データベースを含んだドライブで使用できるバイト数。
- [DBDriveSpaceUsed] - MOVEit Transfer MySQL データベースを含んだドライブで使用されるバイト数。
- [*DBSpaceUsed] - MOVEit Transfer MySQL データベースでのみ使用されるバイト数。
- [LogsDriveRootPath] - MOVEit Transfer デバッグログストアのルートドライブパス。
- [LogsDriveSpaceFree] - MOVEit Transfer デバッグログストアを含んだドライブで使用できるバイト数。
- [LogsDriveSpaceUsed] - MOVEit Transfer デバッグログストアを含んだドライブで使用されるバイト数。
- [*LogsSpaceUsed] - MOVEit Transfer デバッグログストアでのみ使用されるバイト数。
- [FilesTotalDB] - データベースレコードに応じた MOVEit Transfer システム上のファイル数。
- [FilesSizeTotalDB] - データベースレコードに応じた MOVEit Transfer システム上のファイルの合計バイト数。
- [CPUUsagePercentTotal] - すべての実行プロセスによる CPU 使用率の合計 (%)。
- [CPUUsagePercentDMZ] - MOVEit Transfer Web アプリケーション (aspnet_wp) による CPU 使用率 (%)。
- [CPUUsagePercentISAPI] - MOVEit ISAPI モジュールによる CPU 使用率 (%)。ISAPI モジュールとして、MOVEit ISAPI は DLLHOST.EXE アプリケーションの下で実行されます。SysStats サービスは、MOVEit ISAPI モジュールを管理する実行中の DLLHOST プロセスを自動的に特定し、そのプロセスの CPU 使用率 (%) を判断します。
- [CPUUsagePercentIIS] - IIS Web サーバー (inetinfo) による CPU 使用率 (%)。
- [CPUUsagePercentDB] - MySQL データベースサーバー (mysqld-nt) による CPU 使用率 (%)。
- [CPUUsagePercentDMZFTP] - MOVEit Transfer FTP サーバー (MIFTPSrv) による CPU 使用率 (%)。
- [CPUUsagePercentDMZSSH] - MOVEit Transfer SSH サーバー (MIDMZSSHSrv) による CPU 使用率 (%)。
- [CPUUsagePercentSched] - さまざまな MOVEit Transfer スケジューラアプリケーション (GarbageCollection、EmailNotify、ArchiveLog、DeletePendingUs、PasswordAgeUser、ArchiveMessages、ConsistencyChec、DeleteParmFiles、SyncLDAP) による CPU 使用率 (%)。
- [CPUUsagePercentCentral] - MOVEit Automation アプリケーション (MICentral) が実行されている場合は、それによる CPU 使用率 (%)。
- [MemUsedTotal] - すべての実行中のプロセスが使用するメモリの合計バイト数。
- [MemFreeTotal] - 使用できるメモリのバイト数。
- [MemUsedDMZ] - MOVEit Transfer Web アプリケーションが使用するメモリのバイト数。
- [MemUsedISAPI] - MOVEit ISAPI モジュールが使用するメモリのバイト数。
- [MemUsedIIS] - IIS Web サーバーが使用するメモリのバイト数。
- [MemUsedDB] - MySQL データベースサーバーが使用するメモリのバイト数。
- [MemUsedDMZFTP] - MOVEit Transfer FTP サーバーが使用するメモリのバイト数。
- [MemUsedDMZSSH] - MOVEit Transfer SSH サーバーが使用するメモリのバイト数。
- [MemUsedSched] - さまざまな MOVEit Transfer スケジューラアプリケーションが使用するメモリのバイト数。
- [MemUsedCentral] - MOVEit Automation アプリケーションがインストールされている場合は、それが使用するメモリのバイト数。
- [VMSizeDMZ] - MOVEit Transfer Web アプリケーションが使用する仮想メモリのバイト数。
- [VMSizeISAPI] - MOVEit ISAPI モジュールが使用する仮想メモリのバイト数。
- [VMSizeIIS] - IIS Web サーバーが使用する仮想メモリのバイト数。
- [VMSizeDB] - MySQL データベースサーバーが使用する仮想メモリのバイト数。
- [VMSizeDMZFTP] - MOVEit Transfer FTP サーバーが使用する仮想メモリのバイト数。
- [VMSizeDMZSSH] - MOVEit Transfer SSH サーバーが使用する仮想メモリのバイト数。
- [VMSizeSched] - さまざまな MOVEit Transfer スケジューラアプリケーションが使用する仮想メモリのバイト数。
- [VMSizeCentral] - MOVEit Automation アプリケーションがインストールされている場合は、それが使用する仮想メモリのバイト数。
- [HandlesTotal] - すべての実行中のプロセスによって開かれているハンドルの合計数。
- [HandlesDMZ] - MOVEit Transfer Web アプリケーションによって開かれているハンドルの数。
- [HandlesISAPI] - MOVEit ISAPI モジュールによって開かれているハンドルの数。
- [HandlesIIS] - IIS Web サーバーによって開かれているハンドルの数。
- [HandlesDB] - MySQL データベースサーバーによって開かれているハンドルの数。
- [HandlesDMZFTP] - MOVEit Transfer FTP サーバーによって開かれているハンドルの数。
- [HandlesDMZSSH] - MOVEit Transfer SSH サーバーによって開かれているハンドルの数。
- [HandlesSched] - さまざまな MOVEit Transfer スケジューラアプリケーションによって開かれているハンドルの数。
- [HandlesCentral] - MOVEit Automation アプリケーションがインストールされている場合、それによって開かれているハンドルの数。
- [ProcessesTotal] - 実行中のプロセスの合計数。
- [ThreadsTotal] - すべての実行中のプロセスによる実行中のスレッドの合計数。
- [ThreadsDMZ] - MOVEit Transfer Web アプリケーションが所有する実行中のスレッド数。
- [ThreadsISAPI] - MOVEit ISAPI モジュールが所有する実行中のスレッド数。
- [ThreadsIIS] - IIS Web サーバーが所有する実行中のスレッド数。
- [ThreadsDB] - MySQL データベースサーバーが所有する実行中のスレッド数。
- [ThreadsDMZFTP] - MOVEit Transfer FTP サーバーが所有する実行中のスレッド数。
- [ThreadsDMZSSH] - MOVEit Transfer SSH サーバーが所有する実行中のスレッド数。
- [ThreadsSched] - さまざまな MOVEit Transfer スケジューラアプリケーションが所有する実行中のスレッド数。
- [ThreadsCentral] - MOVEit Automation アプリケーションがインストールされている場合は、それが所有する実行中のスレッド数。
- [SessionsTotal] - MOVEit Transfer で登録されている ASP.NET セッションの合計数。
- [SessionsActive] - MOVEit Transfer で登録されているアクティブな (最近 5 分以内に操作した) ASP.NET セッションの合計数。
統計収集サイクル中に重大なエラーが発生した場合、SysStat はシステム上で設定された [Send Errors To (エラーの送信先)] E メールアドレスに E メールメッセージを送信するか、エラーを Windows アプリケーションイベントログに記録することで、エラーを報告します。ほとんどの場合、SysStat は収集できる情報を記録し、作業を続行します。特定のフィールドで情報を収集できない場合は、通常、そのフィールドに 0 または -1 の値が記録されます。値が -1 の場合は、不明なエラーが発生したことを示します。値が 0 の場合は、既知のエラーが発生したことを示します (SysStat が情報の収集に使用しているプロセスが実行されていない場合がほとんどです)。フィールドの値が 0 であっても、エラーが発生したとは限りません (CPUUsagePercent は実行されているが、何も処理を行っていないプロセスに対して 0 を返すことがよくあります)。
データベースファイルシステムがリモートの場合は、特定のデータベース関連またはファイルシステム関連のフィールドでも値が -1 になります。これは、MOVEit Transfer が Web ファーム設定の場合によくあります。さらに、データベースパフォーマンス統計は、ローカル MySQL データベースに対してのみ記録されます。ローカルおよびリモートの SQL Server データベースは、パフォーマンス統計に対しては照会されません。
MOVEit Transfer ヘルパーサービス
MOVEit Transfer ヘルパーサービスは、その他の MOVEit Transfer サービスに対して多数のユーティリティ関数を実行します。
- CA およびクライアント証明書管理 - Web インターフェイスサービス (IIS など) は、Microsoft 証明書ストアを直接変更するための十分な権限では実行されません。MOVEit Transfer ヘルパーサービスを使用すると、Web インターフェイスはストアから証明書を間接的に作成、インポート、削除できます。