プッシュベースのディスカバリーと SAM の併用

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:11分
  • ヴィジビリティ対応エージェントクライアントコレクター - コンテンツ (ACC-VC) は、SAM プラグインがインストールされている場合に、 ソフトウェア資産管理 (SAM) のユースケースのインストール済みソフトウェアデータを収集します。プッシュベースの ディスカバリー と SAM を併用すると、SAM 基本測定と SAM 合計使用状況メトリクスによるソフトウェアデータ収集を最適化できます。

    ACC-VC は、プッシュベースのディスカバリーを介して、ターゲットにインストールされているソフトウェアまたはアプリケーションの最終アクセス時間をキャプチャできます。この情報は、ターゲット CI 参照とともにソフトウェア更新 [samp_sw_usage] テーブルに追加されます。

    SAM 基本測定と SAM 合計使用状況メトリクスは、 WindowsmacOSの両方でサポートされています。

    ソフトウェア使用レコードはドメインセパレーションされています。レコードには、ターゲットのエージェントベースのディスカバリーに使用されるMID サーバーのドメインが入力されます。

    注:
    ソフトウェアのインストール (cmdb_sam_sw_install) では、重複レコードの挿入を回避するために、同一ディスカバリーソース「ServiceNow」がプッシュベースの ディスカバリー と水平 IP ベースの ディスカバリー の両方に使用されます。

    要件

    SAM 基本測定および SAM 合計使用状況メトリクス
    SAM 基本測定と SAM 合計使用状況メトリクスの場合、非特権の servicenow ユーザー (エージェントサービスログオン) には、レジストリでの読み取り専用アクセス権が構成されている必要があります。このアクセス権により、UserAssist テーブルに対する OSQuery を実行できるようになります。regedit に移動し、servicenow ユーザーにデバイス上のユーザーアカウントの UserAssist の読み取りを許可します (例: HKEY_USERS\SID...\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist for all user for HKEY_USERS)。
    注:
    UserAssist キーは、HKEY_USERS\SID... 親キーから権限を継承しません。したがって、UserAssist キーに移動し、キーに直接権限を追加する必要があります。
    SAM 基本測定と SAM 合計使用状況メトリクスを適用するために必要な条件:
    • SAM プラグイン (com.snc.samp) が有効になっている。
    • システムプロパティ [sn_acc_vis_content.persist_sam_usage_metrics] が true に設定されている。詳細については、「システムのプロパティ」を参照してください。

    エージェントクライアントコレクターを使用した SAM 測定セットアップの詳細については、ナレッジベースの記事 KB1642676 を参照してください。

    ソフトウェアエディション情報
    ソフトウェアのエディション情報を取得するには、SAM プラグイン (com.snc.samp) を有効にする必要があります。

    SAM 基本測定

    注:
    Windows オペレーティングシステムレベルの構成で、データを正しく検出できないことがあります。その構成を更新して、ACC-VC エージェントによってデータが正常に収集され、ServiceNow プラットフォームに正しく取り込まれるようにします。レジストリエディターで、パスに次のキーを作成します。 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced.
    • 名前:Start_TrackProgs
      • 基数:16 進数
      • 値:1
    • 名前:Start_TrackProgsBase
      • 基数:16 進数
      • 値:1
    図 : 1. SAM 基本測定フローチャート

    ペイロード内のソフトウェアのリストについては、ソフトウェアディスカバリーモデル [cmdb_sam_sw_discovery_model] テーブルを照会して、対応する製品と公開者をフェッチします。製品をフェッチしたら、その製品に対して再利用ルールが有効になっているかどうかを確認し、ソフトウェア使用状況 [samp_sw_usage] テーブルに最新の使用情報を保持します。詳細はフローチャートを参照してください。

    基本測定について SAM が ACC-VC でどのように機能するかのフローの説明
    注:
    ターゲットで、アプリケーションまたはソフトウェア名をクエリに入力し、OSQuery を介して UserAssist テーブルから最新のアクセス時間を照会します。
    sn_acc_vis_content.disable_sam_reclamation_rules_for_licensable_softwares プロパティを使用して、次のように、ライセンス可能なソフトウェアの再利用ルールを定義します。
    • true:SAM の使用状況は、すべてのライセンス可能なソフトウェア (定義済みの再利用ルールの有無にかかわらず) と、再利用ルールが定義されているライセンス不可のソフトウェアについて保存されます。
    • false:定義された再利用ルールに従って SAM の使用を保存します。
    サポートされている一般的なアプリケーションには次のようなものがあります。
    • WinZip
    • Google Chrome
    • Sublime Text
    • Notepad++
    • Autodesk
    • Microsoft Office 365
    • Tableau

    SAM 合計使用状況メトリクス

    SAM 合計使用状況メトリクスを使用すると、ソフトウェア再利用ルールが有効になっているアプリケーションの合計使用時間と合計使用回数を測定できます。

    Osquery は、Osqueryd と呼ばれるサービスとして実行できるデーモン実行可能ファイルを提供します。SAM 合計使用状況メトリクスが正しく機能するには、Osqueryd を手動で展開する必要があります。Osqueryd の各展開には、osquery.conf ファイル、オプションの外部パック、およびサービスの開始時に提供される初期化フラグ (osquery.flags ファイルで設定) が必要です。その代わり、デーモンサービスはスケジュール設定済みのクエリをホストで実行し、それをローカルファイルシステムに記録します。

    注:
    Osquery は、デフォルトでファイルシステムベースのログ記録をサポートしています。この設定は、Osquery の新規インストール時に osquery.conf ファイルで行われます。

    ドメイン情報は、データ収集中に収集できます。これは、複数の従業員ディレクトリを持つ大規模な組織がソフトウェアを正しいユーザーにマッピングするのに役立ちます。現在、これは Windows の場合にのみサポートされています。ドメイン分離環境でソフトウェア使用状況/assigned_to を正しいユーザーにマッピングするには、システムプロパティ [sn_acc_vis_content.column_name_for_user_mapping] を有効なフィールド名とともに使用します。デフォルトでは、このシステムプロパティの値は空です。これは、ドメインではなくユーザー名のみを検証することを意味します。ユーザー名とドメインを検証するために、username@domain または domain\username のいずれかの形式を使用できます。

    図 : 2. SAM 合計使用状況メトリクスのフローチャート

    プロセスのリストを使用して、SAM 正規化を行い、関連するインストール済みソフトウェアレコードのプロセスをマッピングできます。インストール済みソフトウェアの名前とプロセスは通常同じではないため、これにより柔軟に対応できます。ペイロード内のプロセスのリストについては、ソフトウェアディスカバリーモデル [cmdb_sam_sw_discovery_model] テーブルとソフトウェア製品 [samp_sw_product] テーブルを照会して、対応する製品と公開者をフェッチします。製品をフェッチしたら、その製品に対して再利用ルールが有効になっているかどうかを確認し、ソフトウェア使用状況 [samp_sw_usage] テーブルに合計の使用時間を保持します。詳細はフローチャートを参照してください。

    合計使用率測定について SAM が ACC-VC でどのように機能するかのフローの説明
    次のスクリプトを使用して、Windows 用の Osqueryd をインストールして設定します。
    # Install latest osquery
    
    $msi = "osquery-5.7.0.msi"
    $url = "https://pkg.osquery.io/windows/$msi"
    $dst = "$PSScriptRoot\$msi"
    Invoke-WebRequest -Uri $url -OutFile $dst
    # msiexec /i "$dst" /quiet /qn /norestart
    Start-Process msiexec.exe -Wait "/i $dst /quiet /qn /norestart"
    
    # Configure osqueryd service
    
    $flags = "--logger_rotate=true
    --logger_rotate_size=26214400
    --logger_rotate_max_files=1
    --watchdog_level=-1
    --config_path=C:\Program Files\osquery\osquery-sam.conf"
    Set-Content -Path 'C:\Program Files\osquery\osquery.flags.default' -Value "$flags"
    
    $conf = @'
    {
      "options": {
        "config_plugin": "filesystem",
        "logger_plugin": "filesystem",
        "utc": "true"
      },
      "schedule": {
        "sam_process_info": {
          "query": "SELECT name, pid, elapsed_time, start_time, user_time, system_time, username FROM processes p JOIN users u ON u.uid = p.uid WHERE p.elapsed_time != -1 AND u.type != 'special';",
          "snapshot" : true,
          "interval": 300
        },
        "system_info": {
          "query": "SELECT hostname, cpu_brand, physical_memory FROM system_info;",
          "interval": 3600
        }
      },
      "decorators": {
        "load": [
          "SELECT uuid AS host_uuid FROM system_info;",
          "SELECT user AS username FROM logged_in_users ORDER BY time DESC LIMIT 1;"
        ]
      },
      "packs": {
      }
    }
    '@
    Set-Content -Path 'C:\Program Files\osquery\osquery-sam.conf' -Value "$conf"
    
    cd 'C:\Program Files\osquery'
    .\manage-osqueryd.ps1 -uninstall
    .\manage-osqueryd.ps1 -install
    Restart-Service osqueryd
    
    

    WindowsmacOS の詳細については、「SAM 合計使用状況メトリクスに対する Osqueryd スケジュールを設定する」および「SAM 合計使用状況メトリクスに対する Osqueryd ログを設定する」を参照してください。

    osqueryd を使用しない SAM メトリクスの収集

    オプションで、プッシュベースの ディスカバリーソフトウェア資産管理 (SAM) を一緒に使用する場合に、Osqueryd 以外のデータ収集を使用することで効率を高めることができます。osqueryd 以外のデータ収集が呼び出されると、データ収集は、各エージェントで個別に osqueryd を呼び出すのではなく、利用可能なすべてのエージェントで自動的に実行されます。

    Osqueryd 以外のデータ収集を実行するには、次の手順を実行します。
    1. 関連する OS に対して次の権限が設定されていることを確認します。
      • Windows:NT AUTHORITY\SYSTEM またはアドミン
      • Linux および macOS:ルート
    2. [システムのプロパティ] ページ (すべて > システムプロパティ > すべてのプロパティ)、 sn_acc_vis_content.enable_sam_collection_without_osqueryd プロパティを true に設定します。
      注:
      すべてのエージェントがバージョン 4.1.0 以降である場合にのみ、このプロパティを有効にします。

    ソフトウェアエディション情報

    ACC-VC バージョン 2.3.0 以降、Adobe Acrobat および MS SQL Server のエディション情報がサポートされています。この機能により、SAM アドミニストレーターはインストールされているソフトウェアのエディションを明確に可視化できます。Osquery コマンドを使用して、ソフトウェアインストール [cmdb_sam_sw_install] テーブルの [エディションの上書き] 列に表示されるエディション情報を取得します。詳細については、サポート KB:https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0721360 を参照してください。