- Snipe-IT〜資産管理のOSS〜
- ここではIT資産以外の消耗品等の管理もできるOSSの資産管理システムSnipe-ITを紹介します。
- 〜自動でIT資産情報を取得〜Snipe-PCView
- ここでは、デージーネットで開発した、Snipe-PCViewについて紹介します。
- Snipe-IT資産管理者マニュアル
- デージーネットで作成しましたSnipe-IT資産管理者マニュアルです。
2. 事前準備 一覧へ 4. get_snao
pc-snipeは、Snipe-PCViewのコアソフトウェアで、 1台のWindows PCからSNMPで情報を取得し、 これらをSnipe-ITに登録する機能があります。
pc-snipeの処理の流れは次の通りです。
pc-snipeのインストールの手順は次の通りです。
次のソフトウェアをインストールします。
下記のURLからソフトウェアアーカイブをダウンロードします。 アーカイブは、pc-snipe-バージョン.tar.gzです。
ダウンロードしたアーカイブを/usr/local等に展開します。 展開後、サンプルの設定をコピーします。
# cd /usr/local
# tar xvzf /path/to/pc-snipe-1.0.tar.gz
# cd /usr/local/pc-snipe/sample
# tar cf - . | ( cd .. ; tar xf - )
環境設定ファイルは、etc/pc-snipe.confです。 環境設定ファイルの書式は「項目名=設定値」で、 1行に1項目ずつ記載します。 項目名は大文字と小文字を厳密に区別します。
最低限、次の項目をサンプルから変更します。
他の各項目の説明は、付録の pc-snipeの環境設定ファイル を参照してください。
管理対象PCがActive Directory(AD)のドメインにサインインすると、ADのDynamic DNS機能によりそのPCのIPアドレスが登録されます。 pc-snipeではこの機能を利用して、資産タグやコンピュータ名から実際にSNMP接続するIPアドレスを調べています。 DDNSに登録されるホスト名は、サインインしたPCに設定されているコンピュータ名をもとに、 ADの持つドメイン名が補完されて登録されます。 たとえば、コンピュータ名が「pc10002」、ADのドメイン名が「example.com」の場合、 ADに対して「pc10002.example.com」というホスト名で問い合わせることで、 pc10002のIPアドレスを調べることができます。
pc-snipeがインストールされているLinuxサーバのリゾルバがPCの名前解決をするDNSサーバに向いていない場合、DNS_Addressを指定します。 逆に、リゾルバがActive Directory(AD)などを向いている場合にはDNS_Addressは設定しません。
Snipe-ITの「コンピュータ名」の項目に、ドメイン名まで含めずに登録する場合(上記例では「pc10002」だけ)、 ADのDNSで名前を解決するため、ドメイン名の補完が必要になりますので、 DNS_Domainを設定します(上記例では「example.com」)。
ADのIPアドレスが172.16.10.101、ドメイン名がexample.comの場合、次のように設定します。
DNS_Address=172.16.10.101
DNS_Domain=example.com
ファイル名は環境設定ファイルの設定項目MappingFileの設定値です。 標準では/usr/local/pc-snipe/etc/mapping.confです。
書式は「項目名=Snipe-ITのカスタムフィールド名」です。 ここに設定した内容が実際に管理する項目であり、 記載しなかった項目名についてはPCからの情報取得も、 Snipe-ITへの登録も行いません。 各項目の内容は、 Snipe-ITのカスタムフィールドの準備 の章の Snipe-PCViewで扱うカスタムフィールドの表 を参照してください。
設定例は次の通りです。
ComputerName=コンピュータ名
IPaddr=IPアドレス
Community=コミュニティ名
CPUThreads=CPUスレッド数
MemorySize=メモリサイズ
DiskSize=ディスクサイズ
DiskInfo=ディスク情報
Appli=インストール済みアプリケーション
ComputerInfo=コンピュータ情報
DeviceInfo=デバイス情報
NetworkInfo=ネットワークデバイス情報
Snipe-ITのAPIキーは、Snipe-ITの画面上で生成し、 生成されたキーをSnipeIT_API_KeyFileで指定したファイルに保存します。
Snipe-ITのAPIキーの生成の手順は次の通りです。
# vi /usr/local/pc-snipe/etc/api.key
(クリップボードにコピーしたAPIキーをペーストし、保存する)
取得する項目ごとに、出力書式と取捨選択を設定することができます。 出力書式はテンプレートファイル、 情報の取捨選択はホワイトリスト・ブラックリストファイルで制御します。
ファイルの配置は次の通りです。
テンプレートファイルは、 項目ごとに出力書式を制御するためのファイルです。 置換タグと呼ばれるメタ文字列が、取得した情報に置換されます。 複数の情報に対応するためのループタグもあります。 取得項目によって、テンプレートファイルが効かないものもあります。
ホワイトリストファイル、ブラックリストファイルは、 取得された情報に含まれる語句によって情報を取捨選択するものを記述します。 取捨選択の対象情報は、項目ごとに異なります。 取捨選択のための語句は、1行に1つずつ書き、複数指定することもできます。 ホワイトリストとブラックリストは、次のように働きます。
テンプレートファイル、ホワイトリストファイル、ブラックリストファイルは、 サンプルとして提供されている内容から変更する必要はなく、 そのままでも利用に差し支えありません。 細かく情報の出力内容を変更したい、取得する情報を絞り込みたい場合には、付録にある 詳細情報 を参考に、設定を変更してください。
pc-snipeは単体のコマンドとして実行することができます。 書式は次の通りです。
# pc-snipe [-d] [-c conffile] <-t 資産タグ|-n コンピュータ名>
引数 | 説明 |
---|---|
-d | PCからSNMPで情報は取得するが、Snipe-ITには反映しない |
-c ファイル名 | 「ファイル名」で指定したファイルをetc/pc-snipe.confの代わりに環境設定ファイルとして読み込む |
-t 資産タグ | 資産タグ指定モード
Snipe-ITに指定した資産タグとして格納されているPCの情報を取得する
必ず末尾の引数として指定する
-nとは同時に指定できない
|
-n コンピュータ名 | コンピュータ名指定モード
Snipe-ITに指定したコンピュータ名として格納されているPCの情報を取得する
必ず末尾の引数として指定する
-tとは同時に指定できない
|
pc-snipeコマンドを実行すると、成否にかかわらずJSON形式で結果を出力します。 JSON形式の書式は次の通りです。
{
"status": 終了コード,
"messages": [
メッセージ(あれば)...
],
"tag": "対象資産の資産タグ",
"before": {
"コンピュータ名": "pc10002",
....
},
"after": {
"コンピュータ名": "pc10002.example.com",
....
}
}
項目 | 説明 |
---|---|
status | コマンドの終了コード |
messages | エラーメッセージや警告メッセージ
配列形式で、複数ある場合は複数出力される
エラーも警告もない場合は空配列
|
tag | 対象データの資産タグ
Snipe-ITに該当データがなかった場合は空
|
before | pc-snipeコマンド実行前にSnipe-ITに登録されていた情報
下の階層には、Snipe-ITに登録されている項目名をキーに、
mapping.confに記載されたすべての項目名について内容が表示される
Snipe-ITに該当データがなかった場合は空配列
|
after | PCからSNMPによって取得された情報
下の階層には、Snipe-ITに登録されている項目名をキーに、
mapping.confに記載されたすべての項目名について内容が表示される
Snipe-ITに該当データがなかった場合やSNMPによって取得できなかった場合は空配列
|