9.1 活動ログを出力するエージェント

この節では,活動ログを出力するエージェントのサンプルプログラムについて,Windows NTの場合とUNIXの場合とに分けて説明します。

<この節の構成>
(1) Windows NTの場合
(2) UNIXの場合

(1) Windows NTの場合

エージェントの内容
このエージェントは,エージェントが生成されてから3分後に「■アクション実行 正常に終了しました。」というログを出力します。
サンプルプログラムの格納場所
サンプルプログラムは,Agent Serverの「インストール先フォルダ(ディレクトリ)¥GroupmaxAgent¥SVsmp」下の次のフォルダ(ディレクトリ)に格納されています。ユーザプログラム作成の参考にしてください。
  • TRGDLL
  • TRGEXE
  • ACTDLL
  • ACTEXE
  • TIMERAGT
エージェントの実行方法
エージェントを実行する前に,次のプログラムをシステム環境変数PATHに設定されているフォルダ(ディレクトリ)に格納してください。
  • trgexe.exe
  • actexe.exe
また,次のプログラムをAgent Serverのフォルダ(ディレクトリ)「インストール先フォルダ(ディレクトリ)¥GroupmaxAgent¥SVcst」に格納してください。
  • trgdll.dll
  • actdll.dll
サーバエージェントマネージャを起動し,エージェント定義画面で次の項目を指定してください。
エージェントが動作するきっかけ
実装ファイル名:trgdll.dll
関数名:Notify3Minutes
エージェントの動作
実装ファイル名:actdll.dll
関数名:InvokeApplication
項目の指定後,エージェント生成を実行してください。3分後に活動ログが出力されます。
システム提供のタイマトリガを利用する場合
ここでは,サーバエージェントマネージャからシステム提供のタイマトリガで活動開始するエージェントの生成方法について説明します。
サーバエージェントマネージャからシステム提供のタイマトリガで活動開始するエージェントは,エージェントを生成するための制御プログラムをユーザが作成する必要があります。Groupmax Agentでは,この制御プログラムのサンプルtimeragt.dllを提供しています。
timeragt.dllは,実行パスが設定されているフォルダ(ディレクトリ)においてください。また,クライアントのレジストリに次のファイル名及び関数名を登録してください。レジストリの詳細は,「8.2 独自のインタフェースの作成」を参照してください。
  • AgentNew-filename : 値=timeragt.dll
  • AgentNew-funcname : 値=CreateAgent
この後,エージェントの生成を実行すると,エージェントの生成時にダイアログで指定した時刻に,活動ログが出力されます。
サンプルプログラムの内容
Groupmax Agentは,このエージェントの次のサンプルプログラム(ソースファイル及び実行ファイル)を提供しています。
トリガ監視登録プログラム(trgdll.dll)
エージェントの生成後,このプログラムはtrgexe.exeプログラムを起動し,トリガの監視を依頼します。trgexe.exeプログラムは,3分後にトリガの発生をエージェントサーバに通知します。
<注意事項>
通常,Agent Serverから直接呼び出されるプログラム(trgdll.dll)では,時間の掛かる処理をしないようにしてください。また,このサンプルプログラムを複数のエージェントから利用すると,複数のプロセスが起動され,サーバに負荷が掛かります。この場合は,プロセスを統合する必要があります。
アクション実行プログラム(actdll.dll)
トリガの発生後,このプログラムはactexe.exeプログラムを起動し,アクションの実行を依頼します。actexe.exeプログラムは,活動ログを出力し,アクションの完了をエージェントサーバに通知します。
<注意事項>
Agent Serverから直接呼び出されるプログラム(actdll.dll)は,10分以上経過すると強制終了されます。処理時間が10分以上掛かる場合は,Agent Serverの管理コマンドでジョブクラスの動作時間を変更してください。
エージェント生成プログラム(timeragt.dll)
このプログラムは,クライアントからサーバエージェントを生成するための制御プログラムです。サーバエージェントマネージャで生成を実行すると,「Sample Agent」という名称のサーバエージェントが生成されます。
「Sample Agent」は,システム提供のタイマトリガとアクション実行プログラムactdll.dllで構成されるサーバエージェントです。
<注意事項>
サーバエージェントマネージャで生成を実行するには,「エージェントの実行方法」に示したように,ファイル名及び関数名をレジストリに登録しておく必要があります。

(2) UNIXの場合

エージェントの内容
このエージェントは,エージェントが生成されてから3分後に「■アクション実行 正常に終了しました。」というログを出力します。
サンプルプログラムの格納場所
サンプルプログラムは,「/groupmax/agentserver/sample」下の次のディレクトリに格納されています。ユーザプログラム作成の参考にしてください。
  • trgdll
  • trgexe
  • actdll
  • actexe
  • timeragt
エージェントの実行方法
エージェントを実行する前に,次のプログラムをシステム環境変数PATHに設定されているディレクトリに格納してください。
  • Trgexe
  • Actexe
また,次のプログラムをディレクトリ「/groupmax/agentserver/custom」に格納してください。
  • TRGDLL.sl
  • ACTDLL.sl
サーバエージェントマネージャを起動し,エージェント定義画面で次の項目を指定してください。
エージェントが動作するきっかけ
実装ファイル名:TRGDLL.sl
関数名:Notify3Minutes
エージェントの動作
実装ファイル名:ACTDLL.sl
関数名:InvokeApplication
項目の指定後,エージェント生成を実行してください。3分後に活動ログが出力されます。
システム提供のタイマトリガを利用する場合
ここでは,サーバエージェントマネージャからシステム提供のタイマトリガで活動開始するエージェントの生成方法について説明します。
サーバエージェントマネージャからシステム提供のタイマトリガで活動開始するエージェントは,エージェントを生成するための制御プログラムをユーザが作成する必要があります。Groupmax Agentでは,この制御プログラムのサンプルtimeragt.dllを提供しています。
timeragt.dllは,実行パスが設定されているディレクトリにおいてください。また,クライアントのレジストリに次のファイル名及び関数名を登録してください。レジストリの詳細は,「8.2 独自のインタフェースの作成」を参照してください。
  • AgentNew-filename : 値=timeragt.dll
  • AgentNew-funcname : 値=CreateAgent
この後,エージェントの生成を実行すると,エージェントの生成時にダイアログで指定した時刻に,活動ログが出力されます。
サンプルプログラムの内容
Groupmax Agentは,このエージェントの次のサンプルプログラム(ソースファイル及び実行ファイル)を提供しています。
トリガ監視登録プログラム(TRGDLL.sl)
エージェントの生成後,このプログラムはTrgexeプログラムを起動し,トリガの監視を依頼します。Trgexeプログラムは,3分後にトリガの発生をエージェントサーバに通知します。
<注意事項>
通常,Agent Serverから直接呼び出されるプログラム(TRGDLL.sl)では,時間の掛かる処理をしないようにしてください。また,このサンプルプログラムを複数のエージェントから利用すると,複数のプロセスが起動され,サーバに負荷が掛かります。この場合は,プロセスを統合する必要があります。
アクション実行プログラム(ACTDLL.sl)
トリガの発生後,このプログラムはActexeプログラムを起動し,アクションの実行を依頼します。Actexeプログラムは,活動ログを出力し,アクションの完了をエージェントサーバに通知します。
<注意事項>
Agent Serverから直接呼び出されるプログラム(ACTDLL.sl)は,10分以上たつと強制終了されます。処理時間が10分以上掛かる場合は,Agent Serverの運用コマンドでジョブクラスの動作時間を変更してください。
エージェント生成プログラム(timeragt.dll)
このプログラムは,クライアントからサーバエージェントを生成するための制御プログラムです。サーバエージェントマネージャで生成を実行すると,「Sample Agent」という名称のサーバエージェントが生成されます。
「Sample Agent」は,システム提供のタイマトリガとアクション実行プログラムACTDLL.slで構成されるサーバエージェントです。
<注意事項>
サーバエージェントマネージャで生成を実行するには,「エージェントの実行方法」に示したように,ファイル名及び関数名をレジストリに登録しておく必要があります。