Improving Logging and Monitoring Capabilities for Your Custom Application in AWS

AWS Service for Enhancing Logging and Monitoring Capabilities

Question

You are the architect of a custom application running inside your corporate data center.

The application runs with some unresolved bugs that produce a lot of data inside custom log files generating time-consuming activities for the operation team responsible for analyzing them. You want to move the application to AWS using EC2 instances.

At the same time, you want to take the opportunity to improve logging and monitoring capabilities, but without touching the application code. What AWS service should you use to satisfy the requirement?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer: C.

Option A is INCORRECT because in order to feed a Data Streams from custom logs you have to change the application code.

AWS documentation describes this with the following sentence: “To put data into the stream, you must specify the name of the stream, a partition key, and the data blob to be added to the stream.”

Option B is INCORRECT because it is not related to the scenario and custom log files.

Option C is CORRECT because AWS CloudWatch Logs has the capability to reuse existing application logs increasing efficiency in operation with the ability to generate on them metrics, alerts and analytics with AWS CloudWatch Logs Insight.

The application and custom log files are exactly as they were when the application was running on-prem.

So you don't need to change any piece of application code that makes them ingestible by AWS CloudWatch Logs.

AWS official documentation in the FAQ section highlights the reusing capability with the sentence “AWS CloudWatch Logs lets you monitor and troubleshoot your systems and applications using your existing system, application and custom log files… so, no code changes are required.”

You can also leverage CloudWatch Metrics, Alarms and Dashboards with Logs to get full operational visibility into your applications.

This empowers you to understand your applications, make improvements, and find problems quickly.

Thus you can continue to innovate rapidly.

Option D is INCORRECT because AWS Application Logs does not exist.

Diagram: none.

References:

https://aws.amazon.com/cloudwatch/faqs/

The correct answer is C. AWS CloudWatch Logs.

AWS CloudWatch Logs is a managed service provided by AWS to monitor, store, and access log files from EC2 instances, AWS CloudTrail, VPC Flow Logs, and other AWS services. It allows users to ingest, aggregate, and analyze log data from different sources in real-time without requiring any custom code.

In this scenario, the application generates a lot of data inside custom log files, and the operation team spends a lot of time analyzing them. By moving the application to AWS using EC2 instances and integrating it with AWS CloudWatch Logs, the logs generated by the application can be directed to CloudWatch Logs, where they can be monitored, analyzed, and stored in a central location, without requiring any changes to the application code.

AWS CloudWatch Logs provides several benefits such as:

  1. Centralized log management: With CloudWatch Logs, all the logs generated by the application can be stored in a central location, which can be easily accessed and analyzed by the operation team.

  2. Real-time log processing: CloudWatch Logs provides real-time processing of logs, enabling the operation team to monitor and respond to events as they happen.

  3. Scalability: CloudWatch Logs scales automatically to handle large volumes of logs generated by the application.

  4. Easy integration with AWS services: CloudWatch Logs can be integrated easily with other AWS services, such as EC2 instances, AWS CloudTrail, VPC Flow Logs, etc.

In summary, by integrating the application running on EC2 instances with AWS CloudWatch Logs, the operation team can monitor, analyze, and store logs generated by the application in a centralized location, without requiring any changes to the application code. This will improve logging and monitoring capabilities, reduce operational overhead, and enable the operation team to respond quickly to any events or issues.