Courseiva

SOA-C02 Monitoring, Logging, and Remediation Practice Question

Which TWO options are valid ways to send custom metrics to Amazon CloudWatch?

⚠ Common exam trap

Many candidates think SQS or Kinesis Data Firehose can natively push data to CloudWatch, but neither service has a direct integration for custom metric ingestion—only PutMetricData or the CloudWatch agent (which uses that API) are valid methods.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Use the CloudWatch agent to collect and publish custom metrics.

The CloudWatch agent can be installed on EC2 instances or on-premises servers to collect system-level metrics (like memory and disk usage) and custom application metrics, then publish them to CloudWatch. Option B is correct because the PutMetricData API call allows direct programmatic ingestion of custom metrics into CloudWatch, supporting up to 1,000 metrics per call with a maximum payload of 1 MB.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    Use the CloudWatch agent to collect and publish custom metrics.

    Why this is correct

    The CloudWatch agent is a daemon that runs on EC2 instances or on-premises servers and collects operating system-level metrics such as memory usage, disk space, and CPU utilization, as well as custom application metrics via the StatsD and collectd protocols. It is configured locally or through AWS Systems Manager Parameter Store and publishes the collected data to CloudWatch by internally invoking the PutMetricData API. This is a native, fully supported method for publishing custom metrics without having to write application code.

  • ✓

    Use the PutMetricData API call.

    Why this is correct

    You can publish custom metrics directly from your application by calling the CloudWatch PutMetricData API, which is the programmatic interface for ingesting metric data points into CloudWatch. The call must specify a namespace, metric name, value, and unit, and optionally dimensions, timestamps, and a StorageResolution parameter for high-resolution metrics. The API accepts a batch of up to 20 metric values per request, making it efficient for applications that generate telemetry and need to send it to CloudWatch in real time.

  • ✗

    Use Amazon SQS to send metric data to CloudWatch.

    Why it's wrong here

    Amazon SQS is a fully managed message queue service used to decouple application components; it has no native integration with CloudWatch for ingesting metric data. CloudWatch does not poll or subscribe to SQS queues to automatically create metrics, and SQS itself does not forward messages to CloudWatch as data points. Even though you could build a custom consumer that reads SQS messages and then calls PutMetricData, simply sending messages to SQS would not publish any metrics to CloudWatch.

  • ✗

    Use AWS CloudTrail to log custom metrics.

    Why it's wrong here

    AWS CloudTrail is an auditing service that records API activity in your AWS account, including details such as who made the call, the source IP, and when the action occurred; it is not a pipeline for ingesting numeric metric data. CloudTrail events are delivered as JSON log files to an S3 bucket or to CloudWatch Logs, but CloudWatch Logs is a different storage service from CloudWatch Metrics, and CloudTrail has no mechanism to accept custom metric points. Therefore, CloudTrail cannot be used to send custom metrics to CloudWatch.

  • ✗

    Use Amazon Kinesis Data Firehose to deliver metrics to CloudWatch.

    Why it's wrong here

    Amazon Kinesis Data Firehose is a streaming ingestion service that loads data into supported destinations such as Amazon S3, Amazon Redshift, OpenSearch Service, and Splunk, but CloudWatch is not one of those supported destinations. Firehose does not have a built-in integration to transform records into CloudWatch metric values or to invoke PutMetricData on your behalf. To get metrics into CloudWatch from Firehose, you would need an additional Lambda function to read the data and publish it as metrics, which makes this option indirect and invalid as a direct method.

About these practice questions

One of 1,169 original SOA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.