Google Cloud Platform discovery
-
- UpdatedFeb 1, 2024
- 13 minutes to read
- Washington DC
- Discovery
Discovery finds Google Cloud Platform and its components. Discovering some of these resources requires updating the Discovery and Service Mapping Patterns application from the ServiceNow Store.
Request new or enhanced Patterns on the ServiceNow® Store
Visit the ServiceNow Store to view all the available updates 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.
Data discovered for the Google Cloud Platform components offers visibility for multiple ServiceNow products, including Cloud Provisioning and Governance.
Discovery uses multiple patterns to find GCP components.
Prerequisites
- Verify that the applications are up to date.
- Discovery and Service Mapping Patterns starting version 1.8.0 (September 2023)
- CMDB CI Class Model starting version 1.49.0 (September 2023)
- Visibility Content starting version 6.13.0 (September 2023)
- MID Server requirements
-
- Use a dedicated MID Server for cloud discovery. The MID Server must have 16 Cores, 8 GB with 4 GB Java Memory Model (JVM) memory allocation.
- Deploy and connect the dedicated MID Server with internet access.
- For more information on the MID Server configurations, see Install and configure MID Servers for Cloud Discovery and Cloud Provisioning and Governance.
- Google Cloud BigQuery and Google Cloud Bigtable
- To discover Google Cloud BigQuery and Google Cloud Bigtable, ensure that the sn_itom_pattern.google_dbservice_table_collection property is set to True.
- User role settings
Set the user permission for the Google Cloud Platform member to Viewer:
- In the Google Cloud Platform console, navigate to IAM.
- Select the relevant member from the list and click the Edit icon.
- In the Edit permissions window, select Viewer from the Role list.
- Click Save.
- MID Server form
- Set the MID Server supported applications to Discovery. Set the MID Server capabilities to Google. For more information, see MID Server capabilities.
- Verify the configuration of the Google API Credentials
- For more information, see Configure the Google API credentials for Cloud Discovery
- (Optional) Create a Google Cloud Platform service account
- Create a GCP service account to use the results of this discovery in Cloud Provisioning and Governance. Use the credentials that you defined earlier, in the Credentials procedure, for the service account.
- Navigate to .
- Click New, fill in the form, and then click Submit. For more information, see Cloud credentials.
- Enable collecting cloud logging events
- The Google Cloud Platform patterns can collect cloud logging events generated by the native Google Cloud APIs. Configure the Google Cloud's Operations Suite Logging service to auto-update the CMDB.
- Activate the cloud-related CI relationships
- To include discovered components into application services, enable CI relationships used in tag-based discovery by Service Mapping. These CI relationships are available from the 1.0.68 release on the ServiceNow Store. For operational steps, see Tag-based discovery configuration.
- Verify that a Discovery schedule is configured
- For more information, see Create a discovery schedule in Cloud Discovery Workspace
Verify the REST API Permissions
Download the Cloud Discovery patterns spreadsheet so you can grant user permissions required for running the Discovery patterns. In addition to permissions, the spreadsheet also includes useful information such as pattern names, types, CI Classes, and links to vendor documentation. New patterns are available quarterly, so check periodically to be sure you have the latest version of the spreadsheet.
Data collected by Discovery during horizontal discovery
- Resources discovered by all patterns designed to discover GCP products
Field Description Main CI: Cloud Service Account [cmdb_ci_cloud_service_account] account_id Name of the project that is used for the discovery. object_id Field with the same value as the account_id. Used by the IRE identification rules. datacenter_type Name of the CI that holds the datacenters for Google Cloud Platform cmdb_ci_google_datacenter Related CI: Google Datacenter [cmdb_ci_google_datacenter] name Datacenter or region name. region Field with the same value as the name field. object_id Unique identifier allocated by Google Cloud for this resource. short_description Datacenter or region description that you provide for easy identification. status Datacenter or region status. One of the following: - Up
- Down
state Field with the same value as the status field. Related CI: Availability Zone [cmdb_ci_availability_zone] name Name of the availability zone (AZ). object_id Unique identifier, allocated by Google Cloud for this resource. short_description Availability zone description that you provide. - Resources discovered by the Google Cloud Platform Discovery Compute Pillar
Field Description Related CI: Virtual Machine [cmdb_ci_vm_instance] name Name of the Virtual Machine (VM). object_id Unique identifier, allocated by Google Cloud for this resource. state VM state. One of the following: - On
- Running
- Off
- Terminated
- Paused
Disks and NICs Number of disks and Network Interface Controllers (NICs) assigned to this VM. CPUs and memory Number of CPU cores and memory size assigned to this VM. Related CI: Instance Template [cmdb_ci_instance_template] name Name of the instance template. object_id Unique identifier, allocated by Google Cloud for this resource. short_description Description of the instance template. source_image Source image of the instance template. Related CI: NIC [cmdb_ci_nic] name Name of the NIC. object_id Unique identifier, made up of a concatenation of vm_id + ”:” + nic_name. ip_address NIC primary internal IP address. state Field with the same value as the GCP state field. Related CI: Storage Volume [cmdb_ci_storage_volume] name Name of the disk. object_id Unique identifier, allocated by Google Cloud for this resource. size Disk size in GB. short_description Description that you provide for easy identification. state State of the Disk. The state is always “available”, since it was returned on discovery. status Installed. storage_type Disk type. For example, pd-standard or local SSD. Related CI: Image [cmdb_ci_os_template] name Name of the image. object_id Unique identifier, allocated by Google Cloud for this resource. image_type Image type. image_source Source of the image, such as, source disk/snapshot + “/” + source disk/snapshot ID. Related CI: Hardware Type [cmdb_ci_compute_template] name Name of the image. object_id Unique identifier, allocated by Google Cloud for this resource. vCPUs Number of CPU cores assigned to this template. memory_mb Memory size assigned to this template. local_storage_gb Storage assigned to this template. Note: Under certain circumstances, you may notice an unusually large number of records in the Hardware Type [cmdb_ci_compute_template] table. In such cases, you can store the discovered hardware types in the Cloud Hardware Type [cmdb_ci_cloud_hardware_type] table. For more information, see Enable the Cloud Hardware Type class extension.Note: When using the Image [cmdb_ci_os_template] table to store Cloud OS Images, you may notice an unusually large number of records. To avoid this issue, you can store the discovered OS images in the Cloud Image [cmdb_ci_cloud_os_image] table. For more information, see Enable Cloud OS Image discovery.- Resources discovered by the Google Cloud Platform Discovery External IP Pillar
Field Description Related CI: Public IP Address [cmdb_ci_cloud_public_ipaddress] name Name of the external IP. public_ip_address Address of the public IP. state State of the external IP Address. One of the following: - In Use
- Available
- Resources discovered by the Google Cloud Platform Discovery Load Balancer
Field Description Related CI: Cloud Load Balancer [cmdb_ci_cloud_load_balancer] name Name of the load_balancer. object_id Unique identifier, allocated by Google Cloud for this resource. Related CI: Load Balancer Services [cmdb_ci_lb_service] name Name of the load balancer service. object_id Unique identifier, allocated by Google Cloud for this resource. service_type Service type. One of: - User interface (HTTP/TCP/UDP LB)
- Backend (HTTP LB only).
port Listeners protocol port number (Backend). front_end_port Listeners protocol port number (Frontend). listener_protocol Listeners protocol. One of - TCP
- HTTP
- HTTPS
pool Pool used by the LB service. Related CI: Load Balancer Pool [cmdb_ci_lb_pool] name Pool name. For TCP/UDP LB without pools, the name containing the LB name -Pool. object_id The unique identifier of the LB Pool. For TCP/UDP LB without pools, the name containing the LB name -Pool. Related CI: Load Balancer Pool Member [cmdb_ci_lb_pool_member] name Name of the pool member. object_id Unique identifier of the Pool Member, created from the ID of the instance object_id. Related CI: Load Balancer Pool Member [cmdb_ci_lb_health_service] name Name of the health service. object_id Unique identifier of the Health Service Check. monitor_type Type of health check. One of: - TCP
- HTTP
- HTTPS
timeout_sec Timeout in seconds to wait for health checks response. check_interval_sec Interval in seconds to perform health check. healthy_threshold Number of sequential successful probe results for a VM instance to be considered healthy. unhealthy_threshold Number of sequential failed probe results for a VM instance to be considered unhealthy. request_path URL path to which GCP sends health check probe requests. If omitted, GCP sends probe requests to the root path. port Protocol and port to determine how GCP health check systems contact the VMs. - Resources discovered by Google Cloud Platform Discovery using labels
- When Google Cloud Platform Discovery uses labels during discovery, the following data is collected from the Key Value form:
- Key
- Value
- Configuration item
Figure 1. Key Value form This data is identified in the Related Entry form for the following CMDB tables:- Virtual Machine [cmdb_ci_vm_instance]
- Image [cmdb_ci_os_template]
- Storage Volume [cmdb_ci_storage_volume]
- Storage Snapshot [cmdb_ci_storage_vol_snapshot] as inherited from the parent
Figure 2. Related Entry form - Resources discovered by the Google Cloud Platform Discovery Network Pillar
Field Description Network [cmdb_ci_network] name Name of the Virtual Private Cloud (VPC) network. object_id Unique identifier, allocated by Google Cloud for this resource. default_gateway Gateway address for default routing out of the network. state State of the network. The state is always “available”, since it was returned on discovery. Cloud subnet [cmdb_ci_cloud_subnet] name Name of the instance template. object_id Unique identifier, allocated by Google Cloud for this resource. cidr Combination of the subnet CIDR, secondary CIDR and IPV6 CIDR.
For example, 10.0.0.0/16,10.2.0.0/16,fd20:957:65cb:bc00:0:0:0:0/64,10.1.0.0/16,fd20:957:65cb:bc00:0:0:0:0/64
subnet_mask Dotted representation of the subnet mask. For example, 255.255.255.0 gateway Gateway address for default routing out of the network. broadcast_address Broadcast address of the subnet. available_ip_count Number of IPs that are available in the subnet. This amount does not include network and broadcast addresses. Network ACL [cmdb_ci_network_acl] name Name of the access control list (ACL). object_id Unique identifier, allocated by Google Cloud for this resource. short_description ACL description that you provide. Network ACL Rule [cmdb_ci_network_acl_rule] name ACL rule name. This name is the same as the name of the cmdb_ci_network_acl. allow_deny ACL rule behavior. One of: - Allowed
- Denied
is_outbound Rule for outbound traffic. Use one of the following: - True if the rule is for outbound traffic
- False if the rule is for inbound traffic
source_ranges JSON blob service that contains sources that are Classless Inter-Domain Routing (CIDR) representations that the rule either allows or blocks the traffic from the service. destination_ranges JSON blob service that contains destinations that are CIDR representations that the rule either allows or blocks the traffic from the service. target_tags JSON blob service that represents a list of tags that controls which instances the firewall rule applies to. allowed_deny_traffic JSON blob service that contains the rules that are either allowed or denied by this ACL rule. Image [cmdb_ci_os_template] name Name of the image. object_id Unique identifier, allocated by Google Cloud for this resource. image_type Image type. image_source Source of the image, such as, source disk/snapshot + “/” + source disk/snapshot ID. Hardware Type [cmdb_ci_compute_template] name Name of the image. object_id Unique identifier, allocated by Google Cloud for this resource. vCPUs Number of CPU cores assigned to this template. memory_mb Memory size assigned to this template. local_storage_gb Storage assigned to this template. Note: When using the Image [cmdb_ci_os_template] table to store Cloud OS Images, you may notice an unusually large number of records. To avoid this issue, you can store the discovered OS images in the Cloud Image [cmdb_ci_cloud_os_image] table. For more information, see Enable Cloud OS Image discovery.- Resources discovered by the Google Cloud Platform Discovery Storage Pillar
Field Description Storage Volume [cmdb_ci_storage_volume] name Name of the storage disk. object_id Unique identifier, allocated by Google Cloud for this resource. size Disk size in GB. state State of the network. The state is always “available”, since it was returned on discovery. status Disk status: Installed storage_type Disk type. For example, pd-standard or local-ssd. Disk Type [cmdb_ci_disk_type] name Name of the disk, in the format: <disk type name>@<zone name> object_id Disk type is unique per zone. Format used: <zone>:<disk type name> short_description Disk type description. For example, Local-SSD. valid_disk_size Disk sizes that are valid for this disk type. default_disk_size_gb Default disk size (in GB) for this disk type. Storage Volume Snapshot [cmdb_ci_storage_vol_snapshot] name Name of the snapshot. object_id Unique identifier, allocated by Google Cloud for this resource. short_description ACL description that you provide. state Field with the same value as the GCP state. volume_name Name of the source disk: Storage Volume [cmdb_ci_storage_volume]
capacity Number of bytes stored in the snapshot. - Resources discovered for Google Cloud Memorystore, Google Cloud BigQuery, Google Cloud Bigtable, Google Cloud Spanner, and Google Cloud SQL
Field Description Cloud Database [cmdb_ci_cloud_database] name Cloud Database properties. object_id install_status operational_status state type processing_units (for Cloud Spanner only) Database [cmdb_ci_database] name Database properties. type install_status - Resources discovered for Google Cloud Firebase
Field Description Cloud Database [cmdb_ci_cloud_database] name Cloud Database properties. object_id install_status operational_status state type - Resources discovered for Google Cloud Firestore and Datastore
Field Description Database [cmdb_ci_database] name Database properties. type install_status - Resources discovered by the Virtual Google Cloud Platform (GCP) – VM license and Google Cloud Platform (GCP) - Virtual Server patterns
- These patterns extension sections discover Bring Your Own License (BYOL) or the included licenses for Windows VMs and RHEL VMs.
CI Relationships
These relationships are created to support Google Cloud Platform discovery.
- Relationships for resources that Google Cloud Platform Compute Pillar discovers
CI Relationship CI Google Datacenter [cmdb_ci_google_datacenter] Google Datacenter [cmdb_ci_google_datacenter] Hosted On::Hosts Cloud Service Account [cmdb_ci_cloud_service_account] Availability Zone [cmdb_ci_availability_zone] Availability Zome [cmdb_ci_availability_zone] Contains::Contained By Google Datacenter [cmdb_ci_google_datacenter] Virtual Machine [cmdb_ci_vm_instance] Virtual Machine [cmdb_ci_vm_instance] Hosted On::Host Google Datacenter [cmdb_ci_google_datacenter] Contains::Contained By cmdb_ci_availability_zone Instance Template [cmdb_ci_instance_template] Instance Template [cmdb_ci_instance_template] Host::Hosted On Cloud Service Account [cmdb_ci_cloud_service_account] Uses::Used by Hardware Type [cmdb_ci_compute_template] Image [cmdb_ci_os_template] NIC [cmdb_ci_nic] NIC [cmdb_ci_nic] Hosted On::Host Google Datacenter [cmdb_ci_google_datacenter] implement endpoint to cmdb_ci_endpoint_vnic implement endpoint from Virtual Machine [cmdb_ci_vm_instance] Storage Volume [cmdb_ci_storage_volume] Storage Volume [cmdb_ci_storage_volume] Contains::Contained by cmdb_ci_availability_zone implement endpoint to: cmdb_ci_endpoint_block implement endpoint from: Virtual Machine [cmdb_ci_vm_instance] Image [cmdb_ci_os_template] Image [cmdb_ci_os_template] Hosted On::Hosts Cloud Service Account [cmdb_ci_cloud_service_account] Related CI: Cloud Image [cmdb_ci_cloud_os_image] Hardware Type [cmdb_ci_compute_template] Hardware Type [cmdb_ci_compute_template] Hosted On::Host cmdb_ci_ google_datacenter provisioned from: Hardware Type [cmdb_ci_compute_template] Note: When using the Image [cmdb_ci_os_template] table to store Cloud OS Images, you may notice an unusually large number of records. To avoid this issue, you can store the discovered OS images in the Cloud Image [cmdb_ci_cloud_os_image] table. For more information, see Enable Cloud OS Image discovery.- Relationships for resources that Google Cloud Platform IP Pillar discovers
CI Relationship CI Google Datacenter [cmdb_ci_google_datacenter] Google Datacenter [cmdb_ci_google_datacenter] Hosted On::Host Cloud Service Account [cmdb_ci_cloud_service_account] Availability zone [cmdb_ci_availability_zone] Availability Zone [cmdb_ci_availability_zone] Contains::Contained By Google Datacenter [cmdb_ci_google_datacenter] Public IP Addresses [cmdb_ci_cloud_public_ipaddress] Public IP Addresses [cmdb_ci_cloud_public_ipaddress] Hosted On::Host Google Datacenter [cmdb_ci_google_datacenter] Cloud Service Account [cmdb_ci_cloud_service_account]
- Relationships for resources that Google Cloud Platform Load Balancer discovers
CI Relationship CI Google Datacenter [cmdb_ci_google_datacenter] Google Datacenter [cmdb_ci_google_datacenter] Hosted On::Hosts Cloud Service Account [cmdb_ci_cloud_service_account] Contains::Contained By cmdb_ci_availability_zone Cloud Load Balancer [cmdb_ci_cloud_load_balancer] Cloud Load Balancer [cmdb_ci_cloud_load_balancer] Hosted On::Hosts Google Datacenter [cmdb_ci_google_datacenter] Cloud Service Account [cmdb_ci_cloud_service_account]
Load Balancer Pool [cmdb_ci_lb_pool] Load Balancer Pool [cmdb_ci_lb_pool] Hosted On::Hosts Google Datacenter [cmdb_ci_google_datacenter] Owns::Owned by Load Balancer Pool Member [cmdb_ci_lb_pool_member] Load Balancer Services [cmdb_ci_lb_service] Load Balancer Services [cmdb_ci_lb_service] Hosted On::Host Cloud Load Balancer [cmdb_ci_cloud_load_balancer] Load Balancer Services [cmdb_ci_lb_service] (For HTTP LB) Load Balancer Services [cmdb_ci_lb_service] Uses::Used by Load Balancer Pool [cmdb_ci_lb_pool] Related CI: Cloud Load Balancer [cmdb_ci_cloud_load_balancer] For TCP/UDP LB Cloud Load Balancer [cmdb_ci_cloud_load_balancer] Uses::Used by Load Balancer Pool [cmdb_ci_lb_pool] Health Service [cmdb_ci_lb_health_service] (For HTTP LB) Health Service [cmdb_ci_lb_health_service] Uses::Used by Load Balancer Services [cmdb_ci_lb_service] Health Service [cmdb_ci_lb_health_service] (For HTTP LB) Health Service [cmdb_ci_lb_health_service] Hosted on::Hosts Google Datacenter [cmdb_ci_google_datacenter] Cloud Service Account [cmdb_ci_cloud_service_account]
Health Service [cmdb_ci_lb_health_service] (For TCP/UDP LB) Health Service [cmdb_ci_lb_health_service] Uses::Used by Load Balancer Pool [cmdb_ci_lb_pool]
- Relationships for resources that Google Cloud Platform Network Pillar discovers
CI Relationship CI Google Datacenter [cmdb_ci_google_datacenter] Google Datacenter [cmdb_ci_google_datacenter] Hosted On::Host Cloud Service Account [cmdb_ci_cloud_service_account] Availability zone [cmdb_ci_availability_zone] Availability Zone [cmdb_ci_availability_zone] Contains::Contained Google Datacenter [cmdb_ci_google_datacenter] Network [cmdb_ci_network] cmdb_ci_network Hosted On::Host Cloud Service Account [cmdb_ci_cloud_service_account] Cloud subnet [cmdb_ci_cloud_subnet] cmdb_ci_cloud_subnet Contains::Contained cmdb_ci_network Google Datacenter [cmdb_ci_google_datacenter] Network ACL [cmdb_ci_network_acl] cmdb_ci_network_acl Contains::Contained cmdb_ci_network Network ACL rule [cmdb_ci_network_acl_rule] cmdb_ci_network_acl_rule Contains::Contained cmdb_ci_network_acl - Relationships for resources that Google Cloud Platform Storage Pillar discovers
CI Relationship CI Google Datacenter [cmdb_ci_google_datacenter] Google Datacenter [cmdb_ci_google_datacenter] Hosted On::Host Cloud Service Account [cmdb_ci_cloud_service_account] cmdb_ci_availability_zone Availability Zone [cmdb_ci_availability_zone] Contains::Contained Google Datacenter [cmdb_ci_google_datacenter] Storage Volume [cmdb_ci_storage_volume] Storage Volume [cmdb_ci_storage_volume] Contains::Contained Availability Zone [cmdb_ci_availability_zone] Hosted on::Hosts Google Datacenter [cmdb_ci_google_datacenter] Disk Type [cmdb_ci_disk_type] Disk Type [cmdb_ci_disk_type] Host::Hosted On Availability Zone [cmdb_ci_availability_zone] Google Datacenter [cmdb_ci_google_datacenter] Storage volume snapshot [cmdb_ci_storage_vol_snapshot] Storage Volume Snapshot [cmdb_ci_storage_vol_snapshot] Hosted On::Hosts Cloud Service Account [cmdb_ci_cloud_service_account] Provisioned From::Provisioned with Storage Volume [cmdb_ci_storage_volume] This relationship means that this disk was created by this snapshot.
Replicates to::Replicated by Storage Volume [cmdb_ci_storage_volume] This relationship means that this snapshot was created from this disk.
- Relationships discovered for the virtual machine (VM) instance
CI Relationship CI Servers [cmdb_ci_server] Virtualized by:: Virtualizes Virtual Machine Instance [cmdb_ci_instance] - Relationships discovered for Google Cloud BigQuery, Google Cloud SQL, Google Cloud Spanner, and Google Cloud Bigtable
- Relationships discovered for Google Cloud Platform Firebase
- Relationships for Google Cloud Platform Firestore
- Relationships for Google Cloud Platform Memorystore
Data collected by Service Mapping during tag-based discovery
CI | Relationship | CI |
---|---|---|
Configuration Item [cmdb_ci] | Hosted on::Hosts | Logical Datacenter [cmdb_ci_logical_datacenter] |
Logical Datacenter [cmdb_ci_logical_datacenter] | Hosted on::Hosts | Cloud Service Account [cmdb_ci_cloud_service_account] |