steampipe plugin install aws

Table: aws_rds_db_instance_metric_write_iops - Query AWS RDS DBInstance Write IOPS using SQL

The AWS RDS DBInstance Write IOPS is a metric that measures the average number of disk I/O operations per second for write operations. It is part of Amazon RDS (Relational Database Service) which provides resizable capacity for an industry-standard relational database and manages common database administration tasks. Monitoring this metric can help in understanding the performance of the database and identifying any potential issues related to data write operations.

Table Usage Guide

The aws_rds_db_instance_metric_write_iops table in Steampipe gives you information about the Write IOPS (Input/Output Operations Per Second) metrics of AWS RDS DBInstances. This table allows you, as a DevOps engineer, to query details related to the write operations performance of your RDS DBInstances, including the average, maximum, and minimum values for a specified period. You can utilize this table to monitor and analyze the write performance of your DBInstances, helping you optimize the performance and reliability of your database operations. The schema outlines the various attributes of the Write IOPS metrics, including the DBInstance identifier, timestamp, and the statistics for the period.

The aws_rds_db_instance_metric_write_iops table provides metric statistics at 5 minute intervals for the most recent 5 days.

Examples

Basic info

Explore the performance of various AWS RDS database instances over time. This query is useful for identifying trends or anomalies in write operations, which can inform optimization strategies or troubleshooting efforts.

select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
order by
db_instance_identifier,
timestamp;
select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
order by
db_instance_identifier,
timestamp;

Intervals where volumes exceed 1000 average write ops

Identify instances where the average write operations on your AWS RDS database instances exceed 1000. This can help you pinpoint periods of high database activity and assess the need for potential performance optimization or resource scaling.

select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
where
average > 1000
order by
db_instance_identifier,
timestamp;
select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
where
average > 1000
order by
db_instance_identifier,
timestamp;

Intervals where volumes exceed 8000 max write ops

Identify instances where the maximum write operations on your AWS RDS database instances exceed 8000. This can help in assessing the load on your databases and planning for capacity upgrades or performance optimization.

select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
where
maximum > 8000
order by
db_instance_identifier,
timestamp;
select
db_instance_identifier,
timestamp,
minimum,
maximum,
average,
sum,
sample_count
from
aws_rds_db_instance_metric_write_iops
where
maximum > 8000
order by
db_instance_identifier,
timestamp;

Read, Write, and Total IOPS

Analyze the settings to understand the average, maximum, and minimum input/output operations per second (IOPS) for each database instance. This can help pinpoint performance bottlenecks and optimize database operations for better efficiency.

select
r.db_instance_identifier,
r.timestamp,
round(r.average) + round(w.average) as iops_avg,
round(r.average) as read_ops_avg,
round(w.average) as write_ops_avg,
round(r.maximum) + round(w.maximum) as iops_max,
round(r.maximum) as read_ops_max,
round(w.maximum) as write_ops_max,
round(r.minimum) + round(w.minimum) as iops_min,
round(r.minimum) as read_ops_min,
round(w.minimum) as write_ops_min
from
aws_rds_db_instance_metric_read_iops as r,
aws_rds_db_instance_metric_write_iops as w
where
r.db_instance_identifier = w.db_instance_identifier
and r.timestamp = w.timestamp
order by
r.db_instance_identifier,
r.timestamp;
select
r.db_instance_identifier,
r.timestamp,
round(r.average) + round(w.average) as iops_avg,
round(r.average) as read_ops_avg,
round(w.average) as write_ops_avg,
round(r.maximum) + round(w.maximum) as iops_max,
round(r.maximum) as read_ops_max,
round(w.maximum) as write_ops_max,
round(r.minimum) + round(w.minimum) as iops_min,
round(r.minimum) as read_ops_min,
round(w.minimum) as write_ops_min
from
aws_rds_db_instance_metric_read_iops as r,
aws_rds_db_instance_metric_write_iops as w
where
r.db_instance_identifier = w.db_instance_identifier
and r.timestamp = w.timestamp
order by
r.db_instance_identifier,
r.timestamp;

Schema for aws_rds_db_instance_metric_write_iops

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextThe AWS Account ID in which the resource is located.
averagedouble precisionThe average of the metric values that correspond to the data point.
db_instance_identifiertextThe friendly name to identify the DB Instance.
maximumdouble precisionThe maximum metric value for the data point.
metric_nametextThe name of the metric.
minimumdouble precisionThe minimum metric value for the data point.
namespacetextThe metric namespace.
partitiontextThe AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov).
regiontextThe AWS Region in which the resource is located.
sample_countdouble precisionThe number of metric values that contributed to the aggregate value of this data point.
sumdouble precisionThe sum of the metric values for the data point.
timestamptimestamp with time zoneThe time stamp used for the data point.
unittextThe standard unit for the data point.

Export

This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.

You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh script:

/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws

You can pass the configuration to the command with the --config argument:

steampipe_export_aws --config '<your_config>' aws_rds_db_instance_metric_write_iops