Google Cloud SQL Instances Test

A Cloud SQL instance is powered by a virtual machine (VM) running on Google Cloud. Each VM operates a database program, such as MySQL Server, PostgreSQL, or SQL Server, and service agents that provide supporting services, such as logging and monitoring. The high availability option also provides a standby VM in another zone with a configuration that is identical to the primary VM. The database is stored on a scalable, durable network storage device called a persistent disk that attaches to the VM. A static IP address sits in front of each VM to ensure that the IP address of an application connects to persists throughout the lifetime of the Cloud SQL instance. The Cloud SQL instance lets you create and delete databases and database users as required. Unavailability due to failures, resource contentions and poor network traffic handling on a SQL instance can result in the loss of critical data and poor performance. To avoid this, administrators should keep a close watch on the CPU utilization, disk I/O, memory usage, and network traffic for each SQL instance, proactively detect a resource crunch, slowness and poor network throughput, and promptly resolve it. This is where the Google Cloud SQL Instances test helps.

This test auto-discovers the SQL instances in target Google Cloud and for each instance, reports the current state, replication type and high availability type. In addition, this test also reports the memory, CPU and disk space utilization which helps administrators to identify the SQL instance that is improperly sized with CPU, memory resources. In the process, this test also reports the network throughput using which administrator can understand how well the network traffic is handled by each SQL enough.

Note:

This test will report metrics only if the Cloud SQL Admin API is enabled in the target Google Cloud project. If you want to know how to turn on a service API in the Google Cloud project, refer Enabling Service APIs.

Target of the test : Google Cloud

Agent deploying the test : A remote agent

Outputs of the test :One set of results for each SQL instance in the Google Cloud project

Configurable parameters for the test
Parameters Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Private Keyfile Name

To connect to the Google Cloud Project in which the services are running, the eG agent requires a private key of a service account with Compute Viewer, Monitoring Viewer, and Cloud Asset Viewer roles in the target project. If a service account pre-exists in the project, then you can download the private key as a JSON file. Save this JSON file in the <eG_Install_Dir>/agent/lib folder and provide the name of that file against this parameter. However, if no such service account pre-exists, you will have to create one for monitoring the project. To know how to create a service account and download its private key, refer to How does eG Enterprise Monitor Google Cloud?.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Status

Indicates the current status of this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Created 1
Runnable 2
Suspended 3
Deleted 4
Maintenance 5
Failed 6
Unknown 7

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current status of this SQL instance. The graph of this measure however, represents the measure values using the numeric equivalents only.

The detailed diagnosis of this measure if enabled, lists the zone name, database version, connection name, instance type, backend type, project id and Public IP of the SQL instance.

Total databases

Indicates the number of databases available on this SQL instance.

Number

The detailed diagnosis of this measure reveals the database name and collation name of the SQL instance.

Total users

Indicates the number of users on this SQL instance.

Number

The detailed diagnosis of this measure reveals the names of the users on the SQL instance.

Total operations

Indicates the number of operations performed on this SQL instance during the last measurement period.

Number

The detailed diagnosis of this measure reveals the time stamp and type of the operations performed on the SQL instance.

Availability type

Indicates the high availability type of this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Zonal 1
Regional 2

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the high availability type of the SQL instance. The graph of this measure however, represents the measure values using the numeric equivalents only.

Pricing plan

Indicates the current pricing plan of this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Per_use 1
Package 2

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the pricing plan of each SQL instance. The graph of this measure however, represents the status of a server using the numeric equivalents only.

Replication type

Indicates the replication type of this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Synchronous 1
Asynchronous 2

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the replication type of each SQL instance. The graph of this measure however, represents the measure values using the numeric equivalents only.

Activation policy

Indicates the current status of activation policy of this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Off 0
On 1

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the status of the activation policy of each SQL instance. The graph of this measure however, represents the measure values using the numeric equivalents only.

Is storage auto resize?

Indicates whether/not the storage is auto resized on this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports the Measure Values listed in the table above to indicate whether the storage on each SQL instance is resized or not. The graph of this measure however, represents the measure values using the numeric equivalents only.

Storage auto resize limit

Indicates the number of times that the storage on this SQL instance can be resized.

Number

 

Total capacity

Indicates the total disk capacity allocated for this SQL instance.

GB

 

Backup configuration is enabled?

Indicates whether/not backup configuration is enabled for this SQL instance.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports the Measure Values listed in the table above to indicate whether/not backup configuration is enabled for each SQL instance. The graph of this measure however, represents the measure values using the numeric equivalents only.

Transaction log retention

Indicates how many days the transaction logs will be retained on this SQL instance.

Number

 

Total retained backups

Indicates the total number of retained backups on this SQL instance.

Number

 

Virtual CPUs

Indicates the number of virtual CPUs available on this SQL instance.

Number

 

Total memory

Indicates the total amount of memory allocated to this SQL instance.

GB

 

CPU utilization

Indicates the percentage of CPU utilized by this SQL instance.

Percent

This measure helps you to track whether each SQL instance has sufficient CPU for your application needs. If this value is close to 100%, then you should increase the size of your machine type to provide more CPU resources to the instance.

Used space

Indicates the amount of disk space used by this SQL instance.

GB

A low value is desired for this measure.

Disk utilization

Indicates the percentage of space utilized by this SQL instance.

Percent

A value close to 100% is cause for concern.

Disk read operations

Indicates the number of read operations performed on this SQL instance during the last measurement period.

Operations/sec

Compare the value of this measure across SQL instances to know which instance handled the maximum number of read requests and which handled the least.

Disk write operations

Indicates the number of write operations performed on this SQL instance during the last measurement period.

Operations/sec

Compare the value of this measure across SQL instances to know which instance handled the maximum number of write requests and which handled the least.

Received bandwidth

Indicates the rate at which the data was received by this instance during the last measurement period.

KB/Sec

Compare the value of this measure across SQL instances to determine which instance was slow in terms of receiving the data.

Sent bandwidth

Indicates the rate at which the data was sent from this instance during the last measurement period.

KB/Sec

Compare the value of this measure across SQL instances to determine which instance was slow in terms of sending the data.

Used memory

Indicates the amount of memory used by this SQL instance.

GB

The value of this measure is preferred to be low.

Free memory

Indicates the amount of memory that is available to use by this SQL instance.

GB

Ideally, the value of this measure should be high.

Memory utilization

Indicates the percentage of memory used by this SQL instance.

Percent

A value close to 100% is a cause for concern.

Free space

Indicates the amount of disk space that is available to use by this SQL instance.

GB

A high value is desired for this measure.

Network throughput

Indicates the rate at which this SQL instance processed the network traffic during the last measurement period.

KB/sec

This measure is the sum of the Received bandwidth and Sent bandwidth measures and reveals the overall network throughput of the instance.

A consistent drop in the value of this measure could indicate that the SQL instance does not have adequate bandwidth resources for processing network traffic.

Disk IOPS

Indicates the total number of disk I/O operations performed in this SQL instance per second during the last measurement period.

Operations/sec

Compare the value of this measure acroos the SQL instances to find out which SQL instance is slow in performing I/O operations.