ServiceNowのDiscoveryとは(説明用)

version: 〜Vancouver辺りまでで試した知識で書きます

:::note info
Discoveryを実行しないで机上だけで書いているので正確さに欠ける箇所があるかもです
:::

# 概要

ServiceNowにはDiscoveryという機能があります Discoveryは自動で構成機器の情報を収集しデータベースに登録しCMDB(構成管理データベース)を最新の状態に保ちます 大まかには以下の流れで動きます(不正確な箇所があったらごめんなさい)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/40e0f729-9211-154e-3f35-1eff3201ec6c.png)

Discoveryを実施するにはMID ServerというServiceNowインスタンスからダウンロードできる実行体(プログラム)を収集したい機器のあるセグメント(分割されたネットワーク)に配置して起動させておく必要があります

Discoveryはスケジューリングで自動に実行したり任意の時間に手動で実行したりできます Discoveryの実行は命令情報に登録され、定期的に自分の命令情報を確認するMID Serverが見つけることで行われます MID ServerはLinux/Windowsマシン(かDocker)に配置する必要があります(MID ServerはDiscovery以外の用途にも使われます)

# Discoveryの実行
## Discovery Schedules
以下はスケジューリングする場合のDiscoveryの設定画面です Discoveryを実行するMID Serverを指定して名前をつけて保存します この設定を保存した後に表示される関連リストで探すIPの範囲を選択できます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/b3692cc4-35a6-0225-f5e3-61d14448eca4.png)

## Range set

IPの範囲は事前に定義することができます 以下は最初から設定されているPrivate IP Addressesの設定です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/31b4c336-d779-af1e-1cbf-e7ea0999b727.png)

## Probe/Sensor

指定されたIPの範囲で機器が見つかるとProbeでアクセスされます 以下が定義済みのProbeです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/48c3928d-86b9-94ef-457c-e90080be23e3.png)

Probeでアクセスされた機器はSensorで分類されます 以下がSensorの一覧です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/0afb7c62-7f92-f28d-9750-e1cb2275db77.png)

# Discoveryした情報の確認
## Dashboard

Discoveryした情報はDiscovery - Dashboardで確認することができます

以下DashboardはDiscoveryを実施していないので「表示するデータはありません」になってますが…本来は最近検出されたデータなどをグラフィカルなレポートで確認(この1週間でLinuxが何台、Windowsが何台とかだったかなと)することができます 空白になっている四角ブロックがレポートです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/263a1291-c348-8b81-c2d3-389f24e2415e.png)

## 機器(Linux)

収集された機器はDashboardのレポートをクリックしたりCMDBのメニューから遷移することで詳細なデータを確認できます

CMDBメニューは大量にあるのですが(今回は自分がかろうじて知識のある)Linuxの画面を確認したいと思いますので Configuration - Servers - Linux を選択します メニューを選択することでLinuxのレコード一覧を表示できます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/5cd32510-a961-7903-3632-a4efec80d9b5.png)

レコードをクリックして詳細画面を表示します デモデータなので所々抜けていますが…検出された機器の情報を確認することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/24b12204-9d76-f99e-f6c0-1dc5a7dce5dd.png)

画面下部の関連リストではインストールされているパッケージや実行中のプロセスを確認することもできます(デモデータなので空ですが…)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/b02e130d-affc-963d-70b9-f7e65d2bc4da.png)

画面中程のRelated Itemsの右側にある「Show dependency views」をクリックすると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/f0381d3a-171a-2de6-030e-c5ddd4515aee.png)

依存関係をグラフィカルに確認することができます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/b84e305e-0f8a-b113-f08b-e82df0b6d5c7.png)

# 収集出来る情報

Discoveryは「デバイスのタイプごとに一意のデータを収集し、専用のテーブル、フィールド、および関係に格納」らしくサーバ、ネットワークデバイス、データベース、ストレージ、クラウド、仮想化基盤といった機器を検出することができます 詳細と最新情報はServiceNowのドキュメントで確認できると思います

https://www.servicenow.com/docs/ja-JP/bundle/vancouver-it-operations-management/page/product/discovery/reference/data-collected-by-itom-visibility.html

# システム要件

こちらに大変詳しくまとめられています

https://servicenow-lab.com/mid-server-part1/#toc9

MID Serverを配置したセグメントからServiceNowインスタンスまでTCP443(HTTTPS)での通信が可能なこと、は必須です

# Appendix
## PDIにDiscovery Plugin/Demoデータのインストール

環境を構築する時間がないのでPlugin with DemoデータをInstallして確認してみます

:::note info
インスタンス上からインストールできない大きめの機能のようなのでDevelper siteからInstallします
:::

Developer Siteの右上のプロフィールをクリックして表示されるメニューでActivate Pluginを選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/9d6430fa-7311-8e20-afa7-86b3e930dbcb.png)

Activate Pluginで右上の検索窓にdiscoveryと入力して表示されたDiscoveryの[Activate]を選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/e25b687a-ae24-b4e8-02c9-46ecd0220cee.png)

[Activate]を選択するとインストール用のメニューが表示されるので"Activate plugins with demo data"を選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/0ffc6457-8d2c-0991-17ed-8b15b2d675a5.png)

しばらく放置します(自分は1日時間を置いてしまいました)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193272/81bde3d4-e468-dec0-d7a9-0a9e992930a3.png)

## MID Server

以前にMID ServerをWindows環境のDockerに構築した際のメモはこちらです

https://qiita.com/20_percent_cooler/items/d22f6462914aacd3a423