Apache Web サーバーディスカバリー

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:18分
  • ディスカバリー は Windows と Linux の両方のコンピューター上で Apache Web サーバーに関する情報を識別して分類します。

    注:
    プローブからパターンへの移行の詳細については、ナレッジ記事 KB0694477を参照してください。

    認証情報

    ディスカバリーおよびサービスマッピングに必要な特権コマンドのリストについては、「特権ユーザーを必要とする サービスマッピング コマンド」を参照して、組織内で Unix ベースのホストを検出およびマッピングするために、昇格された権限を必要とするコマンドのリストを確認してください。

    分類子、パターン、プローブ

    分類子 トリガープローブ パターン
    Apache サーバー
    • 水平ディスカバリープローブ:パターンを起動します。
    • Apache - バージョン*
    • Apache - 構成を取得*
    • Apache - JK ModuleApache を取得 - プロキシーモジュールを取得*
    • Windows 上 Apache のパターン
    • Unix 上 Apache のパターン
    * 新規インスタンスの場合、これらのプローブは分類子で非アクティブになります。ディスカバリーは検出用のパターンを使用します。

    パターンを使用するには、分類子の水平パターンプローブに正しいパターンが指定されていることを確認します。手順については、「分類子への水平パターンプローブの追加」を参照してください。

    プローブを使用して収集されたデータ

    ディスカバリーは Unix と Windows の両方について、Apache [cmdb_ci_apache_web_server] テーブルで次のデータを収集します。
    ラベル フィールド名
    名前 name
    バージョン version
    説明 description
    TCP ポート tcp_port

    トップダウンディスカバリー中に サービスマッピング によって検出される接続

    サービスマッピング では、ディスカバリーパターンを使用して次の接続を検出します。
    • Java を使用するすべてのアプリケーション
    • LDAP ポートを使用するすべてのアプリケーション
    • Oracle WebLogic Module Oracle、WebLogic サーバー (バージョン 10.3)
    • (Windows 上のみ) Jiva アプリケーション
    • (Windows 上のみ) Tomcat サーバー
    • (UNIX 上のみ) mod_jk プロセスを使用して検出されたアプリケーション
    • (UNIX 上のみ) Apache Web サーバーが負荷分散モードで接続しているホスト
    • (UNIX 上のみ) エピックアプリケーション

    Apache mod_jk および mod_proxy の検出

    ディスカバリーは SSH を使用して Apache のコネクタ mod_jk および mod_proxy を検索します。

    ディスカバリー は [Unix - アクティブプロセス (Unix - Active Processes)] プローブを使用して、プロセスの [名前] が次の基準に一致する Apache Web サーバープロセスを識別します。
    • httpd、または
    • apache、または
    • httpd2、または
    • httpd2-prefork
    • httpd.worker

    これらのいずれかの基準に一致する場合、その実行中のプロセスのレコードがまだ存在しなければ、Web サーバー [cmdb_ci_web_server] テーブルにレコードが作成されます。

    分類の後に、次のプローブがトリガーされます。
    表 : 1. Apache Web サーバープローブ
    プローブ 説明 コマンド
    Apache - バージョン このプローブのセンサーは Web サーバーレコードの Apache バージョン情報を入力します。 httpd
    Apache - 構成を取得 このプローブには Bourne シェルスクリプトと、Apache 構成ファイルのパスを決定する引数が含まれています。このプローブのセンサーは Web サーバーレコードの一部の追加情報を入力します。 echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内)
    [Apache - 構成を取得 (Apache - Get Configuration)] プローブのセンサー処理は、mod_jk または mod_proxy モジュールのいずれかが存在しているかどうかを識別し、適切なプローブをトリガーします。
    表 : 2. Apache モジュールのプローブ
    プローブ 説明 コマンド
    Apache - JK モジュールを取得 mod_jk モジュールがサーバー上のロードバランサーとして実行されている場合、このプローブのセンサーはロードバランサーサービス [cmdb_ci_lb_service]、ロードバランサープール [cmdb_ci_lb_pool]、ロードバランサープールメンバー [cmdb_ci_lb_pool_member] テーブルに情報を入力します。 echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内)
    Apache - プロキシーモジュールを取得 mod_proxy モジュールがサーバー上のロードバランサーとして実行されている場合、このプローブのセンサーはロードバランサーサービス [cmdb_ci_lb_service]、ロードバランサープール [cmdb_ci_lb_pool]、ロードバランサープールメンバー [cmdb_ci_lb_pool_member] テーブルに情報を入力します。 grep、egrep (Bourne シェルスクリプト内)
    データの入力だけでなく、次の関係が CI 関係 [cmdb_rel_ci] テーブルに作成されます。
    • cmdb_ci_lb_appl テーブル内のレコードは cmdb_ci_web_server テーブルレコードで実行されます。
    • cmdb_ci_lb_service テーブル内のレコードは cmdb_ci_lb_pool テーブルレコードを使用します。
    • cmdb_ci_lb_pool テーブル内のレコードは cmdb_ci_service テーブルレコードによって使用されます。
    • cmdb_ci_lb_pool テーブル内のレコードは cmdb_ci_lb_pool_member テーブルのメンバーです。
    • cmdb_ci_lb_pool_member テーブル内のレコードは cmdb_ci_lb_pool テーブルのメンバーです。

    従来:Unix - アクティブプロセスプローブの sudo アクセスの追加

    Apache Web サーバーの場合、Unix - アクティブプロセスプローブには sudo 権限が必要です。

    始める前に

    必要なロール:admin

    このタスクについて

    Unix - アクティブプロセスプローブを構成して、権限を昇格させることができます。

    手順

    1. 移動先 すべて > ディスカバリー > プローブ.
    2. [検索] フィールドで Unix - アクティブプロセスを検索します。
    3. フィールドをクリックし、Unix - アクティブプロセスを検索します。
    4. [プローブパラメーター] 関連リストで [新規] をクリックします。
    5. [新規] をクリックします。
    6. フォームに記入するには、次の情報を使用します。
      プローブ コマンド
      名前 must_sudo
      true
    7. [送信] をクリックします。

    mod_jk モジュールによって収集されるデータ

    Apache mod_jk モジュールは、Apache Web サーバーから Tomcat などのサーブレットコンテナーに要求を転送します。

    追加の mod_jk ディレクティブを使用して負荷分散を管理することもできます。ディスカバリーは Apache サーバーを検出すると CMDB に入力します。Apache Web サーバープロセスが検出されると、mod_jk モジュールがロードバランサーとして Web サーバー上で実行されている場合、関連情報が CMDB に入力されます。

    • ターゲットサーバーを探索する MID サーバーユーザーアカウントには、 /etc/httpd/conf/ フォルダー内の [httpd.conf} 構成ファイルへのアクセス権が必要です。
    • ディスカバリーはセキュアシェル (SSH) コマンドを使用して、次の関連要素を識別します。
      • Apache 構成を取得
      • Apache バージョン
      • Apache JK モジュールを取得
    • 次のプローブには、コマンドを実行するための実行権限が必要です。
      表 : 3. 実行権限が必要なプローブ
      プローブ コマンド
      Apache - 構成を取得 echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内)
      Apache - バージョン httpd
      Apache - JK モジュールを取得 echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内)

    プローブとセンサー

    ディスカバリーは Unix - アクティブプロセスプローブを使用して、mod_jk モジュールを含む Apache サーバーを識別します。

    1. Unix - アクティブプロセスプローブは、次のいずれかの基準に一致する実行中のプロセスを検出します。
      • プロセスの名前は httpd です。
      • プロセスの名前は apache です。
    2. これらのいずれかの基準に一致する場合、その実行中のプロセスのレコードがまだ存在しないと、Web サーバーテーブル [cmdb_ci_web_server] にレコードが作成されます。次のプローブもトリガーされます。
      • Apache - バージョン:このプローブのセンサーは Web サーバーレコードの Apache バージョン情報を入力します。
      • Apache - 構成を取得:このプローブには Bourne シェルスクリプトと、Apache 構成ファイルのパスを決定する引数が含まれています。このプローブのセンサーは Web サーバーレコードの一部の追加情報を入力します。
    3. Apache - 構成を取得プローブの結果のセンサー処理は、mod_jk モジュールが Web サーバー上で実行されている場合、次のプローブをトリガーします。

      Apache - JK モジュール:mod_jk モジュールがサーバー上のロードバランサーとして実行されている場合、このプローブのセンサーはロードバランサーサービス [cmdb_ci_lb_service]、ロードバランサープール [cmdb_ci_lb_pool]、ロードバランサープールメンバー [cmdb_ci_lb_pool_member] テーブルに情報を入力します。

    収集されるデータ

    ロードバランサーを持たない mod_jk モジュールの場合、デフォルトでは次のデータが収集されます。
    表 : 4. ディスカバリーによってデフォルトで収集されるデータ
    テーブル名 フィールドとラベル名 プローブ
    cmdb_ci_web_server 名前 [name] Apache - 構成を取得
    cmdb_ci_web_server バージョン [version] Apache - バージョン
    cmdb_ci_web_server 説明 [short_description] Apache - バージョン
    mod_jk モジュールが負荷分散に対して有効になっている場合、ディスカバリーは次のデータを接続します。
    表 : 5. mod_jk モジュールがロードバランサーとして識別されたときに、ディスカバリーによって収集されるデータ
    テーブル名 フィールドとラベル名 プローブ
    cmdb_ci_lb_appl 名前 [name] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_appl IP アドレス [ip_address] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_appl 前回検出 [last_discovered] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool_member 名前 [name] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool_member 前回検出 [last_discovered] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool_member IP アドレス [ip_address] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool_member ロードバランサー [load_balancer] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool_member ポート [port] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service 入力 URL [Input_url] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service 前回検出 [last_discovered] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service IP アドレス [ip_address] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service 名前 [name] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service ロードバランサー [load_balancer] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_service ポート [port] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool 前回検出 [last_discovered] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool 負荷分散方法 [load_balancing_method] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool ロードバランサー [load_balancer] Apache - Apache - JK モジュールを取得
    cmdb_ci_lb_pool 名前 [name] Apache - Apache - JK モジュールを取得

    リレーションシップ

    データの入力だけでなく、次の関係が CI 関係 [cmdb_rel_ci] テーブルに作成されます。
    • cmdb_ci_lb_appl テーブル内のレコードは cmdb_ci_web_server テーブルレコードで実行されます。
    • cmdb_ci_lb_service テーブル内のレコードは cmdb_ci_lb_pool テーブルレコードを使用します。
    • cmdb_ci_lb_pool テーブル内のレコードは cmdb_ci_service テーブルレコードによって使用されます。
    • cmdb_ci_lb_pool テーブル内のレコードは cmdb_ci_lb_pool_member テーブルのメンバーです。
    • cmdb_ci_lb_pool_member テーブル内のレコードは cmdb_ci_lb_ pool テーブルのメンバーです。

    mod_proxy モジュールによって収集されるデータ

    Apache mod_proxy モジュールは Apache Web サーバーのプロキシー、ゲートウェイ、またはキャッシュを実装します。

    追加の mod_proxy_balancer を使用して負荷分散を管理することもできます。ディスカバリーは Apache サーバーを検出すると CMDB に入力します。Apache Web サーバープロセスが検出されると、mod_proxy モジュールがロードバランサーとして Web サーバー上で実行されている場合、関連情報が CMDB に入力されます。
    mod_proxy モジュールを含む Apache サーバーを検出するには、次の要件を考慮してください。
    • ターゲットサーバーを探索する MID サーバーユーザーアカウントには、 /etc/httpd/conf/ フォルダー内の [httpd.conf] 構成ファイルへのアクセス権が必要です。
    • ディスカバリーはセキュアシェル (SSH) コマンドを使用して、次の関連要素を識別します。
      • Apache 構成を取得
      • Apache バージョン
      • Apache プロキシーモジュールを取得
    • 次のプローブには、コマンドを実行するための実行権限が必要です。
      表 : 6. mod_jk モジュールから収集されるデータ
      プローブ コマンド
      Apache - 構成を取得 echo、sed、httpd、cut、grep、egrep (Bourne シェルスクリプト内)
      Apache - プロキシーモジュールを取得 grep、egrep (Bourne シェルスクリプト内)
      Apache - バージョン httpd

    プローブとセンサー

    ディスカバリーは Unix - アクティブプロセスプローブを使用して、mod_proxy モジュールを含む Apache サーバーを識別します。プローブとセンサーは次のように動作します。
    1. Unix - アクティブプロセスプローブは、次のいずれかの基準に一致する実行中のプロセスを検出します。
      • プロセスの名前は httpd です。
      • プロセスの名前は apache2 です。
    2. これらのいずれかの基準に一致する場合、その実行中のプロセスのレコードがまだ存在しないと、Web サーバーテーブル [cmdb_ci_web_server] にレコードが作成されます。次のプローブもトリガーされます。
      • Apache - バージョン:このプローブのセンサーは Web サーバー [cmdb_ci_web_server] レコードの Apache バージョン情報を入力します。
      • Apache - 構成を取得:このプローブには Bourne シェルスクリプトと、Apache 構成ファイルのパスを決定する引数が含まれています。このプローブのセンサーは Web サーバー [cmdb_ci_web_server] レコードの一部の追加情報を入力します。
    3. Apache - 構成を取得プローブの結果のセンサー処理は、mod_proxy モジュールが Web サーバー上で実行されている場合、次のプローブをトリガーします。

      Apache - プロキシーモジュールを取得:mod_proxy モジュールがサーバー上のロードバランサーとして実行されている場合、このプローブのセンサーはロードバランサーサービス [cmdb_ci_lb_service]、ロードバランサープール [cmdb_ci_lb_pool]、ロードバランサープールメンバー [cmdb_ci_lb_pool_member] テーブルに情報を入力します。

    収集されるデータ

    ロードバランサーを持たない mod_proxy モジュールの場合、デフォルトでは次のデータが収集されます。
    表 : 7. ディスカバリーによってデフォルトで収集されるデータ
    テーブル名 フィールドとラベル名 プローブ
    cmdb_ci_web_server 名前 [name] Apache - 構成を取得
    cmdb_ci_web_server バージョン [version] Apache - バージョン
    cmdb_ci_web_server 説明 [short_description] Apache - バージョン
    mod_proxy モジュールが負荷分散に対して有効になっている場合、ディスカバリーは次のデータを接続します。
    表 : 8. mod_proxy モジュールがロードバランサーとして識別された場合に、ディスカバリーによって収集されるデータ
    テーブル名 フィールドとラベル名 プローブ
    cmdb_ci_lb_appl IP アドレス [ip_address] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_appl 前回検出 [last_discovered] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool_member 名前 [name] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool_member 前回検出 [last_discovered] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool_member IP アドレス [ip_address] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool_member ロードバランサー [load_balancer] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool_member ポート [port] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service 入力 URL [Input_url] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service 前回検出 [last_discovered] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service IP アドレス [ip_address] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service 名前 [name] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service ロードバランサー [load_balancer] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_service ポート [port] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool 前回検出 [last_discovered] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool 負荷分散方法 [load_balancing_method] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool ロードバランサー [load_balancer] Apache - プロキシーモジュールを取得
    cmdb_ci_lb_pool 名前 [name] Apache - プロキシーモジュールを取得

    リレーションシップ

    データの入力だけでなく、次の関係が CI 関係 [cmdb_rel_ci] テーブルに作成されます。
    • cmdb_ci_lb_appl テーブル内のレコードは cmdb_ci_web_server テーブルレコードで実行されます。
    • cmdb_ci_lb_service テーブル内のレコードは cmdb_ci_lb_pool テーブルレコードを使用します。
    • cmdb_ci_lb_pool テーブル内のレコードは cmdb_ci_service テーブルレコードによって使用されます。
    • cmdb_ci_lb_pool 内のレコードは cmdb_ci_lb_pool_member テーブルレコードのメンバーです。
    • cmdb_ci_lb_pool_member 内のレコードは cmdb_ci_lb_pool テーブルレコードのメンバーです。