NGINX Web サーバーディスカバリー
NGINX はロードバランサーを備えたオープンソース Web サーバーです。ディスカバリーは、ロードバランサーに関連する Web サーバーと情報を識別します。
ディスカバリーは次のプロセスを使用して NGINX サーバーソフトウェアを識別します。
- Linux サーバーの探索中、NGINX プロセス分類子は次の基準に一致する実行中のプロセスを検出します。
- nginx で始まる名前
- master が含まれる名前
- 一致するものがある場合、次の処理が行われます。
- NGINX Web サーバー [cmdb_ci_nginx_web_server] テーブルにレコードが作成されます。
- Linux サーバー (Linux サーバー [cmdb_ci_linux_server]) と NGINX Web サーバー (NGINX Web サーバー [cmdb_ci_nginx_web_server]) について、CI 関係 [cmdb_rel_ci] テーブルに実行場所の関係が作成されます。次の 2 つのプローブがトリガーされます。ServiceNow インスタンスのセンサーによってペイロード結果が解析され、CMDB に入力されます。
- NGINX - バージョン:このプローブには Bourne シェルスクリプトが含まれています。これによって NGINX のバージョンを決定され、NGINX Web サーバー [cmdb_ci_nginx_web_server] テーブルが入力されます。
- NGINX - 構成を取得:このプローブには Bourne シェルスクリプトと、NGINX 構成ファイルのパスを決定する引数が含まれています。プローブは構成ファイル内のキーワードに基づいて設定パラメータ―を識別し、それらを単一のペイロード結果として返します。
NGINX Web サーバーを検出するには、次の要件が必要です。
- NGINX がサーバーにインストールされ、そこで実行されている。
- MID サーバーに NGINX 構成ファイル (デフォルトでは
etc/nginx/nginx.conf) へのアクセス権がある。
要件
NGINIX サーバーの場合
- NGINX ソフトウェアがサーバーにインストールされ、そこで実行されている。
- MID サーバーに NGINX 構成ファイル (デフォルトでは /etc/nginx/nginx.conf) へのアクセス権を付与する。
- セキュアシェル (SSH) コマンドを有効にして、次の関連要素を識別します。
- NGINX バージョン
- NGINX 構成を取得
次のプローブには、コマンドを実行するための実行権限が必要です。
| プローブ | コマンド |
|---|---|
| Nginx – バージョン | nginx |
| Nginx - 構成を取得 | echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内) |
プローブとセンサー
ディスカバリー は次のプロセスを使用して NGINX サーバーソフトウェアを識別します。
- UNIX サーバーの探索中、Nginx プロセス分類子は次の基準に一致する実行中のプロセスを検出します。
- プロセスの名前は nginx で始まります。
- プロセスの名前には master が含まれています。
- 一致するものがある場合、次の処理が行われます。
- レコードは、Web サーバー [cmdb_ci_web_server] テーブルに作成されます。
- 実行場所 の関係が、Linux サーバー [cmdb_ci_linux_server] テーブルと Web サーバー [cmdb_ci_web_server] テーブルの、CI 関係 [cmdb_rel_ci] テーブルに作成される。
- 次の 2 つのプローブがトリガーされます。
- Nginx - バージョン:このプローブには Bourne シェルスクリプトが含まれています。これによって NGINX のバージョンを決定され、Web サーバー [cmdb_ci_web_server] テーブルが入力されます。
- Nginx - 構成を取得: このプローブには Bourne シェルスクリプトと、NGINX 構成ファイルのパスを決定する引数が含まれています。プローブは構成ファイル内のキーワードに基づいて設定パラメータ―を識別し、それらを単一のペイロード結果として返します。
- ServiceNow インスタンスのセンサーによってペイロードが処理され、CMDB に入力されます。
収集されるデータ
ディスカバリー は実行中の NGINX プロセスを検出すると、CMDB レコードを作成または更新します。次のデータが収集されます。
| テーブル名 | フィールドとラベル名 | プローブ |
|---|---|---|
| 名前 | cmdb_ci_lb_appl [name] | Nginx - 構成を取得 |
| IP アドレス | cmdb_ci_lb_appl [ip_address] | Nginx - 構成を取得 |
| 最後に検出 | cmdb_ci_lb_appl [last_discovered] | Nginx - 構成を取得 |
| バージョン | cmdb_ci_lb_appl [version] | Nginx - バージョン |
| 名前 | cmdb_ci_lb_pool_member [name] | Nginx - 構成を取得 |
| 最後に検出 | cmdb_ci_lb_pool_member [last_discovered] | Nginx - 構成を取得 |
| IP アドレス | cmdb_ci_lb_pool_member [ip_address] | Nginx - 構成を取得 |
| ロードバランサ | cmdb_ci_lb_pool_member [load_balancer] | Nginx - 構成を取得 |
| 完全修飾ドメイン名 | cmdb_ci_lb_pool_member [fqdn] | Nginx - 構成を取得 |
| ポート | cmdb_ci_lb_pool_member [port] | Nginx - 構成を取得 |
| 最後に検出 | cmdb_ci_lb_service [last_discovered] | Nginx - 構成を取得 |
| IP アドレス | cmdb_ci_lb_service [ip_address] | Nginx - 構成を取得 |
| 名前 | cmdb_ci_lb_service [name] | Nginx - 構成を取得 |
| ロードバランサ | cmdb_ci_lb_service [load_balancer] | Nginx - 構成を取得 |
| 入力 URL | cmdb_ci_lb_service [input_url] | NGINX - 構成を取得 |
リレーションシップ
テーブル [cmdb_rel_ci] には次の関係が入力されます。
- cmdb_ci_lb_appl テーブル内のレコードは cmdb_ci_web_server テーブルレコードで実行されます。
- cmdb_ci_lb_service テーブル内のレコードは cmdb_ci_lb_pool テーブルレコードを使用します。
- cmdb_ci_pool テーブル内のレコードは cmdb_ci_service テーブルレコードによって使用されます。
- cmdb_ci_pool テーブル内のレコードは cmdb_ci_pool_member テーブルのメンバーです。
- cmdb_ci_pool_member テーブル内のレコードは cmdb_ci_pool テーブルのメンバーです。