Workbench 5でジョブが失敗する問題を解決する
はじめに
Workbenchジョブが失敗したときの対処法は、ジョブが、a)手動で実行する場合は成功するが、自動スケジュールの場合に失敗するか、b)固定間隔、つまり特定の分数で実行すると失敗するかによって異なります。この記事では、両方のシナリオの手順を詳しく説明します。
シナリオ1:自動スケジュールでジョブが失敗する場合
手動では正常に実行できているが、自動スケジュールのWorkbenchジョブが失敗するという問題が発生した場合は、Windows Workbench Serviceの権限とアクセス権を確認してください。
Workbenchでジョブを手動で実行すると、Windowsはこれをユーザー要求のアクションとして認識し、それに応じて処理します。このユーザーに付与されたローカル権限はすべて、このユーザー要求アクションを通じて渡されます。あなたがローカル管理者の場合、ジョブは「管理者」権限で実行されます。逆に、自動スケジュールで実行されているWorkbenchジョブは、Workbenchサービス自体によって開始されます。Workbenchサービスを承認するために使用される認証情報によっては、その同じジョブを実行するのに十分な権限が昇格されている場合と、されていない場合があります。そのような場合、スケジュールはジョブを開始しますが、適切な権限が足りない状況となります。
デフォルトでは、Workbenchサービスは「ローカルシステム」権限で起動します。ITセキュリティポリシーによっては、このユーザーはタスクを実行したり、ネットワーク内のデータソースにアクセスしたりするために必要なアクセス権を拒否されることがあります。
考えられる解決策:
-
Workbenchサービスを「ローカルシステム」として実行することがベストプラクティスであると考えられるため、ITグループはPCのローカルセキュリティポリシーを修正して、1)受信にポート80、送信にポート443を使用してサービスがインターネットにアクセスできるようにしたり、2)サービスが管理者としてタスクを実行できるようにしたりできます。
-
上の方法が実行できない場合、ITグループがローカルまたはドメインレベルで完全な管理者権限を持つサービスアカウントを作成します。このアカウントには、「バッチとしてログオンする」および「ユーザーに偽装する」権限も必要です。このサービスアカウントは、「ローカルシステム」の代わりに使用されます。このオプションを選択した場合は、通常の設定での実行ではなくなるため、Domoサポートから十分なサポートを提供できなくなります。権限に関する問題のトラブルシューティングは、お客様の責任になります。Workbenchサービスを新しいサービスアカウントに切り替えるには、次の操作を実行します。
-
[開始] ボタンをクリックして、「services」と入力します。
-
[サービス] で、[Domo Workbench] を探して右クリックし、[プロパティ] をクリックします。
-
[ログオン] タブをクリックします。
-
選択するラジオボタンを [このアカウント] に変更します。
-
ITグループから提供された認証情報を入力します。
-
メッセージが表示されたら、サービスを再起動します。
サービスが正しく開始されたら、認証情報が正しく受け入れられたことになります。
-
-
ITグループがローカルシステムの権限を変更したり、サービスアカウントを作成したりできない場合は、自分のローカルまたはドメインのいずれかの認証情報を使用できます。
注記:これは、推奨設定ではありません。ユーザーのパスワードが変更された場合や、会社を退職した場合に、サービスを開始できず、Workbenchのジョブが失敗します。
シナリオ2:固定間隔のジョブが失敗する場合
ジョブが一定時間(分)実行された後、毎回失敗することがあります。
この問題を解決する方法
-
ジョブのログを確認します。
-
ログでクエリが開始されたポイントを見つけ(クエリ文字列を調べます)、タイムスタンプをメモします。
-
エラーが発生したポイントまでログを下にスクロールし、そのタイムスタンプを見つけます。
-
差異を比較します。
差異が5分である場合は、おそらくWorkbenchジョブでクエリの実行時間を増やす必要があります。クエリが正常に完了するのに5分以上かかっている可能性があるからです(Workbenchのデフォルトのクエリ実行のタイムアウトは、300秒/5分です)。