mcpField
C
ci-discovery

ci-discovery

github.com/happy-technologies-llcデータ・データベース4142 回インストール2 日前に更新
リポジトリ

ci-discovery について

ITチーム向けのServiceNow CMDBスキルです。構成アイテムの検出、分類、作成、関連付け、検証の手順と、CIデータやライフサイクル状態を管理する例を提供します。

主な機能

  1. 01CIクラス階層の把握
  2. 02既存CIの検索
  3. 03CIの作成と分類
  4. 04CI関係の設定
  5. 05データ品質と状態の検証

活用シーン

  1. 01インフラ構成情報のCMDB登録
  2. 02CIの重複や必須データ不足の確認
  3. 03CIとサービス間の関連付け
  4. 04CIの運用状態とライフサイクル更新

MCP 対応

このスキルはMCPツールの例を示し、ServiceNow CMDB内のCI検索・作成・更新とテーブルスキーマ確認の手順を説明します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill ci-discovery

インストール後、Claude Code で/ci-discoveryを入力して読み込まれたか確認します。

詳細

構成アイテムの検出

概要

構成アイテム(CI)は、CMDB の基盤です。このスキルでは、以下について説明します。

  • CI クラス階層の理解
  • CI の検出と分類
  • 自動検出を利用できない場合の CI の手動作成
  • CI データ品質の維持
  • CI 間の関係の確立

使用するタイミング: CMDB へのデータ登録や維持、新しいインフラストラクチャの導入、CI データの検証を行う場合です。

前提条件

  • ロール: cmdb_admin または CMDB への書き込みアクセス権を持つ itil
  • アクセス: CMDB テーブル(cmdb_ci とそのサブクラス)
  • 知識: CMDB のクラス構造、CI 属性

手順

ステップ 1:CI クラス階層を理解する

CMDB では継承が使用されます。すべての CI は cmdb_ci を継承します。

cmdb_ci (Base CI)
├── cmdb_ci_computer
│   ├── cmdb_ci_server
│   │   ├── cmdb_ci_win_server
│   │   ├── cmdb_ci_linux_server
│   │   └── cmdb_ci_unix_server
│   └── cmdb_ci_pc_hardware
│       ├── cmdb_ci_computer_win
│       └── cmdb_ci_computer_mac
├── cmdb_ci_service
│   ├── cmdb_ci_service_auto
│   └── cmdb_ci_service_manual
├── cmdb_ci_appl
│   ├── cmdb_ci_app_server
│   └── cmdb_ci_database_instance
├── cmdb_ci_network_gear
│   ├── cmdb_ci_netgear
│   └── cmdb_ci_ip_router
└── cmdb_ci_storage_device

利用可能な CI クラスを検出する:

Tool: SN-Query-Table
Parameters:
  table_name: sys_db_object
  query: nameLIKEcmdb_ci^super_class.name=cmdb_ci
  fields: name,label,super_class
  limit: 50
ステップ 2:既存の CI を照会する

新しい CI を追加する前に、既存のものを確認します。

MCP を使用する:

Tool: SN-List-CmdbCis
Parameters:
  ci_class: cmdb_ci_server
  query: operational_status=1
  fields: name,ip_address,os,sys_class_name
  limit: 100

名前で検索する:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci
  query: nameLIKEweb-server
  fields: sys_id,name,sys_class_name,operational_status
ステップ 3:新しい CI を作成する

CI の手動作成(検出を利用できない場合):

Tool: SN-Create-Record
Parameters:
  table_name: cmdb_ci_linux_server
  data:
    name: "prod-web-01"
    ip_address: "10.0.1.100"
    dns_domain: "corp.company.com"
    fqdn: "prod-web-01.corp.company.com"
    os: "Red Hat Enterprise Linux"
    os_version: "8.5"
    cpu_count: 8
    ram: 32768
    disk_space: 500
    serial_number: "SN12345678"
    asset_tag: "ASSET-001"
    operational_status: 1
    install_status: 1
    environment: Production
    location: [location_sys_id]
    department: [department_sys_id]
    support_group: [group_sys_id]
    managed_by: [user_sys_id]
    comments: "Production web server - Node 1"

CI 属性リファレンス:

属性説明例
nameCI の表示名prod-web-01
ip_addressプライマリ IP10.0.1.100
fqdn完全修飾ドメイン名prod-web-01.corp.com
operational_status1=稼働中、2=稼働停止1
install_status1=インストール済み、7=廃止1
environment本番/テスト/開発Production
support_groupサポートチームLinux Admins
ステップ 4:CI を適切に分類する

該当する中で最も具体的なクラスを選択します。

判断ツリー:

Is it hardware?
├── Yes → Is it a computer?
│   ├── Yes → Server or Workstation?
│   │   ├── Server → What OS? → cmdb_ci_win_server / cmdb_ci_linux_server
│   │   └── Workstation → cmdb_ci_pc_hardware
│   └── No → Network gear? Storage? → cmdb_ci_netgear / cmdb_ci_storage
└── No → Is it software?
    ├── Application → cmdb_ci_appl
    ├── Database → cmdb_ci_database_instance
    └── Service → cmdb_ci_service

属性を確認するためにクラスのスキーマを取得する:

Tool: SN-Discover-Table-Schema
Parameters:
  table_name: cmdb_ci_linux_server
ステップ 5:CI 間の関係を確立する

CI は単独では存在しません。関係を定義します。

関係タイプ:

タイプ説明例
Runs onハードウェア上のソフトウェアアプリケーションはサーバー上で稼働
Depends onサービスの依存関係Web は DB に依存
Contains物理的な包含関係ラックにサーバーが格納される
Owned by所有関係サーバーはチームが所有

関係を作成する:

Tool: SN-Create-Record
Parameters:
  table_name: cmdb_rel_ci
  data:
    parent: [parent_ci_sys_id]
    child: [child_ci_sys_id]
    type: [relationship_type_sys_id]

関係タイプを検索する:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_type
  fields: sys_id,name,parent_descriptor,child_descriptor
  limit: 50
ステップ 6:CI データを検証する

検証クエリを使用してデータ品質を確保します。

必須データが不足している CI を検索する:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_server
  query: ip_addressISEMPTY^operational_status=1
  fields: name,sys_class_name,support_group

重複する CI を検索する:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci
  query: nameLIKEserver-name
  fields: sys_id,name,ip_address,sys_created_on

孤立した CI(関係がない CI)を確認する:

# Query CIs not in any relationship
# This requires a more complex query or script
ステップ 7:CI のライフサイクルを維持する

状況の変化に応じて CI のステータスを更新します。

稼働ステータスの値:

値ステータス使用するタイミング
1稼働中CI が正常に機能している
2稼働停止CI が停止または故障している
3修理中修理中
4DR 待機災害復旧の待機状態
6廃止使用されていない

CI のステータスを更新する:

Tool: SN-Update-Record
Parameters:
  table_name: cmdb_ci_server
  sys_id: [ci_sys_id]
  data:
    operational_status: 6
    install_status: 7
    decommissioned: true
    comments: "Decommissioned per CHG0012345 on 2026-02-06"

CI データ品質チェックリスト

  • 名前が命名規則に準拠している
  • IP アドレスが正確で一意である
  • シリアル番号が記録されている(ハードウェアの場合)
  • サポートグループが割り当てられている
  • ロケーションが指定されている
  • 環境が設定されている(Prod/Test/Dev)
  • 関係が定義されている
  • 稼働ステータスが最新である
  • 検出元が記録されている

ツールの使用概要

操作MCP ツールREST エンドポイント
CI の照会SN-Query-Table, SN-List-CmdbCisGET /cmdb_ci
CI の作成SN-Create-RecordPOST /cmdb_ci_*
CI の更新SN-Update-RecordPATCH /cmdb_ci/{id}
スキーマの取得SN-Discover-Table-SchemaGET /sys_dictionary
関係SN-Create-RecordPOST /cmdb_rel_ci

ベストプラクティス

  • 最も具体的なクラスを使用する: cmdb_ci_server ではなく cmdb_ci_linux_server を使用します
  • 命名を標準化する: 一貫した命名規則に従います
  • 資産にリンクする: 該当する場合、CI を資産レコードに接続します
  • ソースを記録する: CI が検出されたものか手動で作成されたものかを記録します
  • 定期的に監査する: CI データの正確性を定期的に検証します
  • 関係を網羅する: CI には少なくとも 1 つの関係を設定します

トラブルシューティング

レポートに CI が表示されない

原因: クラスが間違っているか、属性が不足しています
解決策: sys_class_name を確認し、必須フィールドに値が入力されていることを確認してください

CI の重複

原因: 複数の検出元があるか、手動で重複が作成されています
解決策: 識別ルールを使用し、重複を統合するか廃止してください

リレーションが表示されない

原因: リレーションタイプが CI クラスに対して無効です
解決策: リレーションタイプが親クラスと子クラスに対応していることを確認してください

関連スキル

  • cmdb/relationship-mapping - リレーションの詳細
  • cmdb/impact-analysis - CMDB を使用した影響分析
  • cmdb/service-graph-diagnosis - 検出とサービスグラフの不足を診断
  • itsm/change-management - 変更に伴う CI の変更

参考資料

コメント