Discovery機能とCMDBの主要モジュールを学習しました!
概要とエラー画面例・デバッグやテスト画面例、Discovery終了時のログを
まとめたので、記事として投稿いたします!![]()
1. 概要
ここでは、Discovery機能をご紹介します。
Discovery機能
自動で構成機器(ServiceNowでいうCI:構成アイテム)の情報を収集し、
CMDB(構成管理データベース)に登録してデータベースを最新状態に保つこと。
Discovery機能の主な確認ポイント
・MID Server
Discoveryに必須。インスタンスに接続されたMID Server一覧を確認し、IPアドレスを把握。
・Discovery Admin Workspace
Home:重要なDiscoveryタスクや状況の把握。
Schedules:Discoveryスケジュールと実行状況の統合管理。
Diagnostics:Discoveryエラーの優先付け・対応管理。
・Credentials【認証情報】
Discoveryで使用する認証情報(Windows、SSH、AWS、SNMPなど)
・Behaviors【ディスカバリ動作】
Discoveryの「設計図」。
どのMID Serverから、どんな調査コマンド(Probe/プローブ)を
対象デバイス機器(Windows/Unixなど)に実行するか決めるルール。
・Process Classifiers【プロセス分類】
プロセス情報からアプリケーションCIを識別し、依存関係を可視化。
・Discovery Patterns
標準/拡張パターンでホストやアプリを検出。
Discovery Patternsは、Storeから追加・カスタマイズ可能。
・CMDB Health Dashboard
CMDBの健全性を一元的に確認し、問題修復を支援。
・CI Class Manager
CIクラス(例:Windows Server)の定義や識別・整合性・ヘルス設定を管理。
・Community
Discovery Simulator課題に関する質問・情報共有。
【Credentials(下図はWindows)】
【Discovery Patterns】
つまづいたポイント
- Target table($cmdb_ci_proc)と気づくまで時間がかかった
- AIで質問しても、不正解のテーブルを勧めてくる【AI頼りは危険】
cmdb_ci_procテーブル
サーバ上で実行されているプロセス(OSプロセス)を格納
つまづいたポイント
-
CI Attributes(CIが持つ属性)とWindowsクラス(clabs-windows)で
使われている属性名は一致しない場合がある。
【例】CI Attributes の short_description は、
clabs-windows の Description に対応。 -
CI Attributes
Discovery Pattern や CI設計で使われる共通の属性名 -
クラス属性名
実際にCMDBテーブルに定義されているフィールド名
クラスごとに異なることがある
2. エラー画面例
Target Table間違い
エラー内容 Target Table に指定した computer_system が使えない
つまづいたポイント
- 「Target Tableに内部予約変数を指定しているのでダメ」という警告
- 実データを書き込みたい場合
→ cmdb_ci_computer や cmdb_ci_win_server など
実在するCMDB テーブルを指定
3. デバッグやテスト画面例
デバッグ画面例
デバッグ内容
状況次第で「問題あり」にも「問題なし」にもなる。
ログ上のポイント(重要)
注目すべき点👇
- エラーが出ても 後続ステップは継続しており、
Discovery 全体が止まっていない。 - CPU / OS / 基本CI収集と無関係な
「クラスタ拡張情報」部分のみ失敗。
クラスタでないサーバ(スタンドアロンサーバー)に対して、
クラスタ用ステップが走って失敗しているだけという可能性が高い。
-
非クラスタ環境なら
→ そのままでOK(Discoveryの標準挙動) -
クラスタ環境なら
→ 要確認(WMI / 権限 / 機能)
テスト画面例
テスト成功画面の内容
internal_classname【Win32_Processor】のNameに
CPU名【Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz】が
入っていることを確認!
テストの目的(重要)
注目すべき点👇
- テスト成功の確認だけでなく、テスト結果をきちんと確認する。
本テストでは、WMI(Windows Management Instrumentation) の root/CIMV2 ネームスペースにある Win32_Processor クラスを参照し、CPU 名を正常に取得できていることを確認。テスト結果には Intel CPU の名称が表示されており、CPU 情報の収集が正しく動作していることが分かる。
👉 root/CIMV2 とは?
Discovery が Windows の基本情報を集めるときに
ほぼ必ず使う標準ネームスペース
- root/CIMV2 にある情報例👇
CPU(Win32_Processor)
OS(Win32_OperatingSystem)
メモリ(Win32_PhysicalMemory)
ディスク(Win32_DiskDrive)
ネットワーク(Win32_NetworkAdapter)
4. Discovery終了時のログ
正常終了
ログLevelがInformationのみ
エラー・ワーニング(警告)
ログLevelにエラー・ワーニング(警告)が混在
所感
システムエラーが出ると調査に時間がかかったり大変ですが、
学習機会と捉え前向きに取り組もうと思います!











