Skip to main content

Amazon Data Firehose Monitoring in ObserveOps

Overview

The Amazon Data Firehose integration with ObserveOps (formerly known as AIOps) collects delivery stream configuration and throughput telemetry from Amazon Data Firehose, AWS's fully managed data delivery service. It monitors stream state, encryption settings, data ingestion rates, delivery success percentages, data freshness for each destination type, and stream rate limits.

These metrics help data engineering teams detect delivery failures, track data freshness, identify throttling, and verify that records reach their intended destinations at expected rates.

Prerequisites

  • Amazon Data Firehose is enabled in the target AWS account and region with at least one delivery stream configured.
  • The IAM role or user used for integration has read access to Firehose resources (firehose:ListDeliveryStreams, firehose:DescribeDeliveryStream, cloudwatch:GetMetricData).
  • Required Firehose and CloudWatch API endpoints are reachable from ObserveOps.
  • The AWS account is added in discovery with correct credentials and region configuration.

List of Supported KPIs

Stream Configuration

MetricDescriptionType
aws.firehose.stateCurrent state of the Firehose delivery stream.String
aws.firehose.typeType of Firehose delivery stream.String
aws.firehose.destination.typeType of destination for the delivery stream.String
aws.firehose.encryption.stateIndicates whether server-side encryption is enabled on the stream.String
aws.firehose.failure.typeType of the most recent delivery failure.String
aws.firehose.create.timeTimestamp when the delivery stream was created.Timestamp
aws.firehose.last.update.timeTimestamp of the most recent stream configuration update.Timestamp

Data Ingestion

MetricDescriptionType
aws.firehose.incoming.bytesTotal bytes ingested into the delivery stream.Bytes
aws.firehose.incoming.bytes.per.secInbound data rate to the delivery stream in bytes per second.Bytes/s
aws.firehose.incoming.recordsTotal number of records ingested into the delivery stream.Count
aws.firehose.incoming.put.requestsTotal number of PutRecord and PutRecordBatch API calls.Count
aws.firehose.throttled.recordsNumber of records throttled due to stream limits.Count

Delivery Success

MetricDescriptionType
aws.firehose.delivery.to.s3.success.percentPercentage of records successfully delivered to S3.Percent
aws.firehose.delivery.to.redshift.success.percentPercentage of records successfully delivered to Redshift.Percent
aws.firehose.delivery.to.opensearch.success.percentPercentage of records successfully delivered to OpenSearch.Percent
aws.firehose.delivery.to.splunk.success.percentPercentage of records successfully delivered to Splunk.Percent
aws.firehose.delivery.to.http.success.percentPercentage of records successfully delivered to HTTP endpoint.Percent

Delivery Freshness

MetricDescriptionType
aws.firehose.delivery.to.s3.data.freshness.secondsAge of the oldest undelivered record to S3 in seconds.Seconds
aws.firehose.delivery.to.splunk.data.freshness.secondsAge of the oldest undelivered record to Splunk in seconds.Seconds
aws.firehose.delivery.to.http.data.freshness.secondsAge of the oldest undelivered record to HTTP endpoint in seconds.Seconds
aws.firehose.delivery.to.opensearch.data.freshness.secondsAge of the oldest undelivered record to OpenSearch in seconds.Seconds
aws.firehose.delivery.to.splunk.ack.latency.secondsLatency for Splunk delivery acknowledgments in seconds.Seconds

Stream Limits

MetricDescriptionType
aws.firehose.bytes.per.sec.limitMaximum allowed inbound data rate in bytes per second.Bytes/s
aws.firehose.records.per.sec.limitMaximum allowed record ingestion rate per second.Count
aws.firehose.kinesis.lag.msLag between Kinesis Data Streams source and Firehose delivery in milliseconds.Milliseconds