AWS Certified Solutions Architect – Professional (SAP-C02) — Question 449
A company wants to record key performance indicators (KPIs) from its application as part of a strategy to convert to a user-based licensing schema. The application is a multi-tier application with a web-based UI. The company saves all log files to Amazon CloudWatch by using the CloudWatch agent. All logins to the application are saved in a log file.
As part of the new license schema, the company needs to find out how many unique users each client has on a daily basis, weekly basis, and monthly basis.
Which solution will provide this information with the LEAST change to the application?
Answer options
- A. Configure an Amazon CloudWatch Logs metric filter that saves each successful login as a metric. Configure the user name and client name as dimensions for the metric.
- B. Change the application logic to make each successful login generate a call to the AWS SDK to increment a custom metric that records user name and client name dimensions in CloudWatch.
- C. Configure the CloudWatch agent to extract successful login metrics from the logs. Additionally, configure the CloudWatch agent to save the successful login metrics as a custom metric that uses the user name and client name as dimensions for the metric.
- D. Configure an AWS Lambda function to consume an Amazon CloudWatch Logs stream of the application logs. Additionally, configure the Lambda function to increment a custom metric in CloudWatch that uses the user name and client name as dimensions for the metric.
Correct answer: A
Explanation
Using an Amazon CloudWatch Logs metric filter is the most efficient solution because it extracts metrics directly from the existing logs already being forwarded to CloudWatch, requiring zero code changes to the application. Option B is incorrect because it requires modifying the application code to use the AWS SDK, which violates the requirement for minimal changes. Options C and D introduce unnecessary operational complexity compared to native CloudWatch metric filters.