More Related Content
Similar to HCL Domino エージェントとトラブルシューティング (20)
More from Software Info HCL Japan (20)
HCL Domino エージェントとトラブルシューティング
- 1. C opyright © 20 20 HC L Technologies Limited | www.hcltechsw.com
HCL Domino エージェントとトラブルシューティング
2020年7月8日 株式会社 エイチシーエル・ジャパン
HCL ソフトウェア
- 2. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 2
目次
• はじめに
• エージェントの用途
• エージェントの起動方法
• エージェントの種類
• エージェントの作成
• エージェントのテスト
• エージェントの管理
• エージェントのセキュリティ
• エージェントのトラブルシューティング
- 3. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 3
はじめに
• エージェントは一連のドキュメントに作用し、事前に定義する式です
• エージェントはマクロに似ており、一般的に実行される多くのデータベースタスクを自動化します
• エージェントは、データベース内で文書の管理、メールの送信、フィールド値の変更などを行います
• エージェントは、作成されたデータベースに格納されます
- 4. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 4
エージェントの用途
• エージェントを使用して、次のことができます。
• フォルダ内のドキュメントを管理する
• ドキュメントのアーカイブ
• メッセージ、文書、ニュースレターの送信
• 他のエージェントを実行する
• ドキュメントの情報を変更する
- 5. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 5
エージェントの起動方法
• エージェントは、あらかじめ決められた時間またはイベントのいずれかによって起動されるように設計
されています。(スケジュールまたはイベント)
• スケジュール
• エージェントを1日1回以上、毎日、毎週、毎月実行するように設定できます。
- 6. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 6
エージェントの作成
• スケジュール
- 7. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 7
エージェントの起動方法
• イベント
• アクションメニューの選択
• エージェントリストの選択
• 新着メール受信前
• 新着メール受信後
• 文書の作成または変更後
• 文書が貼り付けられたとき
• サーバーの開始時
- 8. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 8
エージェントの作成
• イベント
- 9. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 9
エージェントの種類
• Notes は2種類のエージェントを提供します
• 個人エージェント – 個人使用のためにユーザーが作成
• 共有エージェント – 開発者によって作成され、多くのユーザーが使用します
- 10. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 10
エージェントの種類
• エージェントは5種類の言語タイプを選択できます。
• 式
• シンプルアクション
• LotusScript
• インポートされた Java
• Java
- 11. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 11
エージェントの作成
• アプリケーションを開き、[ 作成 ] – [ 設計 ] - [ エージェント ] をクリックします。
- 12. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 12
エージェントの作成
• エージェントのプロパティで、次のトリガーのいずれかを選択します。 選択したトリガーに応じて、異
なるオプションが表示されます。
• [ イベント ] を選択し、エージェントをトリガーするイベントを選択します。
• [ スケジュール ] を選択し、エージェントがトリガーする時間をスケジュールします。
• 注:選択したトリガーによっては、「対象」フィールドでエージェントが実行するドキュメントを選択する必要がある
場合があります。
- 13. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 13
エージェントの作成
• イベント
- 14. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 14
エージェントの作成
• スケジュール
- 15. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 15
エージェントの作成
• 選択したトリガーによる選択できるオプション(イベント)
設定の変更 対象
アクションメニューの選択 N/A データベースのすべての文書
作成または変更されたすべての文書
ビュー のすべての未読文書
ビュー のすべての文書
すべての選択文書
なし
エージェントリストの選択 データベースのすべての文書
作成または変更されたすべての文書
ビュー のすべての未読文書
ビュー のすべての文書
すべての選択文書
なし
新規メールの受信前 N/A N/A
新規メールの受信後 N/A N/A
文書の作成後または変更後 エージェントの実行日制限 N/A
文書が貼り付けられたとき N/A N/A
サーバーの開始時 エージェントの実行日制限 データベースのすべての文書
作成または変更されたすべての文書
なし
- 16. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 16
エージェントの作成
• 選択したトリガーによる選択できるオプション(スケジュール)
スケジュール 対象
1日1回以上 次ページ参照 データベースのすべての文書
作成または変更されたすべての文書
なし
日次 次ページ参照 データベースのすべての文書
作成または変更されたすべての文書
なし
週次 次々ページ参照 データベースのすべての文書
作成または変更されたすべての文書
なし
月次 次々ページ参照 データベースのすべての文書
作成または変更されたすべての文書
なし
なし N/A データベースのすべての文書
作成または変更されたすべての文書
なし
- 17. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 17
エージェントの作成
• スケジュール
1日1回以上 日次
- 18. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 18
エージェントの作成
• スケジュール
週次 月次
- 19. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 19
エージェントの作成
• 自動応答エージェントの作成例
- 20. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 20
エージェントの作成
• 自動応答エージェント(シンプルアクション)の作成例
• エージェントを右クリックし、エージェントのプロパティを選択します
- 21. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 21
エージェントの作成
• 自動応答エージェントの作成例
- 22. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 22
エージェントのテスト
• 他のエージェントを呼び出さないエージェントの場合は、メニューから実行します。
• LotusScript を使用するエージェントの場合は、LotusScript デバッガを使用します。
• より複雑なエージェントの場合は、元のデータベースを使用する前に、データベースのテストコピー
を作成します。
- 23. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 23
エージェントのテスト
• テストメニューコマンドを使用する場合
• エージェントを選択してメニュー [ 設計 ] - [ テスト ] を選択するか、エージェントを右クリックして [ テスト ] を選
択します
• エージェントのログを確認
• 処理されるドキュメントの数
• エージェントが実際に実行される場合、どのようなアクションがとられるか
• 必要に応じて修正し、テストを再実行します
- 24. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 24
エージェントのテスト
• LotusScriptデバッガを使用するには
• メニュー [ ツール ] – [ LotusScript のデバッグ ] を選択
• エージェントを実行すると、LotusScript デバッガが表示されます。エージェントが実行されると、各ステップを確
認できます
• メッセージボックスなどを使用します
- 25. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 25
エージェントの管理
• アプリケーション内やアプリケーション間でエージェントの編集、削除、移動、コピーを行えます。
• エージェントを編集するには
• エージェントリストを開き、編集したいエージェントをダブルクリックします。
• エージェントのプロパティボックスまたはプログラマペインで編集を行います。
• Escキーを押します。
• [ はい ] をクリックして、エージェントの変更を保存します。
- 26. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 26
エージェントの管理
• エージェントをコピーするには
• エージェントリストを開き、エージェントを選択します。
• メニューから [ 編集 ] - [ コピー ] をクリックします。
• エージェントを別のアプリケーションにコピーする場合は、そのアプリケーションを開きます。
• アプリケーションを表示し、エージェントリストを表示します。
• メニューから [ 編集 ] - [ 貼り付け ] をクリックします。
• エージェントを削除するには
• エージェントリストを開き、エージェントを選択します。
• メニュー [ 編集 ] - [ 削除 ] をクリックします。
- 27. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 27
エージェントのセキュリティ
• エージェントのプロパティの [ セキュリティ ] タブを使用して、エージェントの基本的なセキュリティを
設定できます。
- 28. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 28
エージェントのセキュリティ
• Web ユーザーとして実行
• このオプションをチェックすると、現在のWebユーザをエージェントの有効ユーザに指定します。有効なユーザーは、
エージェントが実行する権限を持つユーザーです。
• 代理で実行
• エージェントの有効ユーザーを指定できます。
• 制限された操作を許可する
• 制限されていない権限を持っているユーザーに エージェントは、完全な管理者権限モードで制限付き、制限な
し、または制限なしで実行する必要があります。
• デフォルトの設定は、最も安全な設定である制限付きモードです。
- 29. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 29
エージェントのセキュリティ
• 編集者レベルのユーザーの有効化を許可する
• このボックスにチェックを入れると、署名に関係なく、編集者レベルのアクセス権を持つユーザーがこのエージェントを
有効にできます。
• エージェントの参照と実行のデフォルトアクセス
• 参照と実行のためのデフォルトレベルの場合、エージェントは 「読者以上すべて」となります。このオプションの選択
を解除して、すべてのユーザーがエージェントの参照と実行のためのデフォルトのアクセス権を持っています。
- 30. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 30
エージェントのセキュリティ
• エージェントを作成できるユーザー
• サーバー上で実行されるエージェントの作成を制御するには、データベース ACL で設定します。
• Web ユーザはエージェントを作成できません。
シンプルアクションや式言語で記述された個人エージェント アクセス権が「読者」以上で「個人エージェントの作成」が有効になっている
LotusScript や Java で記述した個人エージェント アクセス権が「読者」以上で、「個人エージェントの作成」と「LotusScript/Java エー
ジェントの作成」が有効になっている
シンプルアクションや式言語で記述された共有エージェント アクセス権が「設計者」以上
LotusScript や Java で記述した共有エージェント アクセス権が「設計者」以上で、「LotusScript/Java エージェントの作成」が有効に
なっている
- 31. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 31
エージェントのセキュリティ
• エージェントのセキュリティ制限はどのタイミングでチェックされるのか
• Notes/Domino は、エージェントがどこで実行されているかどうかにより、異なる方法でセキュリティ制限をチェッ
クします。
• ローカルまたはサーバー
• フォアグラウンドまたはバックグラウンド
- 32. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 32
エージェントのセキュリティ
• Notes クライアントのローカルで実行される場合
• 次の場合、エージェントはローカルで実行されます。
• Notes クライアントのデータベース内で実行
• ユーザーが Notes クライアントのアクションメニューからエージェントを開始
• エージェントがローカルで実行されている場合、[ このデータベースのレプリカはすべて共通のアクセス制御リストを
用いる ] オプションを設定しない限り、Notes クライアントはセキュリティ制限をチェックしません。
- 33. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 33
エージェントのセキュリティ
• Domino サーバーで実行される場合
• エージェントは、サーバ上のデータベースにあり、サーバーで動作しているときに、以下のいずれかによって起動され
ます。
• 新規メールの受信前
• 新規メールの受信後
• 文書の作成後または変更後
• 1日1回以上
• 日次
• 週次
• 月次
• エージェントがサーバー上で実行されている場合、Domino サーバーはすべてのセキュリティ制限をチェックします。
- 34. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 34
エージェントのセキュリティ
• フォアグラウンドまたはバックグラウンドの場合
• エージェントは、ユーザーが Notes クライアントのアクションメニューから起動したり、Domino Disigner のエー
ジェントリストから選択したり、アクションボタンをクリックして起動したりすると、フォアグラウンドで実行されます。
• ※エージェントがフォアグラウンドで実行されている場合、セキュリティ制限はチェックされません。
• エージェントがバックグラウンドで実行されるのは、スケジュールされているとき、イベント(文書のの変更時など)
によってトリガーされたとき、または agent.runonserver メソッドによって呼び出されたときです。
• ※エージェントがバックグラウンドで実行されると、Domino サーバーはセキュリティ制限をチェックします。
- 35. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 35
エージェントのセキュリティ
• サーバー上で実行されるエージェントの制御
• Domino Administrator から、設定タブをクリックし、サーバー文書を開きます。
• セキュリティタブをクリックします。
• [ 可能なプログラムの制限 ] セクションで、1つ以上のフィールドにユーザーやグループなどを入力して、ドキュメン
トを保存します。
- 36. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 36
エージェントのセキュリティ
制限なしで署名または実行 エージェントを実行し、XPage に署名して制限なく実行できるユーザーの名前を選
択します。 すべてのプログラミング言語とインターフェース (LotusScript、Java、
JavaScript、COM、DIIOP) が対象になります。 デフォルト値である空白を選択
すると、すべてのユーザーに対して、エージェントの実行時に制限が加えられます。
このアクセス権が設定されたユーザーは、すべてのエージェントを実行したり、任意の
XPage に署名して実行したりできます。
他のユーザーとして実行するエージェントを署名 代理で実行されるエージェントに署名することを許可された信頼できるエンティティ
(定期エージェントのみに適用される $OnBehalf 機能の制御に使用)。 デフォル
ト値は、現在のサーバー、Notes テンプレート開発者です。 これらの権限には、
「呼び出したユーザーとして実行するエージェントまたは XPage を署名」、「制限
付き LotusScript/Java エージェントの実行」、「シンプルアクションと式エージェン
トの実行」のすべての権限が含まれます。
制限付き LotusScript/Java エージェントの署名
または実行
LotusScript または Java 機能の一部を使用する LotusScript/Java エー
ジェントの実行を許可するユーザー名を選択してください。 デフォルト (空白) では、
実行が無制限に許可されているユーザー以外は LotusScript/Java エージェン
トを実行できません。 制限付きアクセスが設定されたユーザーは、システムへのアク
セスが制限されます
シンプルアクションと式エージェントの実行 個人エージェントと共有エージェントの両方のシンプルアクションと式エージェントの実
行を許可するユーザー、グループ名です。 すべてのユーザー、グループに個人エー
ジェントと共有エージェントの両方のシンプルアクションと式エージェントの実行を許
可するには、このフィールドを空白にします。
- 37. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 37
エージェントのトラブルシューティング
• エージェントの開発、実装、および展開中のいくつかの時点で、エージェントの実行に問題が発生
することがあります。
• 次のことを試すことで、問題の調査・診断に役立てることができます。
• エージェント実行ログを確認します(すべてのタイプのエージェントの場合)
• エージェントが実行されるたびに、次の情報を含むログレポートが書き込まれます。
• 実行された日時
• 処理した文書の数
• 文書に対して行われたアクション
• エージェントが実行されるたびに、以前のログレポートが上書きされます。
• LotusScript または Java で構築されたエージェントを実行していて、エージェントがバックグラウ
ンドで実行されている場合、エージェントログに NotesLog クラスを追加して、実行時情報を
エージェントログに記録できます。
- 38. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 38
エージェントのトラブルシューティング
• シナリオ1:エージェントが特定の時間に実行さない
• スケジュールされたエージェントは実行されているが、エージェントが実行されていない時間帯がある場合は、以下
の設定を確認してください。
• エージェント実行の短いスリープ時間
- 39. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 39
エージェントのトラブルシューティング
• シナリオ2:エージェントは実行されるが、完了までには至らない
• 手動で実行した場合、エージェントは完了まで実行されるかを確認する
• コード (@コマンドやクラス) の一部は、バックグラウンドプロセスとして実行することを意図していないものがあります。
• 例えば、@Commands、LotusScript UI (ユーザーインターフェース) メソッドなどです。
• 出力されたエラーをチェックする。
• エージェントログとサーバーログの確認
• LotusScript エージェントの場合
• サーバー文書の Agent Manager セクションには、LotusScript エージェントが実行を完了するまでの時間を定義す
る 最長実行時間パラメーターがあります。
- 40. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 40
エージェントのトラブルシューティング
• シナリオ3:エージェントが起動していない
• サーバー上でスケジュールされたエージェントが実行されているかを確認
• 他のスケジュール済みエージェントがサーバー上で実行されているかどうかを確認してください。スケジュールされたエージェ
ントが実行される時間に実行されていない場合は、以下を確認してください。
• サーバーコンソールで「Show Task」を実行します。これにより、現在実行中の Domino タスクを確認できます。
Amgr(エージェントマネージャー)が実行されていることを確認します。
• サーバコンソールで「Tell Amgr Status」を実行します。これにより、以下のような情報が提供されます。
• スケジュールキューのエージェント数、新規メールトリガーエージェント数など
• サーバコンソールで「Tell Amgr Schedule」を実行します。このコマンドは、エージェントマネージャーの 現時点
で実行する予定のすべてのエージェントのスケジュールを表示します。これはデバッグするのに便利です。なぜなら、
エージェントがエージェントマネージャーのキューの一つで待機しているかどうかを見ることができるからです。
- 41. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 41
エージェントのトラブルシューティング
• エージェントが実行されていない場合の確認
• サーバー上で他のエージェントが動作している場合は、以下を確認してください。
• サーバーログとエージェントログの両方でエラーを確認します。見つかったエラーに応じて、エージェント、ACL、または
Domino ディレクトリの権限を修正します。
• 設定を編集して保存しなおしてみてください。
• データベースの新しいレプリカが存在する場合は、別のサーバーから再度新たに複製してください。
• どのようなタイプのエージェントかを確認する (例えば、新規メール受信、新規文書の作成または更新など。毎時
/毎日/毎週など)
• エージェントを起動するために適切なイベントが発生したか(例えば、新しいメールが受信されたか)
• スケジュールされたエージェントは実行されているが、該当のデータベースでは何も実行されていない場合、データベース
のプロパティで「バックグラウンドエージェント不可」オプションが選択されていないかを確認してください。この設定を確認す
るには、データベースのプロパティ「データベースの基本」タブを選択します。
- 42. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 42
エージェントのトラブルシューティング
• デバッグ方法
• 実行中の Amgr タスクの詳細な情報を提供するための2つの notes.ini パラメータがあります。
• debug_amgr=<値>
• c - エージェント制御パラメータを出力
• e - エージェントマネージャのイベントに関する情報を出力
• l - エージェント起動レポートを出力
• m - エージェントのメモリ警告を出力
• p - エージェントのパフォーマンス統計情報を出力
• r - エージェント実行レポートを出力
• s - エージェントマネージャのスケジューリングに関する情報を出力
• v - 冗長モード,エージェントの起動,スケジューリング,キューを出力
• * - 上記のすべてのフラグでの情報を出力
• log_agentmanager=<値>
• エージェントの実行開始をログファイルに記録し、サーバーコンソールに表示するかどうかを指定します。
• 0 - エージェント実行イベントをログに記録しない
• 1 - エージェント実行イベントのログ(部分的に成功した場合と完全に成功した場合)
• 2 - エージェントの実行イベントをログに記録する(完全に成功した場合のみ)
- 43. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 43
エージェントのトラブルシューティング
• デバッグ方法
• サーバコンソールのDebugパラメータの出力例
2020-05-26 07:57:15 AM AMgr: Start executing agent 'test' in 'debug.nsf‘ by Executive '2'
2020-05-26 07:57:15 AM AMgr: 'Domain Admin/Lotus' is the agent signer of agent 'test' in
'debug.nsf'
2020-05-26 07:57:15 AM AMgr: 'Agent 'test' in 'debug.nsf' will run on behalf of 'Domain
Admin/Lotus'
2020-05-26 07:57:15 AM Agent Manager: Error validating execution rights for Agent 'test' in
database 'debug.nsf'. Agent signer 'Domain Admin/Lotus’, effective user 'Domain Admin/Lotus'.
Examine 'Programmability Restrictions' field in the Server Record.
2020-05-26 07:48:37 AM AMgr: Agent 'test' in 'debug.nsf' does not have proper execution
access, cannot be run
- 44. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 44
参考
• ノーツコンソーシアム / ノーツ新任担当者向けアプリケーション開発講座:エージェントの作成
• https://www.notescons.gr.jp/home.nsf/blog.xsp?action=openDocument&documentId=138AF794B1AEEC7249258094001CAF08
• HCL / シンプルエージェントを使用してタスクを自動化する
• https://help.hcltechsw.com/notes/11.0.0/nl/ja/agents_toc.html
• HCL / エージェントを使用して文書を削除およびアーカイブする
• https://help.hcltechsw.com/domino/11.0.0/nl/ja/tune_usinganagenttodeleteandarchivedocuments_c.html
- 45. C opyright © 20 20 HC L Technologies Limited | www.hcltechsw.com