Apigee Edge Enterprise edition discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 4 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 Apigee Edge Enterprise edition discovery

    The ServiceNow Discovery application includes an APIGee pattern designed to discover Apigee Edge Enterprise edition versions 4.x.x. This discovery process relies on a local cache mechanism that aggregates data from API services, enabling Service Mapping to perform top-down discovery and identify outgoing Apigee Edge connections.

    Show full answer Show less

    Prerequisites and Setup

    • Linux User Permissions: A Linux OS user with elevated rights is required to run commands like cat, ls, netstat, and stat. Additional permissions are needed for specific cache management commands related to folder creation, verification, cleanup, and API response retrieval.
    • Applicative Credentials: You must configure credentials with a user name and password for the APIGee Service CI type (cmdbciapplapigeesrv). These credentials are essential for discovery and should be assigned to appropriate MID Servers with a defined order to manage login attempts efficiently.
    • Curl Command: Ensure the curl command is installed on the Linux server hosting Apigee Edge, as it is used to query API responses during discovery.
    • System Properties: Configure the apigee.urls property to list Apigee environment URLs using a specific syntax that includes URL number, environment type, and delimiters. Also, set the apigee.api.client.id property with the Apigee API Client ID to authenticate API calls.

    How Discovery Works

    The APIGee pattern collects Apigee Edge data into a local cache file and then Service Mapping utilizes these cache files to discover outgoing connections from Apigee Edge to other configuration items (CIs). The discovery populates Apigee Edge details into the CMDB under the APIGee Service [cmdbciapplapigeesrv] CI type.

    Data Collected

    • Name: Server hosting Apigee Edge.
    • Version: Apigee Edge version number.
    • Installation Directory: Location of Apigee Edge libraries and executables.
    • Configuration Directory: Location of Apigee Edge configuration files.

    Note: The APIGee pattern itself does not create CI relationships, but Service Mapping uses the configured URLs to identify related connections and dependencies during top-down discovery.

    Practical Benefits for ServiceNow Customers

    By implementing this discovery pattern, customers can automate the identification and inventory of Apigee Edge Enterprise edition instances and their configurations within their CMDB. This enables improved visibility into API gateways, their versions, and environments, supporting better service management and operational insights without manual tracking. The local cache and system properties configuration allow for scalable and secure discovery aligned with the customer’s Apigee environments.

    The ServiceNow Discovery application uses the APIGee pattern to find Apigee Edge Enterprise edition versions 4.x.x. Discovering some of these resources may require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.

    The APIGee pattern uses a built-in cache mechanism that collects data from each API service into a local cache file. Service Mapping performs top-down discovery on these cache files to find outgoing Apigee Edge connections.

    Request apps on the Store

    Visit the ServiceNow Store website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.

    Prerequisites

    Linux user
    Provide the Linux operating system (OS) user with elevated rights for running the cat, ls, netstat, and stat commands. For more information, see Service Mapping commands requiring a privileged user.
    In addition, provide this Linux user with permissions to run the following commands on the OS user home folder:
    Command Description
    "date +%s" Gets the current date.
    "ls -d $HOME/APIGee_Cache/cache_folder*" Gets the last cache folder.
    "mkdir-p $HOME/APIGee_Cache/cache_folder_" + $today + ";ls -d$HOME/APIGee_Cache/cache_folder_" + $today Creates the cache file if the cache file is empty.
    "ls -d $HOME/APIGee_Cache/cache_folder*" Verifies that the cache file has been created.
    "echo `expr " + $today + " -" + $current_date+ "`” Calculates the gap between the folder creation time and the current date.
    "if [ " + $diff + " -ge" + $week_seconds+ " ]; then echo true; fi” Checks if it is necessary to recreate the folder.
    "ls" + $cache_folder+ "/* | sort | xargsgrep -l " + $entry_point.source_url Checks if existing cache files contain the source URL that you enter as the entry point for the service.
    "rm-rf" + $cache_folder+ ";mkdir-p $HOME/APIGee_Cache/cache_folder_" + $today + ";ls -d $HOME/APIGee_Cache/cache_folder_" + $today Removes old cache files.
    “curl -k -X GETurl-H '<ClientID>: <Token>’” Gets the API response for the given token.
    "ls" + $cache_folder+ "/* | sort | xargsgrep -l " + $entry_point.source_url Gets the URL definition from the cache file.
    Applicative credential
    Configure the applicative credential as follows:
    Table 1. Applicative Credentials form
    Field Description
    Name The credential name, for example Apigee token.
    Active Check box for enabling this credential for discovery.
    User name The name of the user of this applicative credential. You can use any user for the credential for this pattern, since the information is extracted from a local cache.
    Password The actual user password of this applicative credential.
    CI type The CI type for which this credential is used: APIGee Service [cmdb_ci_appl_apigee_srv].
    Note:
    ServiceNow applications refer to devices and applications that comprise a service instance as configuration items (CIs).
    Applies to Select whether to apply these credentials to All MID servers in your network, or to one or more Specific MID servers. Specify the MID Servers that should use these credentials in the MID servers field.
    Order Enter the order (sequence) in which the platform tries this credential as it attempts to log on to devices. The smaller the number, the higher in the list this credential appears. Establish credential order when using large numbers of credentials or when security locks out users after three failed login attempts. If all the credentials have the same order number (or none), the instance tries the credentials in a random order.
    curl command
    Make sure that the curl command is installed on the Linux server hosting Apigee Edge.
    Configure system properties
    • To create top-down outgoing Apigee Edge connections, configure the Apigee URLs (apigee.urls) system property using the following syntax:

      01#DVL#https://<url1>.com/dashboard/v1/targetServers/dvl### 02#QA#https://<url2>.com/dashboard/v2/targetServers/qa###

      Where

      01 is the URL number.

      DVL is the environment type, like development.

      # is the delimiter between the attributes. Place it exactly where it is in the example above.

      ### is the delimiter between URLs.

    • Configure the Apigee API Client ID (apigee.api.client.id) system property by entering the Apigee API Client ID in the Value field. The pattern uses this property as header for the curl command with the token:

      curl -k -X GET " + url + " -H ' apigee.api.client.id: " + token

    The pattern populates these two system properties using the Add Apigee URLs and Apigee api client id sa_pre_task_script.

    Data collected by Discovery for Apigee Edge Enterprise edition

    Discovery populates the data in the CMDB when running the APIGee pattern.

    Table 2. APIGee Service [cmdb_ci_appl_apigee_srv]
    Field Description
    Name [name] The name of the server hosting the Apigee Edge.
    Version [version] The version of the Apigee Edge.
    Installation directory [install_directory] The folder containing all the Apigee Edge libraries and executable files.
    Configuration directory [config_directory] The folder containing all the Apigee Edge configuration files.

    CI relationships

    The APIGee pattern does not create any CI relationships.

    Data collected by Service Mapping during top-down discovery

    The APIGee pattern identifies connections from the Apigee Edge to other CIs based on the URL you configure in the connection section of the pattern.