---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Apigee Edge Enterprise edition

# Apigee Edge Enterprise edition discovery {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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

ServiceNow Discovery uses the APIGee pattern to detect Apigee Edge Enterprise edition versions 4.x.x within your environment.
It leverages a built-in cache mechanism to collect data from Apigee API services, which Service Mapping then uses for top-down discovery of outgoing Apigee Edge connections.
To ensure comprehensive discovery, it may be necessary to update to the latest Discovery and Service Mapping Patterns application from the ServiceNow Store.
Show full answer Show less  

## Prerequisites and Configuration

* **Linux User Permissions:** A Linux OS user with elevated rights is required to execute commands such as `cat`, `ls`, `netstat`, `stat`, and specific cache folder commands for managing cache files. This user also needs permissions to run commands that manage cache creation, validation, cleanup, and API calls via `curl`.
* **Applicative Credentials:** Configure credentials with a name, username, password, and specify the CI type as `APIGee Service [cmdbciapplapigeesrv]`. Credentials must be activated and assigned to all or specific MID Servers, with an order defining the login attempt sequence.
* **System Properties:** Set `apigee.urls` to define Apigee environment URLs using a specific syntax separating URL number, environment type, and URLs. Configure `apigee.api.client.id` with the Apigee API Client ID, which the pattern uses as a header in `curl` API requests.
* **curl Command:** Ensure the `curl` command is installed on the Linux server hosting Apigee Edge to enable API interactions.

## Data Collected and Outcomes

When running the APIGee pattern, Discovery populates the ServiceNow CMDB with Apigee Edge service details, including:

* **Name:** Server hosting the Apigee Edge
* **Version:** Apigee Edge version
* **Installation Directory:** Location of Apigee Edge libraries and executables
* **Configuration Directory:** Location of configuration files

Note that the APIGee pattern itself does not create CI relationships. However, Service Mapping performs top-down discovery to identify outgoing connections from Apigee Edge to other CIs based on configured URLs.  
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 {#apigee-edge-discovery__section_gvb_cql_rlb}

Visit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) 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](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html).{#apigee-edge-discovery__inline-send-to-store}

## Prerequisites {#apigee-edge-discovery__section_yrc_13s_52b}

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](https://servicenow-prod.fluidtopics.net/KmX~uDsV3RoqnUbrW~2SFA "Service Mapping uses commands requiring elevated rights to discover and map Unix-based hosts in your organization. In addition to configuring necessary credentials, configure servers in your organization to allow Service Mapping to run these commands with elevated rights.").
:   In addition, provide this Linux user with permissions to run the following commands on the
    OS user home folder:  
    {#apigee-edge-discovery__table_pp2_lrs_52b__entry__2}

    | 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. |
    [ ]

    {#apigee-edge-discovery__table_pp2_lrs_52b}

Applicative credential
:   Configure the applicative credential as follows:  
    {#apigee-edge-discovery__table_p5x_2ys_52b__entry__2}

    | 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. |
    [Table 1. Applicative Credentials form]

    {#apigee-edge-discovery__table_p5x_2ys_52b}

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

    {#apigee-edge-discovery__ul_qym_lp2_fmb}

    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 {#apigee-edge-discovery__section_djwjsz_b3s_52b}

Discovery populates the data in the CMDB when running the APIGee pattern.  
{#apigee-edge-discovery__table_yyh_dcl_ncc__entry__2}

| 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. |
[Table 2. APIGee Service \[cmdb_ci_appl_apigee_srv\]]

{#apigee-edge-discovery__table_yyh_dcl_ncc}

## CI relationships {#apigee-edge-discovery__section_s3r_15ss_52b}

The APIGee pattern does not create any CI relationships.

## Data collected by Service Mapping during top-down discovery {#apigee-edge-discovery__section_tst_hz1_v2b}

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.

