WebLogic application server discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of WebLogic Application Server Discovery

    WebLogic application server discovery in ServiceNow automatically creates or updates Configuration Management Database (CMDB) records for Oracle or BEA WebLogic servers running on Windows or Linux systems. This process helps maintain accurate and up-to-date CMDB data by detecting WebLogic instances and gathering detailed application server and web application information.

    Show full answer Show less

    Requirements

    • Windows: PowerShell must be enabled on the MID Server. WebLogic Admin Server instances started via NodeManager require the -Dweblogic.RootDirectory=<path> parameter on startup. The Windows credential used must have read access to the config.xml file.
    • Linux: Discovery relies on Bourne shell commands such as find, cat, and dirname. Admin Server instances must have the -Dweblogic.RootDirectory=<path> parameter visible in the process list. The SSH user needs passwordless sudo access to run shell scripts (configured in /etc/sudoers) for the WebLogic - Find config.xml probe.

    Credentials

    Discovery requires the following credentials:

    • Applicative credentials
    • Windows credentials
    • SSH credentials (for Linux systems)

    Classifier, Patterns, and Probes

    Discovery uses a classifier with trigger probes and a horizontal pattern to identify WebLogic servers. Key probes include:

    • Windows: Windows - Weblogic - Get web.xml, Windows - Weblogic - Find config.xml
    • Linux: Linux - Weblogic - Find config.xml

    For new instances, probes are initially inactive on the classifier. Patterns must be enabled and correctly specified on the classifier’s horizontal pattern probe for discovery to work effectively.

    Data Collected

    Discovery gathers detailed information to populate CMDB tables:

    • WebLogic Application Server (cmdbciappserverweblogic): name, version, WebLogic domain, TCP ports, and running process details.
    • Web Applications (cmdbciwebapplication): application name, document base, description, servlet class and name, app server, TCP ports, and context path.

    Data sources include config.xml, web.xml, and live running processes.

    Relationships

    Discovery establishes key relationships between CI classes to represent WebLogic topology:

    • Runs on: WebLogic server runs on Windows or Linux server CI.
    • Contains: WebLogic server contains one or more web applications.
    • Depends on: Links between AdminServer and managed servers within WebLogic.

    Configuration Tips

    • For Linux, if not using the WebLogic pattern, assign sudo privileges to the WebLogic - Find config.xml probe to allow script execution without password prompts.
    • Do not modify the findcat.sh script used in Linux discovery.
    • If using probes instead of patterns, set the mustsudo=true parameter on the Linux WebLogic Find config.xml probe.

    Practical Impact for ServiceNow Customers

    This discovery capability enables customers to automatically and accurately detect WebLogic application servers and their deployed applications across Windows and Linux environments. It ensures CMDB records are comprehensive and correctly related, supporting IT operations, service mapping, and impact analysis. Proper credential configuration, server startup parameters, and probe settings are critical to successful discovery and data quality.

    Discovery creates or updates a CMDB record when it detects an instance of an Oracle or BEA Weblogic application server running on a Windows or Linux system.

    Requirements

    For Windows
    • PowerShell must be enabled on the MID Server.
    • The WebLogic Administration Server instances that start via WebLogic NodeManager must have the -Dweblogic.RootDirectory=<path> parameter defined upon server startup. The Windows credential must also have read permissions on the config.xml file.
    For Linux
    • Discovery requires the use of these Bourne shell commands:
      • find
      • cat
      • dirname
    • WebLogic administration server instances started via NodeManager must have the -Dweblogic.RootDirectory=<path> parameter defined and visible through the Linux ps process stat command (for each AdminServer) for the rest of the Linux WebLogic application server and web application information to be populated in the CMDB.
    • The following configuration must be set on the sudorers file:

      User ALL=(root) NOPASSWD: /bin/sh *

      User is the user name on the SSH credential that you create for this discovery.

    • This command must be able to be run:

      /bin/sh /tmp/snc-*-findcat.sh * *"

      Do not make any changes to findcat.sh.

    • If you are using probes, not patterns, for Weblogic discovery, the Linux - Weblogic - Find config.xml probe must specify this parameter and value: must_sudo = true
    Note:
    For information on Probe to Pattern migration see the knowledge article KB0694477.

    Credentials

    Classifier, pattern, and probes

    Classifier Trigger probes Pattern
    Weblogic Server
    • Horizontal Pattern: launches patterns
    • Windows - Weblogic - Get web.xml*
    • Windows - Weblogic - Find config.xml*
    • Linux - Weblogic - Find config.xml*
    WebLogic
    *For new instances, these probes are inactive on the classifier. Discovery uses patterns for discovery.

    To use patterns, verify that the correct pattern is specified in the horizontal pattern probe on the classifier. See Add the Horizontal Pattern probe to a classifier for instructions.

    Data collected on Windows

    Label Table Name Field Name Source
    Name cmdb_ci_app_server_weblogic name running process
    Version cmdb_ci_app_server_weblogic version config.xml
    Weblogic domain cmdb_ci_app_server_weblogic weblogic_domain config.xml
    TCP port(s) cmdb_ci_app_server_weblogic tcp_port web.xml and running process
    Name cmdb_ci_web_application name config.xml
    Document base cmdb_ci_web_application document_base config.xml
    Description cmdb_ci_web_application description web.xml
    Servlet class cmdb_ci_web_application servlet_class web.xml
    Servlet name cmdb_ci_web_application servlet_name web.xml
    App server cmdb_ci_web_application app_server config.xml
    TCP port(s) cmdb_ci_web_application tcp_port web.xml

    Data collected on Linux

    Table Field Source
    cmdb_ci_app_server_weblogic Name (name) running process
    cmdb_ci_app_server_weblogic TCP port (tcp_port) running process
    cmdb_ci_app_server_weblogic Version (version) config.xml
    cmdb_ci_app_server_weblogic Weblogic domain (weblogic_domain) config.xml
    cmdb_ci_web_application Name (name) config.xml
    cmdb_ci_web_application Context path (context_path) config.xml
    cmdb_ci_web_application App server (app_server) config.xml

    Relationship

    Parent class Relationship type Child class
    cmdb_ci_app_server_weblogic Runs on::Runs cmdb_ci_windows_server or cmdb_ci_linux_server
    cmdb_ci_app_server_weblogic Contains::Contained by cmdb_ci_web_application
    cmdb_ci_app_server_weblogic Depends on::Used by cmdb_ci_app_server_weblogic

    This relationship is made between an AdminServer and any managed servers it encapsulates.

    Figure 1. Example Weblogic relationships
    Example weblogic relationships