0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CMDBuild Open-AudITインベントリ収集インポート連携

0
Last updated at Posted at 2026-05-15

1.インベントリ収集のインポート

Open-AudITにてインベントリ収集した情報を構成管理システムのCMDBuildのウィザードコネクタを使用しインポートすることにより、CMDBuild上にて管理することができます。
本書ではCMDBuildインストール時に選択できるデモデータベースのクラスを使用して、Open-AudITにてインベントリ収集した情報をインポートする手順を記載します。

Open-AudIT

Open-AudITの詳細は以下をご参照ください。

Open-AudITのインストール方法につきましては以下をご参照ください。

CMDBuild

CMDBuildの詳細は以下をご参照ください。

CMDBuildのインストール方法につきましては以下をご参照ください。

2.インストール環境

CMDBuildサーバインストール環境

  • Red Hat Enterprise Linux release 9.7 (Plow)
  • CMDBuild 4.2.0
  • PostgreSQL 17.9
  • openjdk 17.0.2
  • スタンドアロン構成
  • SELinuxはDisabled、Firewalldは停止されていること

※CMDBuildサーバはインストール、初期設定は行っているものとします
 CMDBuildサーバからOpen-AudITサーバにインストールされているMariaDBのDB「openaudit」へ接続可能なこと
 なおCMDBuildのDBはインストール時に指定する「デモデータベース」を使用するものとします
 デモデータベースの仕様の詳細は以下をご参照ください。

 インストール、初期設定の方法は上記のインストール手順をご参照ください。

Open-AudITサーバインストール環境

  • Red Hat Enterprise Linux release 9.7 (Plow)
  • Open-AudIT 6.0.2
  • MariaDB 15.1
  • Apache 2.4
  • PHP 8.3
  • SELinuxはDisabled、Firewalldは停止されていること

※Open-AudITサーバのOpen-AudITはインストール、PC等のインベントリ収集済みであること
 CMDBuildサーバからOpen-AudITサーバにインストールされているMariaDBのDB「openaudit」へ接続可能なこと
 インストール、初期設定の方法は上記のインストール手順をご参照ください。

3.CMDBuild Open-AudITのマッピング

本書ではデモデータベースに用意されているクラスPCにインポートします。
Open-AudITでインベントリ収集した情報は全てDBに格納されています。
そのままCMDBuildへのインポートは行えないため、インポートできる形式にViewを作成します。
各属性にはSTRINGタイプや、LOOKUPタイプなど様々なタイプがあるためOpen-AudITにてViewを作成時にインポートできる形式へする必要があります。

本書では、PCクラスの以下の属性にOpen-AudITで作成するViewのカラムを以下のようにマッピングするものとします。

CMDBuild PCクラス属性名 Open-AudIT カラム名(View)
Code Code
Description Hostname
Serialnumber Serialnumber
Brand Brand
Model Model
RAM RAM
Number of CPU CPUNumber
Speed of CPU CPUSpeed
Harddisk total size (GB) HDSize
IPAddress IPAddress
Sound card SoundCard
Video card VideoCard

3.Open-AudIT View作成

Open-AudITで取得した情報は様々なテーブルに入っており、CMDBuildへインポートできるようにViewを作成します。

Open-AudITサーバにsshログインし、以下のsqlファイルを作成します。

・対象:Open-AudITサーバ
・配置先:/usr/local/sbin
・スクリプト:createview.sql
・オーナグループ:root
・パーミッション:644

# cd /usr/local/sbin
# vim createview.sql

createview.sqlの中身は以下になります。
※以下の内容はあくまでサンプルとなるため参考程度でお願いします。

SQL
--メモリの総容量を計算
CREATE OR REPLACE VIEW Memory_size
(device_id, size)
AS SELECT
device_id, ROUND(SUM(size/1024),0) AS size
FROM memory
WHERE current = 'y'
GROUP BY device_id;


--HDDの総容量を計算
CREATE OR REPLACE VIEW HDD_size
(device_id, size)
AS SELECT
device_id, ROUND(SUM(size/1024),0) AS size
FROM disk
WHERE current = 'y'
GROUP BY device_id;


--仮想PCのシリアルナンバーは除外
CREATE OR REPLACE VIEW SerialNumber
(device_id, serial)
AS SELECT
id,  serial
FROM devices
WHERE manufacturer != 'QEMU' AND manufacturer NOT LIKE 'VM%'
AND vm_vendor != 'kvm' AND vm_vendor != 'vmware';


--CMDBuildにインポートするView PCを作成
CREATE OR REPLACE VIEW PC
(
Code, Hostname, SerialNumber, Brand, Model,
RAM, CPUNumber, CPUSpeed, HDSize, IPAddress,
SoundCard, VideoCard
)
AS SELECT
devices.id, devices.hostname, SerialNumber.serial, devices.manufacturer, devices.model,
Memory_size.size, devices.processor_count, (processor.speed/100) , HDD_size.size, INET_NTOA(INET_ATON(devices.ip)),
sound.name, video.name
FROM devices
LEFT JOIN SerialNumber ON devices.id = SerialNumber.device_id
LEFT JOIN Memory_size ON devices.id = Memory_size.device_id
LEFT JOIN processor ON devices.id = processor.device_id AND processor.current = 'y'
LEFT JOIN HDD_size ON devices.id = HDD_size.device_id
LEFT JOIN sound ON devices.id = sound.device_id AND sound.current = 'y'
LEFT JOIN video ON devices.id = video.device_id AND video.current = 'y'
WHERE devices.type = 'Computer' ;

作成したsqlファイルを使用してViewを作成します。

# cd /usr/local/sbin
# mysql -u<DBユーザ> -p<DBユーザパスワード> openaudit  < createview.sql 

作成したViewを確認します。

SQL
# mysql -uDBユーザ> -pDBユーザパスワード> openaudit
MariaDB [openaudit]> select * from PC;
+------+-----------------+--------------+--------------+-----------------------------------+------+-----------+----------+--------+-----------------+--------------------------------------------------------+--------------------------------------------------------------+
| Code | Hostname        | SerialNumber | Brand        | Model                             | RAM  | CPUNumber | CPUSpeed | HDSize | IPAddress       | SoundCard                                              | VideoCard                                                    |
+------+-----------------+--------------+--------------+-----------------------------------+------+-----------+----------+--------+-----------------+--------------------------------------------------------+--------------------------------------------------------------+
|    4 | stand_js702     | NULL         | VMware, Inc. | VMware Virtual Platform           |    2 |         2 |  24.0000 |     50 | 192.168.9.182   | Ensoniq ES1371/ES1373 / Creative Labs CT2518 (Rev: 02) | VMware SVGA II Adapter                                       |
|    6 | js7-test        | NULL         | VMware, Inc. | VMware Virtual Platform           |    4 |         4 |  24.0000 |     50 | 192.168.9.170   | Ensoniq ES1371/ES1373 / Creative Labs CT2518 (Rev: 02) | VMware SVGA II Adapter                                       |
|   10 | win-1dpi966j0no | NULL         | VMware, Inc. | VMware7,1                         |    4 |         2 |  24.0000 |     60 | 192.168.9.158   | Microsoft High Definition Audio                        | VMware, Inc. VMware SVGA 3D                                  |
                                  |
<以下略>
+------+-----------------+--------------+-----------------------------------+------+-----------+----------+--------+-----------------+--------------------------------------------------------+--------------------------------------------------------------+

4.CMDBuild ウィザードコネクタ設定

CMDBuildのWebUIにログインし、Open-AudITのDBよりインベントリ情報をインポートできるように設定を行います。

http://<IPアドレス>:8080/cmdbuild
ユーザ:admin
パスワード:admin

上記ログインします。

1.png

本書ではデモデータベースに設定されている、Assets > PCのクラスにOpen-AudITでインベントリ収集を行った情報をインポートすることとします。
※デモのカード情報がデフォルトで入っているため、不要の場合は削除します。

ルックアップの追加

デモデータベースを使用した際Brandの項目はルックアップタイプになっているため、Open-AudITにてインベントリ収集した対象のBrandを登録する必要があります。

※Open-AudIT上に登録されているBrandは、Open-AudITのWebUIの以下の「Manufacturer」での確認、もしくはopenauditのDBで、devicesテーブルのmanufacturerカラムでも確認することができます。

image.png
また、

CMDBuildのWebUIにログインし、アドミニストレーションモジュールへ移行します。
ルックアップタイプ > Brand の順で移行し、値タブにて「値追加」を選択し、Brandを追加し、保尊します。
サンプルとして、以下を作成します。

image.png

コード:Dell Inc
説明:Dell Inc.
※コードは.,!等の記号は使えないため、説明にインポートするBrand情報を入力します。
 Open-AudITにてインベントリ収集を行ったBrandの情報をすべて登録します。

データベーステンプレートの作成

CMDBuildのWebUIにログインし、アドミニストレーションモジュールへ移行します。
インポート・エキスポート > データベーステンプレート の順で移行し、「データベーステンプレート追加」を選択し、Open-AudITのDBの接続情報を入力し保存します。
本書では以下の内容とします。

image.png

コード:Open-AudIT
説明:Open-AudITインポート
ドライバークラス名:MySQL / MariaDB
アドレス:jdbc:mariadb://<Open-AudITサーバのIPアドレス>:3306/openaudit
ユーザ名:<DB接続ユーザ名>
パスワード:<DB接続ユーザパスワード>

マッピングタブにて「マッピング追加」を選択し、インポートするクラスのマッピング情報を入力し保存します。
本書では以下の内容とします。

image.png

コード:PC_Import
説明:PCクラスインポート
タイプ:インポート
適用:クラス
クラス:PC
テーブル名:PC
有効:有効にチェック
属性:

属性(CMDBuild属性名) カラム名(Open-AudIT Viewカラム名) モード
Code Code デフォルト
Description Hostname デフォルト
Serialnumber Serialnumber デフォルト
Brand Brand 説明
Model Model デフォルト
RAM RAM デフォルト
Number of CPU CPUNumber デフォルト
Speed of CPU CPUSpeed デフォルト
Harddisk total size (GB) HDSize デフォルト
IPAddress IPAddress デフォルト
Sound card SoundCard デフォルト
Video card VideoCard デフォルト

インポートモード:マージ
インポートキー属性:Code
欠落レコード:削除しない

タスクマネージャの作成

データベーステンプレートの設定が完了したらタスクの設定を行います。

サーバ管理 > システム の順で移動し、「Scheduler_Jobs」のサービスはデフォルトでは向こうのためサービスを開始させます。

2.png

タスクマネージャ > データベースインポート の順で移行し、「タスク追加データベースインポート」を選択し、上記で作成したデータベーステンプレート

本書では以下の内容とします。

基本設定を入力し、「次へ」を選択します。

image.png

名称:OpenAudIT
説明:Open-AudITタスクマネージャ

データベーステンプレート設定を入力し、「次へ」を選択します。

image.png

データベーステンプレート:Open-AudITインポート
※アドレス、ユーザ名、パスワードはテンプレートで設定したものとは違うものを使用する場合はここで指定します。

cron設定を入力し、「次へ」を選択します。
本書では毎日18時に実行するように設定します。

image.png

cron:<タスクの実行する時間を指定>

本書では通知設定は行わないためそのまま保存を選択します。

image.png

サービスステータスが実行中になっていることを確認し、「開始」を選択します。

3.png

また、単独実行ボタンより実行することも可能です。

4.png

5.インポート確認

タスクマネージャのデータベースインポートにて設定した時間にタスクが起動し、Open-AudITで取得したインベントリ情報がインポートされているか確認します。

CMDBuildのWebUIにログインし、Assets > PC の順に移動しカードが追加されていることを確認します。

11.png

カードを開き対象の項目がインポートされていることを確認します。

12.png
※Open-AudITで取得していないNULLになります

また、CMDBuildのログを確認しエラーが発生していないことを確認します。

# less /opt/tomcat/cmdbuild/logs/cmdbuild.log

2026-05-12T18:00:01.458+09:00 [jobrun:122455] INFO  o.c.e.d.job.DatabaseEtlLoadHandler - execute database import job
2026-05-12T18:00:01.459+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - execute multi import operation with templates = [PC_Import]
2026-05-12T18:00:01.459+09:00 [jobrun:122455] INFO  o.c.e.d.job.DatabaseEtlLoadHandler - load data for template = ImportExportTemplateImpl{code=PC_Import, target=PC}: execute sql query =< SELECT Code,Hostname,Serialnumber,Brand,Model,RAM,CPUNumber,CPUSpeed,HDSize,IPAddress,SoundCard,VideoCard FROM PC >
2026-05-12T18:00:01.475+09:00 [jobrun:122455] INFO  o.c.etl.utils.EtlProcessorUtils - load import data = LIST[22]
2026-05-12T18:00:01.476+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - prepare data
2026-05-12T18:00:01.476+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - read source records
2026-05-12T18:00:01.477+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - create/update records
2026-05-12T18:00:01.486+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - preload 0 cards from db for import merge, key attr[s] = [Code], estimate memory usage = 0 MB
2026-05-12T18:00:01.491+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - load 22 records (create = true, update = true)
2026-05-12T18:00:01.556+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - handle missing/deleted records
2026-05-12T18:00:01.557+09:00 [jobrun:122455] INFO  o.c.e.l.i.EtlTemplateProcessorServiceImpl - completed import with templates = [ImportExportTemplateImpl{code=PC_Import, target=PC}] result: processed 22 records, created: 22, modified: 0, deleted: 0, unmodified: 0, errors: 0
2026-05-12T18:00:01.562+09:00 [jobrun:122455] INFO  o.c.e.d.job.DatabaseEtlLoadHandler - import job completed: processed 22 records, created: 22, modified: 0, deleted: 0, unmodified: 0, errors: 0

6.備考

CMDBuildに一部の属性がインポートできていない場合は、クラスの属性を修正することによりインポートできる場合があります。
その際はCMDBuildのログにてどこでエラーが発生しているかを確認します。
本書では以下のエラーが発生した場合の対処策を記載します。

Caused by: org.cmdbuild.etl.EtlException: error importing value for attribute =< SoundCard > column =< <undefined> > value =< Ensoniq ES1371/ES1373 / Creative Labs CT2518 (Rev: 02) >
        at org.cmdbuild.etl.loader.inner.EtlTemplateProcessorServiceImpl$ImportProcessor.convertValueToSystem(EtlTemplateProcessorServiceImpl.java:1258) ~[cmdbuild-etl-loader-4.2.0.jar:4.2.0]
        at org.cmdbuild.utils.lang.CmMapUtils$FluentMap.lambda$mapValues$6(CmMapUtils.java:256) ~[cmdbuild-utils-lang-4.2.0.jar:4.2.0]
        at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[na:na]
        at org.cmdbuild.utils.lang.CmMapUtils$FluentMap.mapValues(CmMapUtils.java:255) ~[cmdbuild-utils-lang-4.2.0.jar:4.2.0]
        at org.cmdbuild.etl.loader.inner.EtlTemplateProcessorServiceImpl$ImportProcessor$ClassHelper.prepareRecord(EtlTemplateProcessorServiceImpl.java:1785) ~[cmdbuild-etl-loader-4.2.0.jar:4.2.0]
        ... 8 common frames omitted
Caused by: java.lang.RuntimeException: error converting raw value =< Ensoniq ES1371/ES1373 / Creative Labs CT2518 (Rev: 02) > ( String ) for attribute type = StringAttributeType{length=50}



Caused by: org.cmdbuild.etl.EtlException: error importing value for attribute =< VideoCard > column =< <undefined> > value =< Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (Rev: 0a) >
        at org.cmdbuild.etl.loader.inner.EtlTemplateProcessorServiceImpl$ImportProcessor.convertValueToSystem(EtlTemplateProcessorServiceImpl.java:1258) ~[cmdbuild-etl-loader-4.2.0.jar:4.2.0]
        at org.cmdbuild.utils.lang.CmMapUtils$FluentMap.lambda$mapValues$6(CmMapUtils.java:256) ~[cmdbuild-utils-lang-4.2.0.jar:4.2.0]
        at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[na:na]
        at org.cmdbuild.utils.lang.CmMapUtils$FluentMap.mapValues(CmMapUtils.java:255) ~[cmdbuild-utils-lang-4.2.0.jar:4.2.0]
        at org.cmdbuild.etl.loader.inner.EtlTemplateProcessorServiceImpl$ImportProcessor$ClassHelper.prepareRecord(EtlTemplateProcessorServiceImpl.java:1785) ~[cmdbuild-etl-loader-4.2.0.jar:4.2.0]
        ... 8 common frames omitted
Caused by: java.lang.RuntimeException: error converting raw value =< Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (Rev: 0a) > ( String ) for attribute type = StringAttributeType{length=50}

※ログは一部のみ抜粋

上記のエラーは、インポート先のクラスPCの属性SoundCard、VideoCardの長さが50に対して、Open-AudITにて取得した情報の長さが50を超えているため発生しております。
そのためインポートができないのでPCクラスの属性を修正します。

CMDBuildのWebUIにログインし、アドミニストレーションモジュールに移行します。
クラス > 標準 > Asset > PC の順で移動し、属性タブにて「SoundCard」を選択し修正します。
デフォルトでは50のため入る長さまで拡張します。
※「VideoCard」も同じように修正します。

7.png

修正後、再度ウィザードコネクタが実行されるのを待ち、もしくは手動にて実行し、正常にインポートされることを確認します。

13.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?