chore: add AWS RDS and ElastiCache integration (#5071)

This commit is contained in:
Srikanth Chekuri 2024-06-02 14:42:05 +05:30 committed by GitHub
parent 93df475969
commit 592073a564
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 15652 additions and 0 deletions

View File

@ -0,0 +1,79 @@
### Collect ElastiCache Logs
Use the [log delivery](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html) instructions to send redis logs to CloudWatch Logs
#### Find the list of log group names for ElastiCache instance
Collecting logs from an ElastiCache instance requires specifying the list of log group names. From the AWS CloudWatch console, find the log group(s) relevant to the integration.
#### Create collector config file
Save the following configuration for collecting ElastiCache logs in a file named `redis-logs-collection-config.yaml` and set the `region` key with the relevant value.
```yaml
receivers:
awscloudwatch:
region: us-east-1
logs:
poll_interval: 1m
groups:
named:
# replace the following name with your log group for elasticache logs
/aws/elasticache/:
processors:
attributes/add_source:
actions:
- key: source
value: "elasticache_redis"
action: insert
batch:
send_batch_size: 10000
send_batch_max_size: 11000
timeout: 10s
exporters:
# export to SigNoz cloud
otlp/redis-logs:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
service:
pipelines:
logs/redis:
receivers: [awscloudwatch]
processors: [attributes/add_source, batch]
exporters: [otlp/redis-logs]
```
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your otel collector and use it by adding the following flag to the command for running your collector
```bash
--config redis-logs-collection-config.yaml
```
Note: the collector can use multiple config files, specified by multiple occurrences of the --config flag.

View File

@ -0,0 +1,237 @@
### Collect ElastiCache Metrics
The ElastiCache (redis) metrics collection is a two-step process.
#### Set up the Prometheus CloudWatch exporter
The [CloudWatch Exporter](https://github.com/prometheus/cloudwatch_exporter) is A Prometheus exporter for collecting CloudWatch metrics. This section describes the steps for downloading and configuring the Prometheus CloudWatch exporter.
1. Download the Prometheus CloudWatch exporter JAR file, and run the following command:
```sh
curl -sLSO https://github.com/prometheus/cloudwatch_exporter/releases/download/v0.15.5/cloudwatch_exporter-0.15.5-jar-with-dependencies.jar
```
2. Configure the Prometheus exporter
Save the following config for collecting AWS ElastiCache metrics in a file named `aws-elasticache-metrics.yaml` and set the `region` with the relevant value.
```yaml
---
region: us-east-1
metrics:
- aws_namespace: AWS/ElastiCache
aws_metric_name: CPUUtilization
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: FreeableMemory
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: NetworkBytesIn
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: NetworkBytesOut
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: NetworkPacketsIn
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: NetworkPacketsOut
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: SwapUsage
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: BytesUsedForCache
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CacheHits
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CacheMisses
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CacheHitRate
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CurrConnections
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CurrItems
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: CurrVolatileItems
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: ReplicationLag
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: ReplicationLag
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: SaveInProgress
aws_dimensions: [CacheClusterId, CacheNodeId]
- aws_namespace: AWS/ElastiCache
aws_metric_name: TrafficManagementActive
aws_dimensions: [CacheClusterId, CacheNodeId]
- aws_namespace: AWS/ElastiCache
aws_metric_name: DatabaseCapacityUsagePercentage
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: DatabaseMemoryUsagePercentage
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: EngineCPUUtilization
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: Evictions
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
- aws_namespace: AWS/ElastiCache
aws_metric_name: GlobalDatastoreReplicationLag
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: MemoryFragmentationRatio
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/ElastiCache
aws_metric_name: MemoryFragmentationRatio
aws_dimensions: [CacheClusterId, CacheNodeId]
aws_statistics: [Sum, Average]
```
3. Run the following command
```sh
java -jar cloudwatch_exporter-0.15.5-jar-with-dependencies.jar 9106 aws-elasticache-metrics.yaml
```
#### Set up the OTEL Collector
Save the following config for collecting Redis native metrics in a file named `redis-metrics-collection-config.yaml`
```yaml
receivers:
redis:
# The hostname and port of the Redis instance, separated by a colon.
endpoint: ${env:REDIS_ENDPOINT}
# The frequency at which to collect metrics from the Redis instance.
collection_interval: 60s
# The password used to access the Redis instance; must match the password specified in the requirepass server configuration option.
password: ${env:REDIS_PASSWORD}
# # Defines the network to use for connecting to the server. Valid Values are `tcp` or `Unix`
# transport: tcp
# tls:
# insecure: false
# ca_file: /etc/ssl/certs/ca-certificates.crt
# cert_file: /etc/ssl/certs/redis.crt
# key_file: /etc/ssl/certs/redis.key
metrics:
redis.maxmemory:
enabled: true
redis.cmd.latency:
enabled: true
prometheus:
config:
scrape_configs:
- job_name: 'aws-cloudwatch-metrics'
scrape_timeout: 120s
scrape_interval: 120s
static_configs:
- targets: ['0.0.0.0:9106']
exporters:
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
# export to SigNoz cloud
otlp/signoz:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
service:
pipelines:
metrics/redis:
receivers: [redis, prometheus]
processors: []
exporters: [otlp/signoz]
```
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# The accessible endpoint where redis server is running.
# The hostname and port of the Redis instance, separated by a colon.
export REDIS_ENDPOINT="<redis-server-endpoint>"
# The password to use for accessing redis instance
export REDIS_PASSWORD="<PASSWORD>"
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your otel collector and use it by adding the following flag to the command for running your collector
```bash
--config redis-metrics-collection-config.yaml
```
Note: the collector can use multiple config files, specified by multiple occurrences of the --config flag.

View File

@ -0,0 +1,24 @@
## Before You Begin
To configure metrics and logs collection for an AWS ElastiCache server, you need the following.
- **Ensure Credentials and permissions are set correctly**
The components used for this integration relies on AWS SDKs, which offer a variety of ways to provide credentials, including the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables.
The following IAM permissions are required:
- `cloudwatch:ListMetrics`
- `cloudwatch:GetMetricStatistics`
- `cloudwatch:GetMetricData`
- `tag:GetResources` (if aws_tag_select feature is used)
- `logs:DescribeLogGroups`
- `logs:FilterLogEvents`
- **Ensure Java Runtime Environment (JRE), version 11 or newer**
The CloudWatch Exporter used to collect the metrics requires a Java runtime environment version 11 or newer. This is not required if you can run the docker container.
- **Ensure that an OTEL collector is running in your deployment environment**
If needed, please [install an OTEL Collector](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) If already installed, ensure that the collector version is v0.88.0 or newer. Also, ensure that you can provide config files to the collector and that you can set environment variables and command line flags used for running it.
- **Ensure that the OTEL collector can access the Redis server**
To collect Redis native metrics, the collector must be able to access the Redis server as a client. This step is optional.

View File

@ -0,0 +1,2 @@
<svg height="308" preserveAspectRatio="xMidYMid" viewBox="0 0 256 308" width="256" xmlns="http://www.w3.org/2000/svg"><path d="m.8217 207.6042 127.178 99.596 127.179-99.596-127.183-15.812z" fill="#99bce3"/><path d="m127.9998.0003-128 99.591 127.175 15.813 128.825-15.808z" fill="#19486f"/><g fill="#1f5b99"><path d="m127.9998.0003-128 63.591v36.005l128-38.155z"/><path d="m0 243.6087 128 63.591v-61.442l-128-38.149z"/><path d="m128 200.0537-55.467-8.125v-76.037l55.467-8 1.309 2.532-.138 87.099z"/></g><path d="m127.9998.0003v61.441l128 38.155v-36.005z" fill="#5294cf"/><path d="m127.9998 245.7579v61.442l128-63.591v-36z" fill="#5294cf"/><path d="m128 200.0537 55.467-8.125v-76.037l-55.467-8z" fill="#5294cf"/></svg>

After

Width:  |  Height:  |  Size: 717 B

View File

@ -0,0 +1,522 @@
{
"id": "aws_elasticache_redis",
"title": "AWS ElastiCache (redis)",
"description": "Monitor AWS ElastiCache with metrics and logs",
"author": {
"name": "SigNoz",
"email": "integrations@signoz.io",
"homepage": "https://signoz.io"
},
"icon": "file://icon.svg",
"categories": [
"Database"
],
"overview": "file://overview.md",
"configuration": [
{
"title": "Prerequisites",
"instructions": "file://config/prerequisites.md"
},
{
"title": "Collect Metrics",
"instructions": "file://config/collect-metrics.md"
},
{
"title": "Collect Logs",
"instructions": "file://config/collect-logs.md"
}
],
"assets": {
"logs": {
"pipelines": []
},
"dashboards": [
"file://assets/dashboards/overview.json"
],
"alerts": []
},
"connection_tests": {
"logs": {
"attribute_key": "source",
"attribute_value": "elasticache_redis"
}
},
"data_collected": {
"logs": [
{
"name": "Timestamp",
"path": "timestamp",
"type": "timestamp"
},
{
"name": "Body",
"path": "body",
"type": "string"
}
],
"metrics": [
{
"name": "aws_elasticache_bytes_used_for_cache_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache BytesUsedForCache Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_elasticache_bytes_used_for_cache_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache BytesUsedForCache Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_elasticache_cache_hits_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CacheHits Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_cache_misses_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CacheMisses Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_cpuutilization_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CPUUtilization Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Percent"
},
{
"name": "aws_elasticache_cpuutilization_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CPUUtilization Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_elasticache_curr_connections_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrConnections Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_curr_connections_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrConnections Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Count"
},
{
"name": "aws_elasticache_curr_items_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrItems Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_curr_items_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrItems Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Count"
},
{
"name": "aws_elasticache_curr_volatile_items_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrVolatileItems Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_curr_volatile_items_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache CurrVolatileItems Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Count"
},
{
"name": "aws_elasticache_database_capacity_usage_percentage_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache DatabaseCapacityUsagePercentage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Percent"
},
{
"name": "aws_elasticache_database_capacity_usage_percentage_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache DatabaseCapacityUsagePercentage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_elasticache_database_memory_usage_percentage_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache DatabaseMemoryUsagePercentage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Percent"
},
{
"name": "aws_elasticache_database_memory_usage_percentage_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache DatabaseMemoryUsagePercentage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_elasticache_engine_cpuutilization_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache EngineCPUUtilization Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Percent"
},
{
"name": "aws_elasticache_engine_cpuutilization_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache EngineCPUUtilization Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_elasticache_evictions_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache Evictions Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_evictions_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache Evictions Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_freeable_memory_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache FreeableMemory Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Bytes"
},
{
"name": "aws_elasticache_freeable_memory_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache FreeableMemory Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_elasticache_memory_fragmentation_ratio_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache MemoryFragmentationRatio Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: None"
},
{
"name": "aws_elasticache_memory_fragmentation_ratio_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache MemoryFragmentationRatio Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: None"
},
{
"name": "aws_elasticache_memory_fragmentation_ratio_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache MemoryFragmentationRatio Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: None"
},
{
"name": "aws_elasticache_network_bytes_in_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkBytesIn Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Bytes"
},
{
"name": "aws_elasticache_network_bytes_in_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkBytesIn Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_elasticache_network_bytes_out_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkBytesOut Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Bytes"
},
{
"name": "aws_elasticache_network_bytes_out_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkBytesOut Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_elasticache_network_packets_in_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkPacketsIn Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_network_packets_in_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkPacketsIn Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_network_packets_out_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkPacketsOut Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_network_packets_out_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache NetworkPacketsOut Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_replication_lag_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache ReplicationLag Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_elasticache_save_in_progress_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SaveInProgress Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Count"
},
{
"name": "aws_elasticache_save_in_progress_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SaveInProgress Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Count"
},
{
"name": "aws_elasticache_save_in_progress_minimum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SaveInProgress Dimensions: [CacheClusterId, CacheNodeId] Statistic: Minimum Unit: Count"
},
{
"name": "aws_elasticache_save_in_progress_sample_count",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SaveInProgress Dimensions: [CacheClusterId, CacheNodeId] Statistic: SampleCount Unit: Count"
},
{
"name": "aws_elasticache_save_in_progress_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SaveInProgress Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: Count"
},
{
"name": "aws_elasticache_swap_usage_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SwapUsage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: Bytes"
},
{
"name": "aws_elasticache_swap_usage_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache SwapUsage Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_elasticache_traffic_management_active_average",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache TrafficManagementActive Dimensions: [CacheClusterId, CacheNodeId] Statistic: Average Unit: None"
},
{
"name": "aws_elasticache_traffic_management_active_maximum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache TrafficManagementActive Dimensions: [CacheClusterId, CacheNodeId] Statistic: Maximum Unit: None"
},
{
"name": "aws_elasticache_traffic_management_active_minimum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache TrafficManagementActive Dimensions: [CacheClusterId, CacheNodeId] Statistic: Minimum Unit: None"
},
{
"name": "aws_elasticache_traffic_management_active_sample_count",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache TrafficManagementActive Dimensions: [CacheClusterId, CacheNodeId] Statistic: SampleCount Unit: None"
},
{
"name": "aws_elasticache_traffic_management_active_sum",
"type": "Gauge",
"unit": "",
"description": "CloudWatch metric AWS/ElastiCache TrafficManagementActive Dimensions: [CacheClusterId, CacheNodeId] Statistic: Sum Unit: None"
},
{
"name": "redis_commands_processed",
"type": "Sum",
"unit": "number",
"description": "Total number of commands processed by the server"
},
{
"name": "redis_cpu_time",
"type": "Sum",
"unit": "s",
"description": "System CPU consumed by the Redis server in seconds since server start"
},
{
"name": "redis_keys_expired",
"type": "Sum",
"unit": "number",
"description": "Total number of key expiration events"
},
{
"name": "redis_db_expires",
"type": "Gauge",
"unit": "number",
"description": "Number of keyspace keys with an expiration"
},
{
"name": "redis_commands",
"type": "Gauge",
"unit": "ops/s",
"description": "Number of commands processed per second"
},
{
"name": "redis_replication_offset",
"type": "Gauge",
"unit": "Bytes",
"description": "The server's current replication offset"
},
{
"name": "redis_net_input",
"type": "Sum",
"unit": "Bytes",
"description": "The total number of bytes read from the network"
},
{
"name": "redis_clients_connected",
"type": "Sum",
"unit": "number",
"description": "Number of client connections (excluding connections from replicas)"
},
{
"name": "redis_keys_evicted",
"type": "Sum",
"unit": "number",
"description": "Number of evicted keys due to maxmemory limit"
},
{
"name": "redis_maxmemory",
"type": "Gauge",
"unit": "Bytes",
"description": "The value of the maxmemory configuration directive"
},
{
"name": "redis_clients_max_input_buffer",
"type": "Gauge",
"unit": "Bytes",
"description": "Biggest input buffer among current client connections"
},
{
"name": "redis_cmd_latency",
"type": "Gauge",
"unit": "s",
"description": "Command execution latency"
},
{
"name": "redis_memory_lua",
"type": "Gauge",
"unit": "Bytes",
"description": "Number of bytes used by the Lua engine"
},
{
"name": "redis_replication_backlog_first_byte_offset",
"type": "Gauge",
"unit": "Bytes",
"description": "The master offset of the replication backlog buffer"
},
{
"name": "redis_keyspace_hits",
"type": "Sum",
"unit": "number",
"description": "Number of successful lookup of keys in the main dictionary"
},
{
"name": "redis_clients_blocked",
"type": "Sum",
"unit": "number",
"description": "Number of clients pending on a blocking call"
},
{
"name": "redis_connections_rejected",
"type": "Sum",
"unit": "number",
"description": "Number of connections rejected because of maxclients limit"
},
{
"name": "redis_latest_fork",
"type": "Gauge",
"unit": "us",
"description": "Duration of the latest fork operation in microseconds"
},
{
"name": "redis_clients_max_output_buffer",
"type": "Gauge",
"unit": "Bytes",
"description": "Longest output list among current client connections"
},
{
"name": "redis_slaves_connected",
"type": "Sum",
"unit": "number",
"description": "Number of connected replicas"
},
{
"name": "redis_db_keys",
"type": "Gauge",
"unit": "number",
"description": "Number of keyspace keys"
},
{
"name": "redis_keyspace_misses",
"type": "Sum",
"unit": "number",
"description": "Number of failed lookup of keys in the main dictionary"
},
{
"name": "redis_uptime",
"type": "Sum",
"unit": "s",
"description": "Number of seconds since Redis server start"
},
{
"name": "redis_memory_used",
"type": "Gauge",
"unit": "Bytes",
"description": "Total number of bytes allocated by Redis using its allocator"
},
{
"name": "redis_net_output",
"type": "Sum",
"unit": "Bytes",
"description": "The total number of bytes written to the network"
},
{
"name": "redis_connections_received",
"type": "Sum",
"unit": "number",
"description": "Total number of connections accepted by the server"
},
{
"name": "redis_rdb_changes_since_last_save",
"type": "Sum",
"unit": "number",
"description": "Number of changes since the last dump"
},
{
"name": "redis_memory_rss",
"type": "Gauge",
"unit": "Bytes",
"description": "Number of bytes that Redis allocated as seen by the operating system"
},
{
"name": "redis_db_avg_ttl",
"type": "Gauge",
"unit": "ms",
"description": "Average keyspace keys TTL"
},
{
"name": "redis_memory_peak",
"type": "Gauge",
"unit": "Bytes",
"description": "Peak memory consumed by Redis (in bytes)"
},
{
"name": "redis_memory_fragmentation_ratio",
"type": "Gauge",
"unit": "number",
"description": "Ratio between used_memory_rss and used_memory"
}
]
}
}

View File

@ -0,0 +1,5 @@
### Monitor AWS ElastiCache (redis) with SigNoz
Collect key AWS ElastiCache (redis) metrics and view them with an out of the box dashboard.
Collect and parse AWS ElastiCache (redis) logs to populate timestamp, severity, and other log attributes for better querying and aggregation.

View File

@ -0,0 +1,84 @@
### Collect RDS Logs
#### Find the list of log group names for RDS instance
The log collection of RDS instance requires specifying the list of log group names. From the AWS CloudWatch console, please find the log group(s) relevant to the integration.
#### Create collector config file
Save the following config for collecting RDS logs in a file named `mysql-logs-collection-config.yaml` and set the `region` key with relevant value.
```yaml
receivers:
awscloudwatch/rds_mysql_logs:
region: us-east-1
logs:
poll_interval: 1m
groups:
named:
# replace the following name with your log group for RDS logs
/aws/rds/:
processors:
attributes/add_source_mysql:
actions:
- key: source
value: "rds_mysql"
action: insert
batch:
send_batch_size: 10000
send_batch_max_size: 11000
timeout: 10s
exporters:
# export to SigNoz cloud
otlp/mysql_logs:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
service:
pipelines:
logs/mysql:
receivers: [awscloudwatch/rds_mysql_logs]
processors: [attributes/add_source_mysql, batch]
exporters: [otlp/mysql_logs]
```
#### Update log group names
Add the one or more log group names for the RDS under the `named` section of the awscloudwatch receiver.
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your otel collector and use it by adding the following flag to the command for running your collector
```bash
--config mysql_logs-collection-config.yaml
```
Note: the collector can use multiple config files, specified by multiple occurrences of the --config flag.
#### Parse the logs
Use the log pipelines feature to parse and structure the logs https://signoz.io/docs/logs-pipelines/introduction/

View File

@ -0,0 +1,324 @@
### Collect RDS Metrics
The RDS (for MySQL) metrics collection is a two-step process.
#### Set up the Prometheus CloudWatch exporter
The [CloudWatch Exporter](https://github.com/prometheus/cloudwatch_exporter) is A Prometheus exporter for collecting CloudWatch metrics. This section describes the steps for downloading and configuring the Prometheus CloudWatch exporter.
1. Download the Prometheus CloudWatch exporter JAR file, and run the following command:
```sh
curl -sLSO https://github.com/prometheus/cloudwatch_exporter/releases/download/v0.15.5/cloudwatch_exporter-0.15.5-jar-with-dependencies.jar
```
2. Configure the Prometheus exporter
Save the following config for collecting AWS RDS metrics in a file named `aws-rds-mysql-metrics.yaml`. Update the `region` with relevant value.
```yaml
---
region: us-east-1
metrics:
- aws_namespace: AWS/RDS
aws_metric_name: BinLogDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: BurstBalance
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: CheckpointLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ConnectionAttempts
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: CPUUtilization
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DatabaseConnections
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DiskQueueDepth
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: DiskQueueDepthLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: EBSByteBalance%
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: EBSIOBalance%
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeableMemory
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: FreeLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeStorageSpace
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeStorageSpaceLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: MaximumUsedTransactionIDs
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: NetworkReceiveThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: NetworkTransmitThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: OldestReplicationSlotLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPS
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPSLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPSLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatency
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatencyLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatencyLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadThroughputLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicaLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicationChannelLag
aws_dimensions: [DBInstanceIdentifier]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicationSlotDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: TransactionLogsDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: TransactionLogsGeneration
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: WriteIOPS
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: WriteLatency
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: WriteThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: SwapUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoad
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoadCPU
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoadNonCPU
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
```
3. Run the following command
```sh
java -jar cloudwatch_exporter-0.15.5-jar-with-dependencies.jar 9106 aws-rds-mysql-metrics.yaml
```
#### Set up the OTEL Collector
Save the following config for collecting MySQL metrics in a file named `mysql-metrics-collection-config.yaml`
```yaml
receivers:
mysql:
# The hostname and port of the MySQL instance, separated by a colon.
endpoint: ${env:MYSQL_ENDPOINT}
# The username used to access the MySQL instance.
username: ${env:MYSQL_USERNAME}
# The password used to access the MySQL instance.
password: ${env:MYSQL_PASSWORD}
# The frequency at which to collect metrics from the Redis instance.
collection_interval: 60s
# Additional configuration for query to build mysql.statement_events.count and mysql.statement_events.wait.time metrics
statement_events:
digest_text_limit: 120
time_limit: 24h
limit: 250
# tls:
# insecure: false
# ca_file: /etc/ssl/certs/ca-certificates.crt
# cert_file: /etc/ssl/certs/redis.crt
# key_file: /etc/ssl/certs/redis.key
metrics:
mysql.client.network.io:
enabled: true
mysql.commands:
enabled: true
mysql.connection.count:
enabled: true
mysql.connection.errors:
enabled: true
mysql.joins:
enabled: true
mysql.query.count:
enabled: true
mysql.query.slow.count:
enabled: true
mysql.replica.sql_delay:
enabled: true
mysql.replica.time_behind_source:
enabled: true
# Collecting cloudwatch metrics
prometheus:
config:
scrape_configs:
- job_name: 'aws-cloudwatch-metrics'
scrape_timeout: 120s
scrape_interval: 300s
static_configs:
- targets: ['0.0.0.0:9106']
exporters:
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
# export to SigNoz cloud
otlp/signoz:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
service:
pipelines:
metrics/mysql:
receivers: [mysql, prometheus]
processors: []
exporters: [otlp/signoz]
```
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# The accessible endpoint where MySQL server is running
export MYSQL_ENDPOINT="<mysql-server-endpoint>"
export MYSQL_USERNAME="<username>"
# The password to use for accessing mysql instance
export MYSQL_PASSWORD="<PASSWORD>"
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your otel collector and use it by adding the following flag to the command for running your collector
```bash
--config mysql-metrics-collection-config.yaml
```
Note: the collector can use multiple config files, specified by multiple occurrences of the --config flag.

View File

@ -0,0 +1,24 @@
## Before You Begin
To configure metrics and logs collection for an AWS RDS for MySQL, you need the following.
- **Ensure Credentials and permissions are set correctly**
The components used for this integration relies on AWS SDKs, which offer a variety of ways to provide credentials, including the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables.
The following IAM permissions are required:
- `cloudwatch:ListMetrics`
- `cloudwatch:GetMetricStatistics`
- `cloudwatch:GetMetricData`
- `tag:GetResources` (if aws_tag_select feature is used)
- `logs:DescribeLogGroups`
- `logs:FilterLogEvents`
- **Ensure Java Runtime Environment (JRE), version 11 or newer**
The CloudWatch Exporter used to collect the metrics requires a Java runtime environment version 11 or newer. This is not required if you can run the docker container.
- **Ensure that an OTEL collector is running in your deployment environment**
If needed, please [install an OTEL Collector](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) If already installed, ensure that the collector version is v0.88.0 or newer. Also, ensure that you can provide config files to the collector and that you can set environment variables and command line flags used for running it.
- **Ensure that the OTEL collector can access the MySQL server**
To collect MySQL engine metrics, the collector must be able to access the MySQL server as a client. This step is optional.

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 64 (93537) - https://sketch.com -->
<title>Icon-Architecture/64/Arch_Amazon-RDS_64</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="0%" y1="100%" x2="100%" y2="0%" id="linearGradient-1">
<stop stop-color="#2E27AD" offset="0%"></stop>
<stop stop-color="#527FFF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Icon-Architecture/64/Arch_Amazon-RDS_64" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Icon-Architecture-BG/64/Database" fill="url(#linearGradient-1)">
<rect id="Rectangle" x="0" y="0" width="80" height="80"></rect>
</g>
<path d="M15.414,14 L24.707,23.293 L23.293,24.707 L14,15.414 L14,23 L12,23 L12,13 C12,12.448 12.447,12 13,12 L23,12 L23,14 L15.414,14 Z M68,13 L68,23 L66,23 L66,15.414 L56.707,24.707 L55.293,23.293 L64.586,14 L57,14 L57,12 L67,12 C67.553,12 68,12.448 68,13 L68,13 Z M66,57 L68,57 L68,67 C68,67.552 67.553,68 67,68 L57,68 L57,66 L64.586,66 L55.293,56.707 L56.707,55.293 L66,64.586 L66,57 Z M65.5,39.213 C65.5,35.894 61.668,32.615 55.25,30.442 L55.891,28.548 C63.268,31.045 67.5,34.932 67.5,39.213 C67.5,43.495 63.268,47.383 55.89,49.879 L55.249,47.984 C61.668,45.812 65.5,42.534 65.5,39.213 L65.5,39.213 Z M14.556,39.213 C14.556,42.393 18.143,45.585 24.152,47.753 L23.473,49.634 C16.535,47.131 12.556,43.333 12.556,39.213 C12.556,35.094 16.535,31.296 23.473,28.792 L24.152,30.673 C18.143,32.842 14.556,36.034 14.556,39.213 L14.556,39.213 Z M24.707,56.707 L15.414,66 L23,66 L23,68 L13,68 C12.447,68 12,67.552 12,67 L12,57 L14,57 L14,64.586 L23.293,55.293 L24.707,56.707 Z M40,31.286 C32.854,31.286 29,29.44 29,28.686 C29,27.931 32.854,26.086 40,26.086 C47.145,26.086 51,27.931 51,28.686 C51,29.44 47.145,31.286 40,31.286 L40,31.286 Z M40.029,39.031 C33.187,39.031 29,37.162 29,36.145 L29,31.284 C31.463,32.643 35.832,33.286 40,33.286 C44.168,33.286 48.537,32.643 51,31.284 L51,36.145 C51,37.163 46.835,39.031 40.029,39.031 L40.029,39.031 Z M40.029,46.667 C33.187,46.667 29,44.798 29,43.781 L29,38.862 C31.431,40.291 35.742,41.031 40.029,41.031 C44.292,41.031 48.578,40.292 51,38.867 L51,43.781 C51,44.799 46.835,46.667 40.029,46.667 L40.029,46.667 Z M40,53.518 C32.883,53.518 29,51.605 29,50.622 L29,46.498 C31.431,47.927 35.742,48.667 40.029,48.667 C44.292,48.667 48.578,47.929 51,46.503 L51,50.622 C51,51.605 47.117,53.518 40,53.518 L40,53.518 Z M40,24.086 C33.739,24.086 27,25.525 27,28.686 L27,50.622 C27,53.836 33.54,55.518 40,55.518 C46.46,55.518 53,53.836 53,50.622 L53,28.686 C53,25.525 46.261,24.086 40,24.086 L40,24.086 Z" id="Amazon-RDS_Icon_64_Squid" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,757 @@
{
"id": "aws_rds_mysql",
"title": "AWS RDS (MySQL)",
"description": "Monitor AWS RDS (MySQL) with metrics and logs",
"author": {
"name": "SigNoz",
"email": "integrations@signoz.io",
"homepage": "https://signoz.io"
},
"icon": "file://icon.svg",
"categories": [
"Database"
],
"overview": "file://overview.md",
"configuration": [
{
"title": "Prerequisites",
"instructions": "file://config/prerequisites.md"
},
{
"title": "Collect Metrics",
"instructions": "file://config/collect-metrics.md"
},
{
"title": "Collect Logs",
"instructions": "file://config/collect-logs.md"
}
],
"assets": {
"logs": {
"pipelines": []
},
"dashboards": [
"file://assets/dashboards/overview.json",
"file://assets/dashboards/db_metrics.json"
],
"alerts": []
},
"connection_tests": {
"logs": {
"attribute_key": "source",
"attribute_value": "rds_mysql"
}
},
"data_collected": {
"logs": [
{
"name": "Timestamp",
"path": "timestamp",
"type": "timestamp"
},
{
"name": "Body",
"path": "body",
"type": "string"
}
],
"metrics": [
{
"name": "aws_rds_cpuutilization_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_bin_log_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_checkpoint_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CheckpointLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_checkpoint_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CheckpointLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_cpuutilization_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_database_connections_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_database_connections_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count"
},
{
"name": "aws_rds_dbload_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoad Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_cpu_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadCPU Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_cpu_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadCPU Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_dbload_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoad Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_dbload_non_cpu_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadNonCPU Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_non_cpu_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadNonCPU Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_disk_queue_depth_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_ebsbyte_balance__average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_free_local_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_maximum_used_transaction_ids_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS MaximumUsedTransactionIDs Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_network_receive_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_oldest_replication_slot_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS OldestReplicationSlotLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_oldest_replication_slot_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS OldestReplicationSlotLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_read_iops_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_read_iopslocal_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPSLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_read_iopslocal_storage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPSLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_read_latency_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_read_latency_local_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatencyLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_read_latency_local_storage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatencyLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_read_latency_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_read_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_replica_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicaLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_replica_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicaLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_replication_slot_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicationSlotDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_transaction_logs_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS TransactionLogsDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_transaction_logs_generation_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS TransactionLogsGeneration Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_write_iops_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_write_latency_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_write_latency_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_write_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_bin_log_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_cpuutilization_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_database_connections_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count"
},
{
"name": "aws_rds_database_connections_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count"
},
{
"name": "aws_rds_database_connections_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count"
},
{
"name": "aws_rds_ebsbyte_balance__maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_free_storage_space_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_network_receive_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_read_iops_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count/Second"
},
{
"name": "aws_rds_read_latency_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Seconds"
},
{
"name": "aws_rds_read_latency_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Seconds"
},
{
"name": "aws_rds_read_latency_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Seconds"
},
{
"name": "aws_rds_read_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_swap_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_write_iops_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count/Second"
},
{
"name": "aws_rds_write_latency_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Seconds"
},
{
"name": "aws_rds_write_latency_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Seconds"
},
{
"name": "aws_rds_write_latency_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Seconds"
},
{
"name": "aws_rds_write_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
}
]
}
}

View File

@ -0,0 +1,5 @@
### Monitor AWS RDS for MySQL with SigNoz
Collect key AWS RDS for MySQL metrics and view them with an out of the box dashboard.
Collect and parse AWS RDS for MySQL logs to populate timestamp, severity, and other log attributes for better querying and aggregation.

View File

@ -0,0 +1,76 @@
### Collect RDS Logs
#### Find the list of log group names for RDS instance
Collecting logs from an RDS instance requires specifying the list of log group names. From the AWS CloudWatch console, please find the log group(s) relevant to the integration.
#### Create collector config file
Save the following configuration for collecting RDS logs in a file named `postgres-logs-collection-config.yaml`. Make sure to update the log group name(s) under the `named` section of the `awscloudwatch` receiver in the config, and set the `region` with the relevant value.
```yaml
receivers:
awscloudwatch/rds_postgres_logs:
region: us-east-1
logs:
poll_interval: 1m
groups:
named:
# replace the following name with your log group for RDS logs
/aws/rds/:
processors:
attributes/add_source_postgres:
actions:
- key: source
value: "rds_postgres"
action: insert
batch:
send_batch_size: 10000
send_batch_max_size: 11000
timeout: 10s
exporters:
# export to SigNoz cloud
otlp/postgres_logs:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
service:
pipelines:
logs/postgres:
receivers: [awscloudwatch/rds_postgres_logs]
processors: [attributes/add_source_postgres, batch]
exporters: [otlp/postgres_logs]
```
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your OpenTelemetry (otel) collector and use it by adding the following flag to the command for running your collector:
```bash
--config postgres-logs-collection-config.yaml
```
Note: The collector can use multiple config files, specified by multiple occurrences of the --config flag.

View File

@ -0,0 +1,314 @@
### Collect RDS Metrics
Collecting RDS (for PostgreSQL) metrics is a two-step process.
#### Set up the Prometheus CloudWatch exporter
The [CloudWatch Exporter](https://github.com/prometheus/cloudwatch_exporter) is A Prometheus exporter for collecting CloudWatch metrics. This section describes the steps for downloading and configuring the Prometheus CloudWatch exporter.
1. Download the Prometheus CloudWatch exporter JAR file, and run the following command:
```sh
curl -sLSO https://github.com/prometheus/cloudwatch_exporter/releases/download/v0.15.5/cloudwatch_exporter-0.15.5-jar-with-dependencies.jar
```
2. Configure the Prometheus exporter
Save the following config for collecting AWS RDS metrics in a file named `aws-rds-postgres-metrics.yaml` and update the `region` key with relevant value.
```yaml
---
region: us-east-1
metrics:
- aws_namespace: AWS/RDS
aws_metric_name: BinLogDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: BurstBalance
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: CheckpointLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ConnectionAttempts
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: CPUUtilization
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DatabaseConnections
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DiskQueueDepth
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: DiskQueueDepthLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: EBSByteBalance%
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: EBSIOBalance%
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeableMemory
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: FreeLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeStorageSpace
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: FreeStorageSpaceLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: MaximumUsedTransactionIDs
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: NetworkReceiveThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: NetworkTransmitThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: OldestReplicationSlotLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPS
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPSLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadIOPSLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatency
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatencyLocalStorage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadLatencyLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReadThroughputLogVolume
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicaLag
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicationChannelLag
aws_dimensions: [DBInstanceIdentifier]
- aws_namespace: AWS/RDS
aws_metric_name: ReplicationSlotDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: TransactionLogsDiskUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: TransactionLogsGeneration
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average]
- aws_namespace: AWS/RDS
aws_metric_name: WriteIOPS
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: WriteLatency
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: WriteThroughput
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: SwapUsage
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoad
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoadCPU
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
- aws_namespace: AWS/RDS
aws_metric_name: DBLoadNonCPU
aws_dimensions: [DBInstanceIdentifier]
aws_statistics: [Average, Maximum]
```
3. Run the following command
```sh
java -jar cloudwatch_exporter-0.15.5-jar-with-dependencies.jar 9106 aws-rds-postgres-metrics.yaml
```
4. Verify the CloudWatch metrics
Visit the http://localhost:9106/metrics and confirm the `aws_rds_*` metrics are avialable.
#### Set up the OTEL Collector
Save the following config for collecting Postgres metrics in a file named `postgres-metrics-collection-config.yaml`
```yaml
receivers:
postgresql:
# The endpoint of the postgresql server. Whether using TCP or Unix sockets, this value should be host:port. If transport is set to unix, the endpoint will internally be translated from host:port to /host.s.PGSQL.port
endpoint: ${env:POSTGRESQL_ENDPOINT}
# The frequency at which to collect metrics from the Postgres instance.
collection_interval: 60s
# The username used to access the postgres instance
username: ${env:POSTGRESQL_USERNAME}
# The password used to access the postgres instance
password: ${env:POSTGRESQL_PASSWORD}
# The list of databases for which the receiver will attempt to collect statistics. If an empty list is provided, the receiver will attempt to collect statistics for all non-template databases
databases: ["pgtestdb"]
# # Defines the network to use for connecting to the server. Valid Values are `tcp` or `unix`
# transport: tcp
tls:
insecure_skip_verify: true
# ca_file: /etc/ssl/certs/ca-certificates.crt
# cert_file: /etc/ssl/certs/postgres.crt
# key_file: /etc/ssl/certs/postgres.key
metrics:
postgresql.database.locks:
enabled: true
postgresql.deadlocks:
enabled: true
postgresql.sequential_scans:
enabled: true
prometheus:
config:
scrape_configs:
- job_name: 'aws-cloudwatch-metrics'
scrape_timeout: 120s
scrape_interval: 300s
static_configs:
- targets: ['0.0.0.0:9106']
exporters:
# export to local collector
otlp/local:
endpoint: "localhost:4317"
tls:
insecure: true
# export to SigNoz cloud
otlp/signoz:
endpoint: "${env:OTLP_DESTINATION_ENDPOINT}"
tls:
insecure: false
headers:
"signoz-access-token": "${env:SIGNOZ_INGESTION_KEY}"
service:
pipelines:
metrics/postgresql:
receivers: [postgresql, prometheus]
processors: []
exporters: [otlp/signoz]
```
#### Set Environment Variables
Set the following environment variables in your otel-collector environment:
```bash
# The accessible endpoint where PostgreSQL server is running
export POSTGRESQL_ENDPOINT="<postgres-server-endpoint>"
export POSTGRESQL_USERNAME="<username>"
# The password to use for accessing postgres instance
export POSTGRESQL_PASSWORD="<PASSWORD>"
# region specific SigNoz cloud ingestion endpoint
export OTLP_DESTINATION_ENDPOINT="ingest.us.signoz.cloud:443"
# your SigNoz ingestion key
export SIGNOZ_INGESTION_KEY="signoz-ingestion-key"
```
#### Use collector config file
Make the collector config file available to your OpenTelemetry (OTel) collector and use it by adding the following flag to the command for running your collector:
```bash
--config postgres-metrics-collection-config.yaml
```
Note: the collector can use multiple config files, specified by multiple occurrences of the --config flag.

View File

@ -0,0 +1,22 @@
## Before You Begin
To configure metrics and logs collection for an AWS RDS for PostgreSQL, you need the following.
- **Ensure Credentials and permissions are set correctly**
The components used for this integration rely on AWS SDKs, which offer a variety of ways to provide credentials, including the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables.
The following IAM permissions are required:
- `cloudwatch:ListMetrics`
- `cloudwatch:GetMetricStatistics`
- `cloudwatch:GetMetricData`
- `logs:DescribeLogGroups`
- `logs:FilterLogEvents`
- **Ensure Java Runtime Environment (JRE), version 11 or newer**
The CloudWatch Exporter used to collect the metrics requires a Java runtime environment version 11 or newer. Alternatively, you can also run a docker container https://github.com/prometheus/cloudwatch_exporter#docker-images
- **Ensure that an OTEL collector is running in your deployment environment**
Please [install an OTEL Collector](https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/) If already installed, ensure that the collector version is v0.88.0 or newer. Also, ensure that you can provide config files to the collector and that you can set environment variables and command line flags used for running it.
- **Ensure that the OTEL collector can access the Postgres server**
To collect Postgres server metrics, the collector must be able to access the Postgres server as a client. This step is optional if you are only interested in working with CloudWatch metrics.

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 64 (93537) - https://sketch.com -->
<title>Icon-Architecture/64/Arch_Amazon-RDS_64</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="0%" y1="100%" x2="100%" y2="0%" id="linearGradient-1">
<stop stop-color="#2E27AD" offset="0%"></stop>
<stop stop-color="#527FFF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Icon-Architecture/64/Arch_Amazon-RDS_64" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Icon-Architecture-BG/64/Database" fill="url(#linearGradient-1)">
<rect id="Rectangle" x="0" y="0" width="80" height="80"></rect>
</g>
<path d="M15.414,14 L24.707,23.293 L23.293,24.707 L14,15.414 L14,23 L12,23 L12,13 C12,12.448 12.447,12 13,12 L23,12 L23,14 L15.414,14 Z M68,13 L68,23 L66,23 L66,15.414 L56.707,24.707 L55.293,23.293 L64.586,14 L57,14 L57,12 L67,12 C67.553,12 68,12.448 68,13 L68,13 Z M66,57 L68,57 L68,67 C68,67.552 67.553,68 67,68 L57,68 L57,66 L64.586,66 L55.293,56.707 L56.707,55.293 L66,64.586 L66,57 Z M65.5,39.213 C65.5,35.894 61.668,32.615 55.25,30.442 L55.891,28.548 C63.268,31.045 67.5,34.932 67.5,39.213 C67.5,43.495 63.268,47.383 55.89,49.879 L55.249,47.984 C61.668,45.812 65.5,42.534 65.5,39.213 L65.5,39.213 Z M14.556,39.213 C14.556,42.393 18.143,45.585 24.152,47.753 L23.473,49.634 C16.535,47.131 12.556,43.333 12.556,39.213 C12.556,35.094 16.535,31.296 23.473,28.792 L24.152,30.673 C18.143,32.842 14.556,36.034 14.556,39.213 L14.556,39.213 Z M24.707,56.707 L15.414,66 L23,66 L23,68 L13,68 C12.447,68 12,67.552 12,67 L12,57 L14,57 L14,64.586 L23.293,55.293 L24.707,56.707 Z M40,31.286 C32.854,31.286 29,29.44 29,28.686 C29,27.931 32.854,26.086 40,26.086 C47.145,26.086 51,27.931 51,28.686 C51,29.44 47.145,31.286 40,31.286 L40,31.286 Z M40.029,39.031 C33.187,39.031 29,37.162 29,36.145 L29,31.284 C31.463,32.643 35.832,33.286 40,33.286 C44.168,33.286 48.537,32.643 51,31.284 L51,36.145 C51,37.163 46.835,39.031 40.029,39.031 L40.029,39.031 Z M40.029,46.667 C33.187,46.667 29,44.798 29,43.781 L29,38.862 C31.431,40.291 35.742,41.031 40.029,41.031 C44.292,41.031 48.578,40.292 51,38.867 L51,43.781 C51,44.799 46.835,46.667 40.029,46.667 L40.029,46.667 Z M40,53.518 C32.883,53.518 29,51.605 29,50.622 L29,46.498 C31.431,47.927 35.742,48.667 40.029,48.667 C44.292,48.667 48.578,47.929 51,46.503 L51,50.622 C51,51.605 47.117,53.518 40,53.518 L40,53.518 Z M40,24.086 C33.739,24.086 27,25.525 27,28.686 L27,50.622 C27,53.836 33.54,55.518 40,55.518 C46.46,55.518 53,53.836 53,50.622 L53,28.686 C53,25.525 46.261,24.086 40,24.086 L40,24.086 Z" id="Amazon-RDS_Icon_64_Squid" fill="#FFFFFF"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,919 @@
{
"id": "aws_rds_postgresql",
"title": "AWS RDS (PostgreSQL)",
"description": "Monitor AWS RDS (PostgreSQL) with metrics and logs",
"author": {
"name": "SigNoz",
"email": "integrations@signoz.io",
"homepage": "https://signoz.io"
},
"icon": "file://icon.svg",
"categories": [
"Database"
],
"overview": "file://overview.md",
"configuration": [
{
"title": "Prerequisites",
"instructions": "file://config/prerequisites.md"
},
{
"title": "Collect Metrics",
"instructions": "file://config/collect-metrics.md"
},
{
"title": "Collect Logs",
"instructions": "file://config/collect-logs.md"
}
],
"assets": {
"logs": {
"pipelines": []
},
"dashboards": [
"file://assets/dashboards/overview.json",
"file://assets/dashboards/db_metrics_overview.json"
],
"alerts": []
},
"connection_tests": {
"logs": {
"attribute_key": "source",
"attribute_value": "rds_postgres"
}
},
"data_collected": {
"logs": [
{
"name": "Timestamp",
"path": "timestamp",
"type": "timestamp"
},
{
"name": "Body",
"path": "body",
"type": "string"
}
],
"metrics": [
{
"name": "aws_rds_cpuutilization_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: null Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_bin_log_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_checkpoint_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CheckpointLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_checkpoint_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CheckpointLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_cpuutilization_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_database_connections_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_database_connections_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count"
},
{
"name": "aws_rds_dbload_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoad Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_cpu_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadCPU Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_cpu_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadCPU Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_dbload_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoad Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_dbload_non_cpu_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadNonCPU Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: None"
},
{
"name": "aws_rds_dbload_non_cpu_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DBLoadNonCPU Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: None"
},
{
"name": "aws_rds_disk_queue_depth_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_ebsbyte_balance__average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Percent"
},
{
"name": "aws_rds_free_local_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_maximum_used_transaction_ids_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS MaximumUsedTransactionIDs Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count"
},
{
"name": "aws_rds_network_receive_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_oldest_replication_slot_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS OldestReplicationSlotLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_oldest_replication_slot_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS OldestReplicationSlotLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_read_iops_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_read_iopslocal_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPSLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_read_iopslocal_storage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPSLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_read_latency_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_read_latency_local_storage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatencyLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_read_latency_local_storage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatencyLocalStorage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_read_latency_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_read_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_replica_lag_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicaLag Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_replica_lag_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicaLag Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_replication_slot_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReplicationSlotDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_transaction_logs_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS TransactionLogsDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_transaction_logs_generation_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS TransactionLogsGeneration Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_write_iops_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count/Second"
},
{
"name": "aws_rds_write_latency_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Seconds"
},
{
"name": "aws_rds_write_latency_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Seconds"
},
{
"name": "aws_rds_write_throughput_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Average Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes/Second"
},
{
"name": "aws_rds_bin_log_disk_usage_average",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Average Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: null Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_bin_log_disk_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS BinLogDiskUsage Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_cpuutilization_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_cpuutilization_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS CPUUtilization Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_database_connections_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count"
},
{
"name": "aws_rds_database_connections_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count"
},
{
"name": "aws_rds_database_connections_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DatabaseConnections Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count"
},
{
"name": "aws_rds_disk_queue_depth_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS DiskQueueDepth Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count"
},
{
"name": "aws_rds_ebsbyte_balance__maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_ebsbyte_balance__sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSByteBalance% Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Percent"
},
{
"name": "aws_rds_ebsiobalance__sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS EBSIOBalance% Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Percent"
},
{
"name": "aws_rds_free_storage_space_maximum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Maximum Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_free_storage_space_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeStorageSpace Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_freeable_memory_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS FreeableMemory Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_network_receive_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_network_receive_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkReceiveThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_network_transmit_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS NetworkTransmitThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_read_iops_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count/Second"
},
{
"name": "aws_rds_read_iops_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadIOPS Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count/Second"
},
{
"name": "aws_rds_read_latency_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Seconds"
},
{
"name": "aws_rds_read_latency_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Seconds"
},
{
"name": "aws_rds_read_latency_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadLatency Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Seconds"
},
{
"name": "aws_rds_read_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_read_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS ReadThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "aws_rds_swap_usage_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes"
},
{
"name": "aws_rds_swap_usage_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS SwapUsage Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes"
},
{
"name": "aws_rds_write_iops_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Count/Second"
},
{
"name": "aws_rds_write_iops_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteIOPS Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Count/Second"
},
{
"name": "aws_rds_write_latency_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Seconds"
},
{
"name": "aws_rds_write_latency_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Seconds"
},
{
"name": "aws_rds_write_latency_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteLatency Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Seconds"
},
{
"name": "aws_rds_write_throughput_minimum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Minimum Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_sample_count",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: SampleCount Unit: Bytes/Second"
},
{
"name": "aws_rds_write_throughput_sum",
"type": "Gauge",
"unit": "number",
"description": "CloudWatch metric AWS/RDS WriteThroughput Dimensions: [DBInstanceIdentifier] Statistic: Sum Unit: Bytes/Second"
},
{
"name": "postgresql_backends",
"type": "sum",
"unit": "number",
"description": "The number of backends."
},
{
"name": "postgresql_bgwriter_buffers_allocated",
"type": "sum",
"unit": "number",
"description": "Number of buffers allocated."
},
{
"name": "postgresql_bgwriter_buffers_writes",
"type": "sum",
"unit": "number",
"description": "Number of buffers written."
},
{
"name": "postgresql_bgwriter_checkpoint_count",
"type": "sum",
"unit": "number",
"description": "The number of checkpoints performed."
},
{
"name": "postgresql_bgwriter_duration",
"type": "sum",
"unit": "ms",
"description": "Total time spent writing and syncing files to disk by checkpoints."
},
{
"name": "postgresql_bgwriter_maxwritten",
"type": "sum",
"unit": "number",
"description": "Number of times the background writer stopped a cleaning scan because it had written too many buffers."
},
{
"name": "postgresql_blocks_read",
"type": "sum",
"unit": "number",
"description": "The number of blocks read."
},
{
"name": "postgresql_commits",
"type": "sum",
"unit": "number",
"description": "The number of commits."
},
{
"name": "postgresql_connection_max",
"type": "gauge",
"unit": "number",
"description": "Configured maximum number of client connections allowed"
},
{
"name": "postgresql_database_count",
"type": "sum",
"unit": "number",
"description": "Number of user databases."
},
{
"name": "postgresql_database_locks",
"type": "gauge",
"unit": "number",
"description": "The number of database locks."
},
{
"name": "postgresql_db_size",
"type": "sum",
"unit": "Bytes",
"description": "The database disk usage."
},
{
"name": "postgresql_deadlocks",
"type": "sum",
"unit": "number",
"description": "The number of deadlocks."
},
{
"name": "postgresql_index_scans",
"type": "sum",
"unit": "number",
"description": "The number of index scans on a table."
},
{
"name": "postgresql_index_size",
"type": "gauge",
"unit": "Bytes",
"description": "The size of the index on disk."
},
{
"name": "postgresql_operations",
"type": "sum",
"unit": "number",
"description": "The number of db row operations."
},
{
"name": "postgresql_replication_data_delay",
"type": "gauge",
"unit": "Bytes",
"description": "The amount of data delayed in replication."
},
{
"name": "postgresql_rollbacks",
"type": "sum",
"unit": "number",
"description": "The number of rollbacks."
},
{
"name": "postgresql_rows",
"type": "sum",
"unit": "number",
"description": "The number of rows in the database."
},
{
"name": "postgresql_sequential_scans",
"type": "sum",
"unit": "number",
"description": "The number of sequential scans."
},
{
"name": "postgresql_table_count",
"type": "sum",
"unit": "number",
"description": "Number of user tables in a database."
},
{
"name": "postgresql_table_size",
"type": "sum",
"unit": "Bytes",
"description": "Disk space used by a table."
},
{
"name": "postgresql_table_vacuum_count",
"type": "sum",
"unit": "number",
"description": "Number of times a table has manually been vacuumed."
},
{
"name": "postgresql_temp_files",
"type": "sum",
"unit": "number",
"description": "The number of temp files."
},
{
"name": "postgresql_wal_age",
"type": "gauge",
"unit": "seconds",
"description": "Age of the oldest WAL file."
},
{
"name": "postgresql_wal_delay",
"type": "gauge",
"unit": "seconds",
"description": "Time between flushing recent WAL locally and receiving notification that the standby server has completed an operation with it."
},
{
"name": "postgresql_wal_lag",
"type": "gauge",
"unit": "seconds",
"description": "Time between flushing recent WAL locally and receiving notification that the standby server has completed an operation with it."
}
]
}
}

View File

@ -0,0 +1,5 @@
### Monitor AWS RDS for PostgreSQL with SigNoz
Collect key AWS RDS for PostgreSQL metrics and view them with an out of the box dashboard.
Collect and parse AWS RDS for PostgreSQL logs to populate timestamp, severity, and other log attributes for better querying and aggregation.