オープンソース

一覧へ

6.1. pc-snipeのデータシート

6.1.1. 環境設定ファイル

  • ファイル名
    • /usr/local/pc-snipe/etc/pc-snipe.conf
    • pc-snipeの-cオプションによって任意のファイル名を指定することもできる
  • 書式
    • 「項目名=値」
      • 項目名は大文字小文字を厳密に区別します
    • 行頭文字が「#」(半角シャープ文字)の行はコメントとみなし無視する
    • 空行は無視する
    • 日本語の文字コードはUTF8
pc-snipeの環境設定ファイル
設定項目名 説明 値の例 備考
SnipeIT_API_URL Snipe-ITのAPIのURL http://127.0.0.1/api/v1 必須項目
SnipeIT_API_KeyFile Snipe-ITのAPIにアクセスするためのベアラキーを格納したファイル名 /usr/local/pc-snipe/etc/api.key デフォルト値は「値の例」に記載の通り
SnipeIT_API_Timeout Snipe-ITのAPIタイムアウトを秒で指定 30 デフォルトは30秒
DNS_Address Active DirectoryもしくはDNSサーバのIPアドレス 172.16.30.53
空の場合、システムリゾルバを利用する
デフォルトは空(システムリゾルバを利用する)
DefaultCommunity Snipe-ITの資産情報としてコミュニティ名が登録されていなかったときに使用されるSNMPコミュニティ名 public 必須項目
DNS_Domain Active Directory上で管理されているDDNSのドメイン名 example.com PCのIPアドレスを調べるとき、Snipe-ITに登録されているコンピュータ名の末尾に保管される文字列である
SnipeIT_SearchWindow
コンピュータ名検索モードで一度に読み込む資産情報数
メモリ使用量の増大を防止するための保護機能
100 デフォルトは100
TemplatePath
出力情報テンプレートとホワイトリスト・ブラックリストが格納されるディレクトリ
ここで指定したディレクトリ配下に、対象情報ごとに項目名のディレクトリが配置され、さらにその中に実際のファイルを配置する
/usr/local/pc-snipe/tmpl デフォルト値は「値の例」と同じ
MappingFile 情報マッピングファイルのパス /usr/local/pc-snipe/etc/mapping.conf デフォルト値は「値の例」と同じ
MemorySizeUnit
メモリサイズの単位
K: キロバイト
M: メガバイト
G: ギガバイト
M
MemorySizeに適用される
デフォルト値はM
DiskSizeUnit
ディスクサイズの単位
K: キロバイト
M: メガバイト
G: ギガバイト
G
DiskSizeとDiskInfoに適用される
デフォルト値はG
MemorySizeDigits
MemorySizeの整数部の桁数
取得した値が指定した桁数以下の場合、左に半角スペースが埋められる
6 デフォルト値は6
DiskSizeDigits
DiskSizeの整数部の桁数
取得した値が指定した桁数以下の場合、左に半角スペースが埋められる
4 デフォルト値は4
CPUThreadsDigits
CPUThreadsの整数部の桁数
取得した値が指定した桁数以下の場合、左に半角スペースが埋められる
2 デフォルト値は2

6.1.2. Snipe-ITの情報とのマッピングファイル

  • ファイル名
    • /usr/local/pc-snipe/etc/mapping.conf
    • 環境設定ファイルの設定項目MappingFileによって任意のファイル名を指定することもできる
  • 書式
    • 「項目名=Snipe-ITのフィールド名」
      • 項目名は大文字小文字を厳密に区別します
    • 行頭文字が「#」(半角シャープ文字)の行はコメントとみなし無視する
    • 空行は無視する
    • 日本語の文字コードはUTF8
    • 必須項目(ComputerName)以外は任意とし、記述されていない項目についてはSnipe-ITには登録しない
    • 結果出力のJSONでは、ここに記述された順に表示される
Snipe-ITの情報とのマッピングファイル
項目名 表示名の例 備考
ComputerName コンピュータ名 必須
IPaddr IPアドレス 値はSNMPではなく、名前解決により取得
Community コミュニティ名  
CPUThreads CPUスレッド数  
MemorySize メモリサイズ  
DiskSize ディスクサイズ  
DiskInfo ディスク情報  
Appli インストール済みアプリケーション  
CompterInfo コンピュータ情報  
DeviceInfo デバイス情報  
NetworkInfo ネットワークデバイス情報  

6.1.3. 出力情報テンプレートとホワイトリスト・ブラックリスト

6.1.3.1. ファイルの配置場所

出力テンプレートとホワイトリスト・ブラックリストファイルは、 トップディレクトリ配下にマッピング項目名のディレクトリがあり、 その中に実際のファイルが配置されます。

  • トップディレクトリ
    • /usr/local/pc-snipe/tmpl
    • 環境設定ファイルの設定項目TemplatePathで任意のディレクトリを指定することもできる
  • 各項目の格納ディレクトリ
    • マッピングファイル の項目名に対応するディレクトリ
    • 例:NetworkInfoのファイルが格納されるディレクトリ名は次の通り
      • /usr/local/pc-snipe/tmpl/NetworkInfo/
    • pc-snipeに対して更新を行わない次の項目は対象外
      • ComputerName
      • Community
    • 次の項目はテンプレート、ホワイトリスト、ブラックリストを持たない
      • IPaddr
  • ファイル名
    • 出力情報テンプレート
      • template.conf
    • ホワイトリスト
      • whitelist.conf
    • ブラックリスト
      • blacklist.conf

サンプルでは、次のファイルが用意されています。

tmpl/CPUThreads/template.conf
tmpl/MemorySize/template.conf
tmpl/DiskInfo/whitelist.conf
tmpl/DiskInfo/template.conf
tmpl/Appli/blacklist.conf
tmpl/Appli/template.conf
tmpl/ComputerInfo/template.conf
tmpl/DeviceInfo/template.conf
tmpl/DeviceInfo/blacklist.conf
tmpl/NetworkInfo/template.conf
tmpl/NetworkInfo/blacklist.conf
tmpl/DiskSize/whitelist.conf

6.1.3.2. 出力情報テンプレートの書式

  • 任意の文字列と特定の置換タグ(メタ文字列)を記述することができる
  • 置換タグには、SNMPによって取得された情報が展開される
    • SNMPで複数項目が取得されるものについては、 ループタグと呼ばれる始点と終点のあるタグを記述し、 この間に書かれたループ置換タグに、 SNMPで取得できたOIDの枝番の順に展開される
  • 置換タグ以外の文字列は、記述された通りの文字列が出力される
  • 置換タグは各登録項目で異なるため後述する
  • 1行のみで登録されるべき項目については、最初の改行文字以降の記述は無視される

6.1.3.3. ホワイトリスト、ブラックリストの書式

  • 1行に1つのキーワードを記載する
    • 複数行記載した場合はOR条件となる
  • キーワードの大文字小文字は厳密に区別される
  • 空行を記載してはならない
  • コメント行を記載することはできない
    • 「#」で始まる行は、純粋に「#」を含んだキーワードとみなす

6.1.3.4. ホワイトリスト、ブラックリストの効力について

  • ホワイトリストファイル、ブラックリストファイルは、必要に応じて配置する
    • ホワイトリストファイルのみが配置されている場合は、 ホワイトリストに書かれたキーワードにマッチした情報だけが登録対象になる
    • ブラックリストファイルのみが配置されている場合は、 ブラックリストに書かれたキーワードにマッチした情報が登録対象から除外される
    • ホワイトリストファイルとブラックリストファイルの両方が配置されている場合は、 ホワイトリストに書かれたキーワードにマッチした情報であって、 ブラックリストに書かれたキーワードにマッチしない情報だけが登録対象になる
    • ホワイトリストファイルとブラックリストファイルのいずれも配置されていない場合は、 全ての情報が登録対象になる
  • ホワイトリスト、ブラックリストによって照合される取得情報項目は、 各登録項目で異なるため後述する

6.1.3.5. CPUThreadsのテンプレートの仕様

  • テンプレートは1行のみが有効である
  • 置換タグは次の通り
CPUThreadのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[CPUThreads]]
HOST-RESOURCES-MIB::hrProcessorFrwIDで取得できた件数
整数部桁数が設定項目MemorySizeDigitsの値に満たない場合、
文字列先頭に半角スペースを必要分埋める
CPUスレッド数を表す
CPUThreadのテンプレート例
 [[CPUThreads]]
  • CPUThreadには、ホワイトリスト、ブラックリストは適用しない

6.1.3.6. MemorySizeのテンプレートの仕様

  • テンプレートは1行のみが有効である
  • 置換タグは次の通り
MemorySizeのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[MemorySize]]
HOST-RESOURCES-MIB::hrMemorySize.0から
設定項目MemorySizeUnitで指定した単位に応じて割り算した数値の小数点第1位まで
整数部桁数が設定項目MemorySizeDigitsの値に満たない場合、
文字列先頭に半角スペースを必要分埋める
 
MemorySizeのテンプレート例
 [[MemorySize]]
  • MemorySizeには、ホワイトリスト、ブラックリストは適用しない

6.1.3.7. DiskSizeのホワイトリスト、ブラックリストの仕様

  • テンプレートは規定しない
  • ホワイトリスト、ブラックリストのマッチング適用対象のOIDは次の通り
    • HOST-RESOURCES-MIB::hrStorageType
    • HOST-RESOURCES-MIB::hrStorageDescr

6.1.3.8. DiskInfoのテンプレート、ホワイトリスト、ブラックリストの仕様

  • DiskInfoでは、複数項目を表示することができる
    • ループタグで囲われた部分に、見つかった項目数だけ繰り返し出力される
  • 置換タグは次の通り
DiskInfoのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[TotalCapacity]]
下記[[Capacity]]の合計値
ただし、ホワイトリスト、ブラックリストにより非採用の情報については合算から除外される
 
[[DiskInfoBegin]]
[[DiskInfoEnd]]
ループタグ
HOST-RESOURCES-MIB::hrStorage*のどれか値があるもののインデクスについて番号の若い順に展開される
以下の置換タグは、このループタグ内で各インデクスに対応する情報が展開される
 
[[DeviceDescr]]
デバイスの説明
HOST-RESOURCES-MIB::hrStorageDescrから取得する
 
[[Capacity]]
容量
HOST-RESOURCES-MIB::hrStorageAllocationUnitsとHOST-RESOURCES-MIB::hrStorageSizeを掛け合わせ、単位に応じて割った数値の小数点第1位まで
 K:1024で割る
 M:1024 * 1024で割る
 G:1024 * 1024 * 1024で割る
 
[[Media]]
ストレージタイプ
HOST-RESOURCES-MIB::hrStorageTypeから取得する
opticalDiskROMやhardDiskといった表示がある
 
DiskInfoのテンプレート例
 Total: [[TotalCapacity]] GBytes
 [[DiskInfoBegin]][[Media]]: [[Capacity]] GBytes ([[DeviceDescr]])
 [[DiskInfoEnd]]
DiskInfoのテンプレートによる登録内容例
 Total: 29.4 GBytes
 FixedDisk: 29.4 GBytes (C:\ Label: Serial Number 4241c555)
  • ホワイトリスト、ブラックリストのマッチング適用対象のOIDは次の通り
    • HOST-RESOURCES-MIB::hrStorageType
    • HOST-RESOURCES-MIB::hrStorageDescr

6.1.3.9. Appliのテンプレート、ホワイトリスト、ブラックリストの仕様

  • Appliでは、複数項目を表示することができる
    • ループタグで囲われた部分に、見つかった項目数だけ繰り返し出力される
  • 置換タグは次の通り
Appliのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[LastChange]]
最終変更日時
HOST-RESOURCES-MIB::hrSWInstalledLastChange.0で取得された値を100で割り、現在のUNIXTIMEから減じた日時情報を出力する
書式は「YYYY/MM/DD hh:mm:ss」である
 
[[LastUpdate]]
最終アップデート日時
HOST-RESOURCES-MIB::hrSWInstalledLastUpdateTime.0で取得された値を100で割り、現在のUNIXTIMEから減じた日時情報を出力する
書式は「YYYY/MM/DD hh:mm:ss」である
 
[[AppliBegin]]
[[AppliEnd]]
ループタグ
HOST-RESOURCES-MIB::hrSWInstalledNameのインデクスについて番号の若い順に展開される
以下の置換タグは、このループタグ内で各インデクスに対応する情報が展開される
 
[[AppliName]]
アプリケーション名
HOST-RESOURCES-MIB::hrSWInstalledNameから取得する
 
[[InstalledDate]]
アプリケーションのインストール日時
HOST-RESOURCES-MIB::hrSWInstalledDateから取得する
書式は「YYYY-[M]M-[D]D,[h]h:[m]m:[s]s.0」である
[]は、1桁の場合1桁で出力されるという意味である
 
Appliのテンプレート例
 Last Change: [[LastChange]]
 Last Update: [[LastUpdate]]

 [[AppliBegin]][[AppliName]] (installed at [[InstalledDate]])
 [[AppliEnd]]
Appliのテンプレートによる登録内容例
 Last Change: 2023-01-19 10:28:03
 Last Update: 2023-01-19 10:28:02

 Mozilla Firefox (x64 ja) (installed at 2023-1-19,0:55:32.0)
 Mozilla Maintenance Service (installed at 2023-1-19,0:55:34.0)
 LibreOffice 7.4.4.2 (installed at 2023-1-18,2:46:28.0)
 Google Chrome (installed at 2023-1-18,2:49:12.0)
  • ホワイトリスト、ブラックリストのマッチング適用対象のOIDは次の通り
    • HOST-RESOURCES-MIB::hrSWInstalledName

6.1.3.10. ComputerInfoのテンプレートの仕様

  • テンプレートは1行のみが有効である
  • 置換タグは次の通り
ComputerInfoのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[ComputerInfo]] SNMPv2-MIB::sysDescr.0の値  

6.1.3.11. DeviceInfoのテンプレート、ホワイトリスト、ブラックリストの仕様

  • DeviceInfoでは、複数項目を表示することができる
    • ループタグで囲われた部分に、見つかった項目数だけ繰り返し出力される
  • 置換タグは次の通り
DeviceInfoのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[DeviceInfoBegin]]
[[DeviceInfoEnd]]
ループタグ
HOST-RESOURCES-MIB::hrDeviceIndexのインデクスについて番号の若い順に展開される
以下の置換タグは、このループタグ内で各インデクスに対応する情報が展開される
 
[[DeviceType]]
デバイス種別
HOST-RESOURCES-MIB::hrDeviceTypeから取得し、mibmapで変換を行う
 
[[DeviceDescr]]
デバイス名
HOST-RESOURCES-MIB::hrDeviceDescrから取得する
 
DeviceInfoのテンプレート例
 [[DeviceInfoBegin]][[DeviceDescr]] ([[DeviceType]])
 [[DeviceInfoEnd]]
DeviceInfoのテンプレートによる登録内容例
 Microsoft XPS Document Writer v4 (Printer)
 Microsoft Print To PDF (Printer)
 Microsoft Shared Fax Driver (Printer)
 Unknown Processor Type (Processor)
 Software Loopback Interface 1 (Network)
  • ホワイトリスト、ブラックリストのマッチング適用対象のOIDは次の通り
    • mibmap['HOST-RESOURCES-MIB::hrDeviceTypeの値']
      • mibmap(MIB変換)については後述
    • HOST-RESOURCES-MIB::hrDeviceDescr

6.1.3.12. NetworkInfoのテンプレート、ホワイトリスト、ブラックリストの仕様

  • NetworkInfoでは、複数項目を表示することができる
    • ループタグで囲われた部分に、見つかった項目数だけ繰り返し出力される
  • 置換タグは次の通り
NetworkInfoのテンプレート置換タグ
置換タグ文字列 具体的な出力値 備考
[[NetworkInfoBegin]]
[[NetworkInfoEnd]]
ループタグ
IF-MIB::ifIndexのインデクスについて番号の若い順に展開される
以下の置換タグは、このループタグ内で各インデクスに対応する情報が展開される
 
[[IFType]]
ネットワークインタフェース種別
IF-MIB::ifTypeから取得する
 
[[IFDescr]]
ネットワークインタフェース名
IF-MIB::ifDescrから取得する
 
[[IFMac]]
ネットワークインタフェースに対応付けられたMACアドレス
IF-MIB::ifPhysAddressから取得する
 
NetworkInfoのテンプレート例
 [[NetworkInfoBegin]][[IFDescr]] (type: [[IFType]], MAC addr: [[IFMac]])
 [[NetworkInfoEnd]]
NetworkInfoのテンプレートによる登録内容例
 Intel(R) PRO/1000 MT Network Connection #2-QoS Packet Scheduler-0000 (type: ethernetCsmacd, MAC addr: 56:6f:05:18:03:0d)
 Intel(R) PRO/1000 MT Network Connection #2-WFP 802.3 MAC Layer LightWeight Filter-0000 (type: ethernetCsmacd, MAC addr: 56:6f:05:18:03:0d)
 Intel(R) PRO/1000 MT Network Connection-WFP Native MAC Layer LightWeight Filter-0000 (type: ethernetCsmacd, MAC addr: 56:6f:05:18:03:0e)
 Intel(R) PRO/1000 MT Network Connection-QoS Packet Scheduler-0000 (type: ethernetCsmacd, MAC addr: 56:6f:05:18:03:0e)
 Intel(R) PRO/1000 MT Network Connection-WFP 802.3 MAC Layer LightWeight Filter-0000 (type: ethernetCsmacd, MAC addr: 56:6f:05:18:03:0e)
  • ホワイトリスト、ブラックリストのマッチング適用対象のOIDは次の通り
    • IF-MIB::ifType
    • IF-MIB::ifDescr

6.1.3.13. MIB変換について

SNMPによって取得される値の中には、 他のMIBへのリンク形式になっている一部情報が リンク先の静的なMIB名の形式で出力されるものがあり、 見た目にも意味が分からないものがあります。 pc-snipeではこれらを見やすい形に変換しています。

HOST-RESOURCES-MIB::hrStorageTypeのMIB変換一覧
元の値 変換値
HOST-RESOURCES-MIB::hrStorageTypes.1 Other
HOST-RESOURCES-MIB::hrStorageTypes.2 Ram
HOST-RESOURCES-MIB::hrStorageTypes.3 VirtualMemory
HOST-RESOURCES-MIB::hrStorageTypes.4 FixedDisk
HOST-RESOURCES-MIB::hrStorageTypes.5 RemovebleDisk
HOST-RESOURCES-MIB::hrStorageTypes.6 FloppyDisk
HOST-RESOURCES-MIB::hrStorageTypes.7 CompactDisc
HOST-RESOURCES-MIB::hrStorageTypes.8 RamDisk
HOST-RESOURCES-MIB::hrStorageTypes.9 FlashMemory
HOST-RESOURCES-MIB::hrStorageTypes.10 NetworkDisk
HOST-RESOURCES-MIB::hrDeviceTypeのMIB変換一覧
元の値 変換値
HOST-RESOURCES-MIB::hrDeviceTypes.1 Other
HOST-RESOURCES-MIB::hrDeviceTypes.2 Unknown
HOST-RESOURCES-MIB::hrDeviceTypes.3 Processor
HOST-RESOURCES-MIB::hrDeviceTypes.4 Network
HOST-RESOURCES-MIB::hrDeviceTypes.5 Printer
HOST-RESOURCES-MIB::hrDeviceTypes.6 DiskStorage
HOST-RESOURCES-MIB::hrDeviceTypes.10 Video
HOST-RESOURCES-MIB::hrDeviceTypes.11 Audio
HOST-RESOURCES-MIB::hrDeviceTypes.12 Coprocessor
HOST-RESOURCES-MIB::hrDeviceTypes.13 Keyboard
HOST-RESOURCES-MIB::hrDeviceTypes.14 Modem
HOST-RESOURCES-MIB::hrDeviceTypes.15 ParallelPort
HOST-RESOURCES-MIB::hrDeviceTypes.16 Pointing
HOST-RESOURCES-MIB::hrDeviceTypes.17 SerialPort
HOST-RESOURCES-MIB::hrDeviceTypes.18 Tape
HOST-RESOURCES-MIB::hrDeviceTypes.19 Clock
HOST-RESOURCES-MIB::hrDeviceTypes.20 VolatileMemory
HOST-RESOURCES-MIB::hrDeviceTypes.21 NonVolatileMemory

6.1.4. pc-snipeの終了コード一覧

ソフトウェアエラーの終了コード
終了コード 説明 備考
0 正常終了 処理続行
1 コマンドライン引数不正 続行不能
2 環境設定ファイルの書式エラー 続行不能
3 情報マッピング設定ファイルの書式エラー 続行不能
4 Snipe-ITの資産タグ検索において、該当資産タグが存在しない 続行不能
5 Snipe-ITのコンピュータ名検索において、該当資産が存在しない 続行不能
6 ADに対するDNSクエリにおいて、該当ホスト名のAレコードが取得できない 続行不能
7 WindowsPCに対するSNMPで情報が1件も取得できない 続行不能
8 テンプレートファイルが存在しない 続行不能
9 コンピュータ名がSnipe-IT登録情報とSNMP取得情報とで異なる 処理続行
10 SNMPで取得したOS名に「Windows」が含まれない 処理続行
システムエラーの終了コード
終了コード 説明 備考
99 環境設定ファイルの読み込みエラー 続行不能
98 情報マッピング設定ファイルの読み込みエラー 続行不能
97 Snipe-ITのAPI実行エラー 続行不能
96 DNSクエリの実行エラー 続行不能
95 SNMPクエリの実行エラー 続行不能
94 テンプレートファイルの読み込みエラー 続行不能
93 ホワイトリストファイルの読み込みエラー 続行不能
92 ブラックリストファイルの読み込みエラー 続行不能
一覧へ