AccAgentsAPI - スコープ指定

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:18分
  • AccAgentsAPI スクリプトインクルードを使用すると、利用可能なエージェントに対して管理アクションを実行できます。

    このスクリプトインクルードには エージェントクライアントコレクター Framework (sn_agent) ストアアプリケーションが必要であり、 sn_agent 名前空間内で提供されます。詳細については、「 エージェントクライアントコレクター」を参照してください。

    REST API ソリューションについては、「 エージェントクライアントコレクター API」を参照してください。

    このスクリプトインクルードは、以下を可能にするメソッドを提供します。
    • 1 つ以上のエージェントに関する広範な情報を取得します。
    • エージェントログを取得する要求を送信し、要求の進捗状況に関する情報を取得しています。
    • データ収集の開始または停止。
    • エージェントを再起動しています。
    • エージェントでディスカバリーを実行しています。

    AccAgentsAPI:AccAgentsAPI()

    AccAgentsAPI インスタンスを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

    次の例は、 AccAgentsAPI を初期化する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();

    AccAgentsAPI - checkGrabLogRequestProgress(文字列 requestId)

    ログの取得要求のステータスを確認します。

    submitGrabLogRequest() メソッドを実行して要求 ID を取得します。

    表 : 2. パラメーター
    名前 タイプ 説明
    requestId 文字列 エージェントクライアントコレクター要求 [sn_agent_request] テーブル内の要求のSys_id。
    表 : 3. 返される内容
    プロパティ 説明
    <Object> ログの入手要求ステータスを含む JSON オブジェクト。
    {
      "status": Number,
      "output": "String"
    }
    status ログの取得要求のステータスを示す番号。
    可能な値:
    • 0:ログの入手要求が完了しました。
    • 1:進行中のログ要求を取得します。
    • 2:ログの取得要求がタイムアウトしました。
    • 3:ログの取得要求にエラーがあります。
    • 4:ログのグラブ要求が見つかりませんでした。
    出力 ステータスを説明する情報。

    次の例は、要求 ID を使用してログのグラブ要求のステータスを取得する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var logRequestStatus = agentsApi.checkGrabLogRequestProgress("<request_ID>");
    
    gs.info(JSON.stringify(logRequestStatus, null, 2));

    出力:

    {
      "status": 2,
      "output": "Grab Log Request Timed Out"
    }

    AccAgentsAPI - getAgent(文字列 agentID)

    指定されたエージェントの情報を取得します。

    エージェント ID のリストを取得するには:
    表 : 4. パラメーター
    名前 タイプ 説明
    agentID 文字列 エージェントクライアントコレクター [sn_agent_cmdb_ci_agent] テーブルの [エージェント ID] 列にリストされているエージェントの一意の ID。
    表 : 5. 返される内容
    プロパティ 説明
    <Object> 拡張エージェント情報を含むオブジェクト。
    {
      "error": String,
      "agent": Object
    }
    エラー エラーメッセージ。エラーがない場合は null。

    データタイプ:文字列

    エージェント
    "agent": {
       "agent_id": "String",
       "data_collection": Number,
       "ip_address": "String",
       "is_duplicate": Boolean,
       "is_restart_enabled": Boolean,
       "name": "String",
       "number_of_running_checks": Number,
       "status": Number,
       "up_since": "String",
       "version": "String"
     }
    agent.agent_id 送信されたエージェントの ID。

    データタイプ:文字列

    agent.data_collection データ収集は、スケジュール済みチェックを実行するかどうかを示します。これらのチェックは、このエージェントの実行がスケジュールされているポリシーの一部です。
    可能な値:
    • 0:オン:チェックがスケジュールどおりに実行されます。
    • 1: オフ (手動) – チェックが手動で無効になっています。
    • 2:オフ (自動) – による CPU 消費量が多いため、チェックが自動的に無効になりました

    データタイプ:数値

    agent.ip_address エージェントの IP アドレス。

    データタイプ:文字列

    agent.is_duplicate

    このエージェントが別のエージェントと重複しているかどうかを示すフラグ。特定のホスト上に存在するエージェントは 1 つのみである必要があります。

    可能な値:
    • true:エージェントは、異なるエージェント ID を持つ Alive/Up エージェントと同じホストを持っています。複製をオフにするか、アンインストールする
    • false:このエージェントには、アライブ/稼働ステータスの重複はありません。

    データタイプ:ブーリアン

    agent.is_restart_enabled

    再起動が有効かどうかを示すフラグ。エージェントの再起動は構成できません。これは、OS とエージェントが実行されている OS のバージョンによって異なります。

    可能な値:
    • true:このエージェントの再起動が有効です。
    • false:このエージェントの再起動は無効です。

    データタイプ:ブーリアン

    agent.name エージェントの名前。

    データタイプ:文字列

    agent.number_of_running_checks エージェントが実行するようにスケジュールされているチェックの数。これらのチェックは、このエージェントの実行がスケジュールされているポリシーの一部です。

    データタイプ:数値

    agent.status エージェントのステータス。
    可能な値:
    • 0:アライブ/稼働:エージェントはアクティブです。
    • 1:警告:エージェントは過去数分間キープアライブメッセージを受信していません。
    • 2:ダウン:エージェントは長い間キープアライブメッセージを受信していません。
    • 3:再起動中:エージェントを再起動しています。

    データタイプ:数値

    agent.up_since エージェントのステータスがアライブ/稼働状態になってからの UTC 時間。値は GlideDateTime 形式です。

    データタイプ:文字列

    agent.version エージェントが実行している エージェントクライアントコレクター のバージョン。

    データタイプ:文字列

    次の例は、エージェントのステータスを表示する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var agentInfo = agentsAPI.getAgent("<agent_ID>");
    
    if (!gs.nil(agentInfo.error))
    	gs.error(agentInfo.error);
    else
    	gs.info("agent status: " + agentInfo.agent.status);
    

    出力:

    agent status: 2

    次の例は、すべてのエージェントの詳細を取得する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var agentInfo = agentsAPI.getAgent("<agent_ID>");
    
    gs.info(JSON.stringify(agentInfo, null, 2));

    出力:

    {
      "error": null,
      "agent": {
        "name": "win2016-dc-64bit",
        "status": 0,
        "agent_id": "<agent_ID>",
        "ip_address": "10.222.333.42",
        "number_of_running_checks": 1,
        "data_collection": 0,
        "is_restart_enabled": true,
        "is_duplicate": false,
        "up_since": "2021-03-24 11:04:38",
        "version": "2.4.0"
      }
    }

    AccAgentsAPI – getAgentsList(文字列 encodedQuery, 数値制限)

    関連情報を含むエージェントのリストを取得します。

    表 : 6. パラメーター
    名前 タイプ 説明
    encodedQuery 文字列 標準の Glide 形式でエンコードされたクエリ文字列。「 エンコードされたクエリ文字列」を参照してください。
    limit 数値 オプション。結果をエージェントの最大数に制限します。両方が不要な場合は、null または未定義を使用します。

    デフォルト/最大:20,000

    表 : 7. 返される内容
    プロパティ 説明
    <アレイ> 拡張エージェント情報を含む JSON オブジェクトのアレイ。
    [
     {
       "agent_id": "String",
       "data_collection": Number,
       "ip_address": "String",
       "is_duplicate": Boolean,
       "is_restart_enabled": Boolean,
       "name": "String",
       "number_of_running_checks": Number,
       "status": Number,
       "up_since": "String",
       "version": "String"
     }
    ]
    agent_id 送信されたエージェントの ID。

    データタイプ:文字列

    data_collection データ収集は、スケジュール済みチェックを実行するかどうかを示します。これらのチェックは、このエージェントの実行がスケジュールされているポリシーの一部です。
    可能な値:
    • 0:オン:チェックがスケジュールどおりに実行されます。
    • 1: オフ (手動) – チェックが手動で無効になっています。
    • 2:オフ (自動) – による CPU 消費量が多いため、チェックが自動的に無効になりました

    データタイプ:数値

    ip_address エージェントの IP アドレス。

    データタイプ:文字列

    is_duplicate

    このエージェントが別のエージェントと重複しているかどうかを示すフラグ。特定のホスト上に存在するエージェントは 1 つのみである必要があります。

    可能な値:
    • true:エージェントは、異なるエージェント ID を持つ Alive/Up エージェントと同じホストを持っています。複製をオフにするか、アンインストールする
    • false:このエージェントには、アライブ/稼働ステータスの重複はありません。

    データタイプ:ブーリアン

    is_restart_enabled

    再起動が有効かどうかを示すフラグ。エージェントの再起動は構成できません。これは、OS とエージェントが実行されている OS のバージョンによって異なります。

    可能な値:
    • true:このエージェントの再起動が有効です。
    • false:このエージェントの再起動は無効です。

    データタイプ:ブーリアン

    name エージェントの名前。

    データタイプ:文字列

    number_of_running_checks エージェントが実行するようにスケジュールされているチェックの数。これらのチェックは、このエージェントの実行がスケジュールされているポリシーの一部です。

    データタイプ:数値

    status エージェントのステータス。
    可能な値:
    • 0:アライブ/稼働:エージェントはアクティブです。
    • 1:警告:エージェントは過去数分間キープアライブメッセージを受信していません。
    • 2:ダウン:エージェントは長い間キープアライブメッセージを受信していません。
    • 3:再起動中:エージェントを再起動しています。

    データタイプ:数値

    up_since エージェントのステータスがアライブ/稼働状態になってからの UTC 時間。値は GlideDateTime 形式です。

    データタイプ:文字列

    version エージェントが実行している エージェントクライアントコレクター のバージョン。

    データタイプ:文字列

    次の例は、クエリと番号で結果を制限する方法を示しています。このクエリは、ダウンステータスでないすべてのエージェントを最大 2 つの結果で返します。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var agentList = agentsApi.getAgentsList("agent_extended_info.status!=2", 2);
    
    gs.info(JSON.stringify(agentList, null, 2));

    出力:

    [
      {
        "name": "007-175",
        "status": 0,
        "agent_id": "007-175",
        "ip_address": "11.222.63.66",
        "number_of_running_checks": 0,
        "data_collection": 0,
        "is_restart_enabled": false,
        "is_duplicate": false,
        "up_since": "2021-03-24 14:36:45",
        "version": "2.4.0"
      },
      {
        "name": "win2016-dc-64bit",
        "status": 0,
        "agent_id": "007-64",
        "ip_address": "10.222.333.42",
        "number_of_running_checks": 1,
        "data_collection": 0,
        "is_restart_enabled": true,
        "is_duplicate": false,
        "up_since": "2021-03-24 11:04:38",
        "version": "2.4.0"
      }
    ]

    次の例は、システム内のすべてのエージェントをリストする方法を示しています。この例では、クエリーを使用せず、結果の最大数も使用しません。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var agentList = agentsApi.getAgentsList(null, 0);
    
    gs.info(JSON.stringify(agentList, null, 2));

    次の例は、提供された結果を反復処理する方法を示し、各エージェント ID を表示します。

    var agentsApi = new sn_agent.AccAgentsAPI();
    
    var agentsList = agentsApi.getAgentsList(null, 0);
    for (var i = 0; i < agentsList.length; i++)
       gs.info("agent with id: " + agentsList[i].agent_id);

    出力:

    sn_agent: agent with id: 000a00e0aa1aa3a4
    sn_agent: agent with id: 000a00e1aa1aa3a4
    sn_agent: agent with id: 000a00e2aa1aa3a4

    AccAgentsAPI - restartAgent(文字列 agentID)

    指定したエージェントをアライブ/稼働ステータスで再起動します。

    エージェントクライアントコレクターパフォーマンスの問題が発生した場合は、エージェントを再起動できます。手動再起動は、次の環境でサポートされています。
    • systemd を使用する Linux ベースのエージェント
    • Windows エージェント
    エージェント ID のリストを取得するには:
    表 : 8. パラメーター
    名前 タイプ 説明
    agentID 文字列 エージェントクライアントコレクター [sn_agent_cmdb_ci_agent] テーブルの [エージェント ID] 列にリストされているエージェントの一意の ID。
    表 : 9. 返される内容
    タイプ 説明
    文字列 該当する場合はエラーメッセージ、それ以外の場合は null。

    次の例は、エージェントを再起動する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    
    var err = agentsApi.restartAgent("<agent_ID>");
    if (!gs.nil(err))
    	gs.error(err);

    AccAgentsAPI - runDiscovery(文字列 agentID)

    ディスカバリーチェックを実行して、エージェントに関連する CI を特定します。指定されたエージェントは、alive/up ステータスである必要があります。

    エージェント ID のリストを取得するには:
    表 : 10. パラメーター
    名前 タイプ 説明
    agentID 文字列 エージェントクライアントコレクター [sn_agent_cmdb_ci_agent] テーブルの [エージェント ID] 列にリストされているエージェントの一意の ID。
    表 : 11. 返される内容
    タイプ 説明
    文字列 該当する場合はエラーメッセージ、それ以外の場合は null。例: ID が <agentID> のエージェントが稼働中ではありません:スローされたエラーはありません

    次の例は、アライブ/稼働ステータスのエージェントでディスカバリーを実行する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    
    var err = agentsApi.runDiscovery("<agent_ID>");
    
    if (!gs.nil(err))
    	gs.error(err);

    AccAgentsAPI - setDataCollectionStatus(文字列 agentID, ブールステータス)

    指定されたエージェントに対して、指定されたデータ収集ステータス (有効かどうかの true/false) を設定します。

    エージェント ID のリストを取得するには:
    表 : 12. パラメーター
    名前 タイプ 説明
    agentID 文字列 エージェントクライアントコレクター [sn_agent_cmdb_ci_agent] テーブルの [エージェント ID] 列にリストされているエージェントの一意の ID。
    status ブーリアン

    エージェントに対してデータ収集が有効になっているかどうかを示すフラグ。

    有効な値:
    • true:このエージェントのデータ収集を有効にします。
    • false:このエージェントのデータ収集を無効にします。

    デフォルト:true

    表 : 13. 返される内容
    タイプ 説明
    文字列 該当する場合はエラーメッセージ、それ以外の場合は null。例: ID が <agentID> のエージェントが稼働中ではありません:スローされたエラーはありません

    次の例は、エージェントデータ収集をオンにする方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var err = agentsApi.setDataCollectionStatus("<agentID>", true);
    if (!gs.nil(err))
       gs.error(err);

    次の例は、エージェントデータ収集をオフにする方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var err = agentsApi.setDataCollectionStatus("<agentID>", false);
    if (!gs.nil(err))
       gs.error(err);

    AccAgentsAPI - submitGrabLogRequest(文字列 agentId)

    アライブ/稼働ステータスの指定されたエージェントのログを要求します。

    注:
    ログを取得してその進行状況を確認するには、返された要求 ID を checkGrabLogRequestProgress() メソッドに渡します。
    表 : 14. パラメーター
    名前 タイプ 説明
    agentID 文字列 エージェントクライアントコレクター [sn_agent_cmdb_ci_agent] テーブルの [エージェント ID] 列にリストされているエージェントの一意の ID。
    表 : 15. 返される内容
    プロパティ 説明
    <Object> 要求 ID とエラー情報を含む JSON オブジェクト。
    {
      "error": "String",
      "request_id": "String"
    }
    エラー エラーメッセージ。エラーがない場合は null。

    データタイプ:文字列

    request_id エージェントクライアントコレクター要求 [sn_agent_request] テーブル内の要求のSys_id。

    この ID を使用して、 GET /agents/{request_id}/ を使用して要求のステータスを取得できます。

    データタイプ:文字列

    次の例は、ログ要求 ID を取得する方法を示しています。

    var agentsApi = new sn_agent.AccAgentsAPI();
    var submittedRequest = agentsApi.submitGrabLogRequest("<agentID>");
    
    if (!gs.nil(submittedRequest.error))
       gs.error(submittedRequest.error);
    else
       gs.info("Request ID: " + submittedRequest.request_id);

    出力:

    Request ID: <sys_id>