ヴィジビリティ対応エージェントクライアントコレクター - コンテンツ (ACC-VC) は、ソフトウェア資産管理 (SAM) プラグインがインストールされている場合、SAM のユースケースのインストール済みソフトウェアデータを収集します。プッシュベースの ディスカバリー と SAM を同時に使用すると、SAM 基本測定と SAM 合計使用状況メトリクスによるソフトウェアデータ収集で、ソフトウェア支出を最適化できます。一部のソフトウェアのエディション情報を取得することもできます。

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

ACC-VC バージョン 2.2.0 以降、Windows および macOS の SAM 基本測定がサポートされています。

ACC-VC バージョン 3.3.0 以降、Windows および macOS の SAM 合計使用状況メトリクスがサポートされています。

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

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

要件

SAM 基本測定および SAM 合計使用状況メトリクス
SAM 基本測定と SAM 合計使用状況メトリクスの場合、非特権の servicenow ユーザー (エージェントサービスログオン) には、レジストリでの読み取り専用アクセス権が構成されている必要があります。このアクセス権により、UserAssist テーブルに対する OSQuery を実行できるようになります。regedit に移動し、servicenow ユーザーにその他すべてのユーザーアカウントの UserAssist の読み取りを許可します (例:HKEY_USERS のすべてのユーザーに対して HKEY_USERS\SID...\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist)。
注: 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 ログを設定する」を参照してください。

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

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 を参照してください。