GCP Plugin

Configuration

The GCP plugin allows you to collect devices, metadata, and metrics from the GCP Public Cloud environment. The GCP plugin makes use of GCP API for metric collection and allows you to monitor multiple different accounts.

Execute the following steps to monitor a GCP account. This will automatically create devices and collect metrics for various GCP resources for that account.

  1. To access the Device Manager from the navigation bar, click the Devices menu and select Device Manager.
  2. Either add a device with the GCP plugin or edit an existing device to enable the GCP plugin.
    • Click Add Device to display the New Device page.
    • Click wrenchIcon icon under the Actions column to display the Edit Device page.
  3. Click the plugin drop-down. By default, it is set to SNMP. Select GCP.

    gcpPluginDeviceManager

  4. Select the Enable GCP Integration check box.
  5. In the Project ID field, enter the ID of the GCP project you want to monitor.
  6. In the Service Account ID field, enter the ID of the GCP service account for SevOne.
  7. In the Private Key field, enter the value of the private key of GCP service account for SevOne.
  8. Click Save As New to save the current changes as a New Device, or click Save to confirm the changes in the Edit Device page.
  9. When the desired changes have been saved, click the Cancel button to return to the Device Manager page.

GCP Services

The GCP plugin supports the following services.

gcpObjectTypes
  • GCP Cloud Router
  • GCP Cloud Storage
  • GCP Compute Instance
  • GCP Interconnect
  • GCP Kubernetes Engine
  • GCP Load Balancer
    • Backend Service

The GCP plugin uses:

  • GCP Monitoring API for metrics collection
  • GCP API for Metadata collection

Please refer to GCP Quick Start Guide for additional details on how to setup GCP integration using the GCP Plugin.

GCP Device Groups

Device groups are created at an interval of 6 hours on SevOne NMS to group GCP devices by device description and metadata values. The GCP plugin regularly applies the rules for these groups to ensure the devices are added to appropriate groups.

Device Groups Hierarchy

  • All Device Groups (default) - device group that contains all devices on SevOne NMS.
  • GCP - device group that contains all automatically created GCP devices. A device is a member of this group if any of the following rules apply.
    • Cloud Router - this device group contains all Cloud Routers that exist as part of the GCP integration that has been created. A device is a member of this group if it contains GCP Cloud Router in the device description.
    • Cloud Storage - this device group contains all Cloud Storage that exist as part of the GCP integration that has been created. A device is a member of this group if it contains GCP Cloud Storage in the device description.
    • Compute Instance - this device group contains all Compute Instances that exist as part of the GCP integration that has been created. A device is a member of this group if it contains GCP Compute Instance in the device description.
    • Interconnect - this device group contains all Interconnects that exist as part of the GCP integration that has been created. A device is a member of this group if it contains GCP Interconnect in the device description.
    • Kubernetes Engine - this device group contains all Kubernetes Engine that exist as part of the GCP integration that has been created. A device is a member of this group if it contains GCP Kubernetes Engine in the device description.
    • Load Balancer - this device group contains all Load Balancer that exist as part of the GCP integration that has been created. A device is a member of this group if it contains the following devices.
      • Backend Service - this device group contains all Backend Service that exist as part of the GCP integration that has been created. A device is a member of this group if it contains Backend Service in the device description.

GCP Metadata

New devices have metadata attributes added to them automatically in both the GCP and  GCP <service name> namespaces. i.e., a compute instance will have metadata attributes populated in both GCP and GCP Compute Instance namespaces.

The tables below contain all GCP metadata namespaces and the attributes associated with them in SevOne NMS.

GCP

Contains all attribute names and types that are created within the GCP metadata namespace. All GCP devices will have the following attributes populated.

Attribute Name Attribute Type Description
Billing account ID Text The billing account ID in which the resource belongs.
Project ID Text The project ID to which the resource belongs.
Project name Text The project display name.
Region Text The region in which the resource belongs.
Resource ID Text The resource ID of the resource.
Zone Text The zone in which the resource belongs.

GCP Tags

Important: GCP Tags collection is not supported for GCP Load Balancer.

Contains all attribute names and types that are created within the GCP Tags metadata namespace. All GCP devices will have the attributes in the metadata for all the configured tag attributes in /config/gcp/config.yaml file.

GCP Compute Instance

Attribute Name Attribute Type Description
CPU platform Text The CPU platform used by the instance.
Machine type Text The machine type of the instance.
VM provisioning model Text The provisioning model of the instance.

GCP Cloud Router

Attribute Name Attribute Type Description
Google ASN Text Local BGP Autonomous System Number (ASN).
Interconnect encryption Text Indicates if a router is dedicated for use with encrypted VLAN attachments.
Network Text The network to which this router belongs.

GCP Cloud Storage

Attribute Name Attribute Type Description
Access Control Text The bucket's uniform bucket-level access configuration.
Default storage class Text The bucket's default storage class.
Encryption Text Encryption configuration for a bucket.
Location Text The location of the bucket.
Location type Text The type of bucket location.
Public access Text The bucket's public access configuration.

GCP Interconnect

Attribute Name Attribute Type Description
Capacity Integer Capacity of the interconnect.
Colocation facility Text Interconnect location where the connection is to be provisioned.
Description Text Description of the interconnect.
Type Text Type of the interconnect.
Remote Cloud Provider Text Name of the provider for Cross Cloud interconnect.

GCP Kubernetes Engine

Attribute Name Attribute Type Description
Location Text Location of the Kubernetes Engine.
Tier Text Tier of Kubernetes Engine.
Number of nodes Integer Number of nodes of the Kubernetes Engine.
Version Text Version of Kubernetes Engine.
Locator type Text Location type of Kubernetes Engine.

GCP Load Balancer Backend Service

Attribute Name Attribute Type Description
Load balancer type Text Type of Load Balancer.
Access type Text Access type of Load Balancer.
Protocols Text Protocols of Load Balancer.

GCP Metrics

After a device is configured to monitor a GCP account, object, and indicator types are created on the configured SevOne NMS. GCP monitoring API starts pulling information into the corresponding SevOne NMS device, objects, and indicators.

From SevOne NMS > Administration > Monitoring Configuration > Object Types, under All Object Types in the left navigation bar, you will see all the object types and its respective indicators that the GCP plugin creates.

The tables below contain all the metrics collected by SevOne NMS and the associated Object and Indicator types created on SevOne NMS.

GCP Compute Instance

GCP Compute Instance contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_gcp#gcp-compute

GCP Compute Instance CPU

Object Type Indicator Name Unit Description
GCP Compute Instance CPU reserved_cores Number Reserved vCPUs.
scheduler_wait_time Seconds Scheduler wait time.
usage_time Seconds CPU usage.
utilization Percent CPU utilization.

GCP Compute Instance Disk

Object Type Indicator Name Unit Description
GCP Compute Instance Disk average_io_latency Microseconds Disk average latency.
average_io_queue_depth Number Disk average IO queue depth.
max_read_bytes_count Bytes Peak disk read bytes.
max_read_ops_count Number Peak disk read Ops count.
max_write_bytes_count Bytes Peak disk write bytes count.
max_write_ops_count Number Peak disk write Ops count.
read_bytes_count Bytes Disk read bytes count.
read_ops_count Number Disk read operations count.
write_bytes_count Bytes Disk write bytes count.
write_ops_count Number Disk write operations count.

GCP Compute Instance Memory

Object Type Indicator Name Unit Description
GCP Compute Instance Memory ram_size Bytes VM memory total.
ram_used Bytes VM memory used.
swap_in_bytes_count Bytes VM swap in count.
swap_out_bytes_count Bytes VM swap out count.

GCP Compute Instance Network

Object Type Indicator Name Unit Description
GCP Compute Instance Network received_bytes_count Bytes Received bytes count.
received_packets_count Number Received packets count.
sent_bytes_count Bytes Sent bytes count.
sent_packets_count Number Sent packets count.

GCP Compute Instance Uptime

Object Type Indicator Name Unit Description
GCP Compute Instance Uptime uptime Seconds Uptime.
uptime_total Seconds Uptime total.

GCP Cloud Router

GCP Cloud Router contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_gcp#gcp-router

Object Type Indicator Name Unit Description
GCP Router Availability router_up Number Router tasks up.

GCP Router BGP Sessions

Object Type Indicator Name Unit Description
GCP Router BGP Sessions bgp_sessions_down_count Number BGP sessions down count.
bgp_sessions_up_count Number BGP sessions up count.
received_routes_count Number BGP received routes count.
sent_routes_count Number BGP sent routes count.
session_up Number BGP session status.

GCP Router Routes

Object Type Indicator Name Unit Description
GCP Router Routes best_received_routes_count Number Received routes count.
sent_routes_count Number Sent routes count.

GCP Cloud Storage

GCP Cloud Storage contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_gcp#gcp-storage

GCS ACL Operations

Object Type Indicator Name Unit Description
GCS ACL Operations acl_operations_count Number ACL usage count.
object_specific_acl_mutation_count Number Object ACL changes count.

GCP Autoclass Transitions

Object Type Indicator Name Unit Description
GCS Autoclass Transitions transitioned_bytes_count Bytes Autoclass transitioned bytes count.
transition_operation_count Number Autoclass transition count.

GCS Network

Object Type Indicator Name Unit Description
GCS Network received_bytes_count Bytes Received bytes count.
sent_bytes_count Bytes Sent bytes count.

GCS Operations

Object Type Indicator Name Unit Description
GCS Operations lro_count Number Operation count.
request_count Number Request count.

GCP Storage

Object Type Indicator Name Unit Description
GCS Storage object_count Number Object count.
total_bytes Bytes Total bytes.
total_byte_seconds Byte*Seconds Total byte seconds.

GCP Interconnect

GCP Interconnect contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_gcp#gcp-interconnect

GCP Interconnect Network

Object Type Indicator Name Unit Description
GCP Interconnect Network capacity Bytes Network capacity.
dropped_packets_count Number Dropped packets count.
received_bytes_count Bytes Ingress bytes count.
received_unicast_packets_count Number Ingress unicast packets count.
receive_errors_count Number Ingress errors count.
send_errors_count Number Egress error counts.
sent_bytes_count Bytes Egress bytes count.
sent_unicast_packets_count Number Egress unicast packets count.

GCP Interconnect MACsec

Object Type Indicator Name Unit Description
GCP Interconnect MACsec receive_dropped_packets_count Number Link MACsec ingress dropped packets count.
receive_errors_count Number Link MACsec ingress errors count.
received_control_packets_count Number Link MACsec ingress control packets count.
received_data_packets_count Number Link MACsec ingress data packets count.
send_dropped_packets_count Number Link MACsec egress dropped packets count.
send_errors_count Number Link MACsec egress errors count.
sent_control_packets_count Number Link MACsec egress control packets count.
sent_data_packets_count Number Link MACsec egress packets count.

GCP Kubernetes Engine

GCP Kubernetes Engine contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_kubernetes#kubernetes

GCP Kubernetes Cluster CPU

Object Type Indicator Name Unit Description
GCP Kubernetes Cluster CPU core_usage_time Seconds Cluster CPU usage time.
limit_cores Number Limit cores.
limit_utilization Number Limit utilization.
request_cores Number Request cores.
request_utilization Number CPU request utilization.

GCP Kubernetes Cluster Storage

Object Type Indicator Name Unit Description
GCP Kubernetes Cluster Storage limit_bytes Bytes Ephemeral storage limit.
request_bytes Number Ephemeral storage request.
used_bytes Bytes Ephemeral storage usage.

GCP Kubernetes Cluster Memory

Object Type Indicator Name Unit Description
GCP Kubernetes Cluster Memory page_fault_count Number Page faults count.
limit_bytes Bytes Memory limit.
limit_utilization Number Memory limit utilization.
request_bytes Bytes Memory request.
request_utilization Number Request utilization.
used_bytes Bytes Used bytes.

GCP Kubernetes Cluster Statistics

Object Type Indicator Name Unit Description
GCP Kubernetes Cluster Statistics restart_count Number Restart count.
uptime Seconds Uptime.

GCP Kubernetes Node CPU

Object Type Indicator Name Unit Description
GCP Kubernetes Node CPU core_usage_time Seconds Node CPU usage time.
allocatable_cores Number Allocatable cores.
total_cores Number Total cores.
allocatable_utilization Number CPU allocatable utilization.

GCP Kubernetes Node Storage

Object Type Indicator Name Unit Description
GCP Kubernetes Node Storage allocatable_bytes Bytes Allocatable ephemeral storage.
inodes_free Number Free iNodes.
inodes_total Number Total iNodes.
total_bytes Bytes Total storage.
used_bytes Bytes Storage usage.

GCP Kubernetes Node Memory

Object Type Indicator Name Unit Description
GCP Kubernetes Node Memory allocatable_bytes Bytes Allocatable memory.
allocatable_utilization Bytes Memory allocatable utilization.
total_bytes Bytes Total memory.
used_bytes Bytes Memory usage.

GCP Kubernetes Node Network

Object Type Indicator Name Unit Description
GCP Kubernetes Node Network received_bytes_count Bytes Bytes received count.
sent_bytes_count Bytes Bytes transmitted count.

GCP Kubernetes Node Statistics

Object Type Indicator Name Unit Description
GCP Kubernetes Node Statistics pid_limit Number PID capacity.
pid_used Number PID Usage.

GCP Kubernetes Node Daemon Memory

Object Type Indicator Name Unit Description
GCP Kubernetes Node Daemon Memory used_bytes Bytes Memory usage.

GCP Kubernetes Node Daemon CPU

Object Type Indicator Name Unit Description
GCP Kubernetes Node Daemon CPU core_usage_time Seconds CPU usage time.

GCP Kubernetes Pod Volume

Object Type Indicator Name Unit Description
GCP Kubernetes Pod Volume total_bytes Bytes Volume capacity.
used_bytes Bytes Volumne usage.
utilization Number Volume utilization.

GCP Load Balancer

GCP Load Balancer contains the following object types.

For details, please refer to https://cloud.google.com/monitoring/api/metrics_gcp#gcp-loadbalancing

GCP Global Load Balancer

Object Type Indicator Name Unit Description
GCP Global Load Balancer backend_request_bytes_count Bytes Backend request bytes count.
backend_request_count Number Backend request count.
backend_response_bytes_count Bytes Backend response bytes count.
backend_latencies Milliseconds Global load balancer backend latencies.
frontend_tcp_rtt Milliseconds Frontend RTT.
total_latencies Milliseconds Total latencies.
request_bytes_count Bytes Request bytes count.
request_count Number Request count.
response_bytes_count Bytes Response bytes count.

GCP Regional Load Balancer

Object Type Indicator Name Unit Description
GCP Regional Load Balancer request_bytes_count Bytes Request bytes count.
request_count Number Request count.
response_bytes_count Bytes Response bytes count.
backend_latencies Milliseconds Regional load balancer backend latencies.
total_latencies Milliseconds Total latencies.
backend_request_bytes_count Bytes Backend request bytes count.
backend_request_count Number Backend request count.
backend_response_bytes_count Bytes Backend response bytes count.

GCP Cross Region Load Balancer

Object Type Indicator Name Unit Description
GCP Cross Region Load Balancer request_bytes_count Bytes Request bytes count.
request_count Number Request count.
response_bytes_count Bytes Response bytes count.
backend_latencies Milliseconds Cross Region backend latencies.
total_latencies Milliseconds Total latencies.
backend_request_bytes_count Bytes Backend request bytes count.
backend_request_count Number Backend request count.
backend_response_bytes_count Bytes Backend response bytes count.

GCP External Network Load Balancer

Object Type Indicator Name Unit Description
GCP External Network Load Balancer egress_bytes_count Bytes Egress bytes count.
egress_packets_count Number External egress packets count.
ingress_bytes_count Bytes Ingress bytes count.
ingress_packets_count Number External ingress packets count.
rtt_latencies Milliseconds RTT latencies.

GCP Internal Network Load Balancer

Object Type Indicator Name Unit Description
GCP Internal Network Load Balancer egress_bytes_count Bytes Egress bytes per internal TCP / UDP load balancer count.
egress_packets_count Number Egress packets per internal TCP / UDP load balancer count.
ingress_bytes_count Bytes Ingress bytes per internal TCP / UDP load balancer count.
ingress_packets_count Number Ingress packets per internal TCP / UDP load balancer count.
rtt_latencies Milliseconds RTT latencies per internal TCP / UDP load balancer.

GCP Proxy Network Load Balancer

Object Type Indicator Name Unit Description
GCP Proxy Network Load Balancer closed_connections Number Closed connections.
egress_bytes_count Bytes Egress bytes count.
ingress_bytes_count Bytes Ingress bytes count.
new_connection Number New connections opened.
open_connections Number Open connections.
frontend_tcp_rtt Milliseconds Frontend RTT.