IT資産情報をDevice42で「検出」してみた【Device42　第二回】

#はじめに
　今回から、[前回の記事](https://qiita.com/daijiro_ABY3/items/0f68081239aaf0acdf5c)で紹介したDevice42を実際に触っていきます。
　まず、IT資産情報を登録する上で一番最初に設定する検出にフォーカスをあてて、**自動検出のイメージ**を作っていただきたいと思います。
　実際に動作させる前に、少しだけ説明させてください。

#1. 自動検出とジョブ
　Device42の最も代表的な機能が、**IT資産情報の自動検出**です。指定したサブネット内に対し各種コマンドを一斉に実行して情報を検出します。使用するコマンドはTCP PortスキャンやSNMPをはじめとしたごく汎用的なものを使用するため、検出されるシステム機器側に情報収集用のクライアントソフトを仕掛けておく必要がありません。この情報検出法を「エージェントレス」と呼びます。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/bc3dba6d-22ba-18ee-3b45-3667baa1ab3c.png)

　Device42の自動検出は「ジョブ」と呼ばれるものを実行して行います。ジョブとは、実行するコマンドの種類、検出対象範囲（無視範囲）などそのコマンドを実行する際の各種ルールを1つに定めたもので、ジョブ名を設定して管理しています。このジョブを実行して情報検出するのですが、ジョブは手動で実行することもできますし、あらかじめ設定したスケジュールに従って複数のジョブを連携させて自動実行することも可能です。この、スケジュール機能を使用してジョブの実行制御と情報収集を行うことを「自動検出」と呼んでいます。
　自動検出は、設定したジョブの順序ごとに"機器のIT資産や詳細情報の検出し、Device42へ登録する"流れを繰り返すイメージです。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/d2314bd5-2428-2e53-c237-ef3ae6a3c17f.png)

#2. ジョブの実行順序
　Device42の初期導入時に行う自動検出設定では、実行するジョブの順序にセオリーが存在します。
　下記の表の様に、ネットワークを検出するジョブから順に実行していきます。

| 実行順序 | 検出内容 | 備考 |
|:-:|:--|:--|
| ① | ネットワーク | ネットワークデバイス、VLAN、サブネット、IPアドレス、MACアドレスなど |
| ➁ | V-Server | VMware、Citrix Xen、libvirt、oVirtなど<br>ハイパーバイザー自身とその中の仮想環境 |
| ③ | Windows/Linux/Hyper-V | 物理、仮想含め1台ずつ検出 |
| ④ | クラウド | Amazon Web Services、Microsoft Azure、Cloudstack、Openstackなど |
| ⑤ | ブレード | ブレードシステムのシャーシとブレードの詳細 |
| ⑥ | IPMI | ハードウェア監視ステータス情報 |

　ジョブの実行順序を正しく設定することで正しい情報登録が可能です。
　例えば、実行順序③より⑥をあとに実行することで、③で検出した機器に紐づけつつより詳細な情報を⑥で収集することが出来ます。

#3. IT資産情報を登録してみよう
##3-1. ジョブの作成
　SNMPのジョブを作成しました。
　ジョブ名は「SNMPテストジョブ」で検出対象のサブネットもCIDR表記で設定しています。
　※SNMPなので「コミュニティ名」も設定する必要があります。
![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/2c2b2d13-2146-f8f9-cebe-9cabd044c56e.jpeg)

##3-2. ジョブの実行
　作成した「SNMPテストジョブ」を手動で実行します。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/893b0163-66e4-2f9b-e397-f171219e8a0f.png)

##3-3. ジョブの実行状況を確認
　ジョブの実行状況をリアルタイムで確認できます。（ページのリロードも必要なし）
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/628827cf-b0f8-761d-1496-6641d313e082.png)

##3-4. ジョブの実行結果を確認
　もちろんサブネットの範囲やその中の機器の状態で異なりますが、今回は体感で実行開始から終了まで15秒程度でした。
　終了したのでジョブの実行結果をサマリー画面で確認してみます。
　「Success」に記載のある数字が検出に成功した機器の数です。（今回は1件だけ取得出来る様に設定を調整）
　クリックすると、一覧で表示されます。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/57e7de0c-2213-7cff-09b0-0f941795264e.png)

##3-5. ジョブの実行で検出できた機器を確認
　オブジェクトというところを見ると、この機器のホスト名が表示されています。
　ここをさらにクリックしてみます。
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/5bc74873-4840-232c-6796-8e6a45063a3e.png)
　**（※以降、ホスト名やIPアドレスが表示される部分はモザイク処理をしています）**

##3-6. ジョブの実行で検出できた機器の詳細情報を確認
　この機器の詳細画面が表示されました。
　物理的（≠仮想）なデバイスで型番（WS-3560CG-8TC-S, cisco）からシスコ社製のスイッチだと分かります。さらにシリアルナンバー、「運転中」のステータスなどの情報が取れました。
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/a872bf44-a8bf-a6bd-1ed7-c3430566a223.png)

　さらに下にスクロールすると、このスイッチの各ポートのMACアドレスや接続先の機器が一目瞭然です。
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/789973/6e27d238-5d97-2035-3640-c707c9b9ad56.png)

この様なジョブをコマンドごとに作り、スケジュールを組んで正しい順序で段階的に実行することで質の高いIT資産情報を簡単に収集することが可能です。

#4. 終わりに
　今回は検出のみをターゲットにご一緒させていただきました。
　ジョブ設定の敷居が低いこと、機器の情報を素早く正確に収集できることが分かりました。機器の情報を手作業で、それも何十台も登録・管理している様な運用にはより効果的です。

　今後もまだまだ機能・特長をご紹介していこうと思います。

　最後まで記事をご覧いただき、ありがとうございました。

#シリーズ一覧
1. [膨大なIT資産情報を「自動で正確に管理」できる話【Device42　第一回】](https://qiita.com/daijiro_ABY3/items/0f68081239aaf0acdf5c)
1. [IT資産情報をDevice42で「検出」してみた【Device42　第二回】](https://qiita.com/daijiro_ABY3/items/6bba85346adfcfb94d22)