TechWriterDev
  • Cloud
    • AWS
      • 00_Doubts
      • CloudPractitioner
        • Cloud Computing
        • AWS Global Infrastructure
        • Introduction to AWS EC2
        • Elastic load balancer(ELB)
        • 04_Messaging_Queuing
        • Aditional Computing Service
        • Accessing AWS resources
        • AWS Networking
        • Storage
        • Amazon Database Solutions
        • Monitoring Tools
        • AWS Security
        • Distributed Denial Of Service Attacks
      • DeveloperAssociate
        • References
        • AWS DVA-C02 Services Index
        • Services
          • 00_IAM
            • Identity and Access Management (IAM)
            • Account Protection Mechanisms
            • Access Mechanism of AWS Resources
            • Security Tools
            • Responsibility Model
            • Advanced Concepts
          • 01_EC2
            • Elastic Compute Cloud (EC2)
            • EC2 Volume Types
            • Amazon Machine Image (AMI)
            • AWS charges for IPv4 address
          • 02_SecurityGroups
            • Security Groups
          • 03_Elastic_LoadBalancing
            • Terminology
            • Elastic load balancer
            • Features
            • Basics
          • 04_AutoScaling
            • Auto Scaling
          • 05_RDS
            • Relational Database Service (RDS)
            • Aurora
            • Security
            • RDS Proxy
          • 06_ElastiCache
            • Cache
            • Cache Offerings
          • 07_Route53
            • Basics of DNS
            • Route 53
          • 08_VPC
            • Virtual Private Cloud (VPC)
          • 09_S3
            • Simple Storage Service (S3)
            • S3 Features
            • S3 Encryption
            • S3 Features
            • S3 Bucket Policy and IAM Policy
          • 10_ECS
            • Elastic Container Service (ECS)
            • Elastic Container Registry (ECR)
            • AWS Copilot
          • 11_EKS
            • Elastic Kubernetes Service (EKS)
          • 12_SDK_CLI_Tips
            • Access AWS Resources
          • 13_CloudFront
            • Cloud Front
          • 14_Messaging
            • Simple Queue Service (SQS)
            • Simple Notification Service (SNS)
            • Fan Out Pattern
            • Kinesis
            • Compare and Contrast
          • 15_ElasticBeanStalk
            • Elastic Beanstalk
          • 16_CloudFormation
            • CloudFormation
            • Dynamic References
          • 17_Monitoring
            • AWS Monitoring
            • AWS CloudWatch
            • CloudWatch Alarms
            • Synthetics Canary
            • Amazon EventBridge (formerly CloudWatch Events)
            • X-Ray
            • OpenTelemetry
            • CloudTrail
          • 18_Lambda
            • Lambda
            • Lambda Integrations
            • Configuring Lambda
            • Lambda Layers
          • 19_API_Gateway
            • API Gateway
            • API Gateway Integrations
          • 20_DynamoDB
            • DynamoDB
            • Operations
            • Indexes
            • DynamoDB Accelerator (DAX)
            • DynamoDB Streams
            • Transactions
            • Integrations
          • 21_CICD
            • CICD
            • CodeCommit
            • CodePipeline
            • CodeBuild
            • CodeDeploy
            • CodeArtifact
            • CloudGuru
          • 22_SAM
            • Serverless Application Model (SAM)
          • 23_CDK
            • Cloud Development Kit (CDK)
          • 24_StepFunctions
            • Step Functions
            • Types of step function
          • 25_AppSync
            • AppSync
          • 26_Amplify
            • Amplify
          • 27_STS
            • Security Token Service (STS)
          • 28_DirectoryService
            • Active Directory
          • 29_KMS
            • Encryption
            • KMS API
            • Features
            • Cloud Hardware Security Module (HSM)
          • 30_SSM_Store
            • SSM Parameter Store
          • 31_SecretsManager
            • Secrets Manager
          • 32_Cognito
            • Cognito
      • Questions
        • AWS_Region
        • EC2
        • IAM
  • Database
    • MongoDb
      • Mongo db Basics
      • Mongo DB Atlas
      • Document
      • Import-Export based on Data Format
      • Mongo Shell Commands
      • Query Operators
      • Indexes
      • Upsert
      • MongoDB Aggregation Framework
      • Aggregation Framework Operators
    • PostgreSQL
      • POSTGRE SQL DataTypes
      • About table
      • Constraints
  • Technologies
    • RabbitMQ
      • RabbitMQ Concepts
      • Introduction to Exchanges
      • Introduction to Queues
    • Terraform
      • 00_Introduction
      • Configuration blocks
      • Commands
      • Variables
      • Terraform Cloud
      • Modules
  • Languages
    • Java
      • Logging
        • Getting Started
      • 00_Core
        • 00_Basics
          • Java Vs C++
          • Object oriented principles
          • Steps to compile a java program
          • JVM Internals
          • Understanding Java Development Kit
          • What is JIT Compiler?
          • Java data types
          • 07_identifiers_type_conversion
          • 08_references_and_packages
          • Steps for attaching scanner
        • Concurrency
          • 00_Threads
            • Threads
          • 01_ExecutorFramework
            • Executor Framework
            • Asynchronous Computation
      • 01_Backend
        • 01_HttpAndWebServerBasics
          • HTTP
          • Content Type
          • Web Server
        • 02_J2EE_Basics
          • J2EE_Basics
          • Why HttpServlet classs is declared as abstract class BUT with 100 % concrete functionality ?
        • 03_TomCatAndSession
          • What is a Session?
          • WebContainer
        • 04_PageNavigation
          • Cookies Additional Information
          • Page Navigation Techniques
        • 05_AboutServlet
          • CGI v/s Servlet
          • Executor Framework
          • Servlet Life cycle
          • SERVLET CONFIG
          • Servlet Context
          • Servlet Listener (web application listener)
        • 08_SpringBoot
          • Spring Boot
          • Some common annotations used in spring eco system
        • 09_SpringDataJPA
          • Spring Data JPA
        • Java_Language_Changes
          • JDK enhancement tracking reference
        • 06_ORM_Hibernate
          • readmes
            • Hibernate
            • Advantages of Hibernate
            • Hibernate Caching
            • Hibernate API
            • Hibernate Query API
            • Hibernate Annotations and JPQL
            • Entity and Value Type
        • 07_SpringFramework
          • bean_validation
            • Bean Validation
          • core
            • readme
              • Spring
              • Spring Framework Modules
              • Spring MVC Request flow
              • Dependency Injection
              • Spring Beans
              • 06_Spring_Framework_Annotations
      • 03_Tools
        • Maven
          • Maven
  • SoftwareEngineering
    • DesignPatterns
      • Notes
        • Basics
        • OOP
        • SOLID Principles
        • 03_Creational
          • Abstract Factory (aka Kit)
          • Builder
          • Factory Method (aka Virtual constructor)
          • Prototype
          • Singleton
        • 04_Structural
          • Adapter (aka Wrapper)
          • Bridge (aka Handle | Body)
          • Composite
          • Decorator (aka Wrapper)
          • Facade
          • Flyweight
          • Proxy (aka Surrogate)
        • 05_Behavioral
          • Chain of Responsibility
          • Command (aka Action | Transaction)
          • Iterator (aka Cursor)
          • Observer (aka Publish-Subscribe | Dependents)
          • Strategy (aka Policy)
    • Principles
      • REST
        • REST
  • Tools
    • Containers
      • Docker
        • Docker
        • Docker Image
        • Commands
        • Compose
        • Best Practices
      • Kubernetes
        • Kubernetes
    • VCS
      • Git
        • Quick reference of useful Git commands
Powered by GitBook
On this page
  • Icon
  • About
  • EC2 Detailed Monitoring
  • Customer Metrics
  • CloudWatch Logs
  • CloudWatch Logs Insights
  • CloudWatch Logs Subscriptions
  • CloudWatch Logs Aggregation
  • CloudWatch Logs for EC2
  • CloudWatch Logs Metric Filter
  • Log Encryption
  • APIS
  1. Cloud
  2. AWS
  3. DeveloperAssociate
  4. Services
  5. 17_Monitoring

AWS CloudWatch

PreviousAWS MonitoringNextCloudWatch Alarms

Last updated 4 months ago

Icon

CloudWatch Icon

About

  • Provides metrics for every services in AWS.

  • Metric is a variable to monitor (CPU Utilization, Networking etc).

  • Dimension is an attribute of metric (instanceid, environment, etc).

  • Upto 30 dimensions per metric.

  • Metrics have timestamps.

  • Can create CloudWatch dashboard of metrics.

EC2 Detailed Monitoring

  • EC2 instance have metrics every 5 minutes.

  • With detailed monitoring (for a cost) every 1 minute.

  • Use detailed monitoring if you want to scale faster for your ASG.

  • Note : EC2 Memory usage is by default not pushed (must be pushed from inside the instance as a custom metric).

Customer Metrics

  • Allows to define your own custom metrics to CloudWatch.

  • Ability to use dimensions to segment metrics.

    • instance.id

    • Environment.name

  • Metric resolution (StorageResolution API) parameter.

    • Standard : 1 minute

    • High Resolution : 1/5/10/30 seconds - Higher cost

  • Accepts metrics data points two weeks in the past and two hours in the future.

CloudWatch Logs

  • The CloudWatch Log group consists of,

    • Log groups: Arbitrary name, usually represents an application.

    • Log stream: Instances within application/log-files/ containers.

    • Log expiration policy: Never expire, 1 day-10 years.

    • CloudWatch Logs can be send to,

      • Amazon S3 - Export, takes upto 12 hours to be completed.

      • Kinesis Data Streams

      • Kinesis Data Firehose

      • AWS Lambda

      • OpenSearch

  • Logs are encrypted by default.

  • Can setup KMS-based encryption with your own keys.

  • CloudWatch logs can be send using

    • SDK

    • CloudWatch Logs Agent

    • CloudWatch Unified Agent

    • Elastic Beanstalk, collection of logs from application.

    • Containers, collection of logs from containers.

    • Lambda, collection from function logs.

    • VPC Flow logs

    • API Gateway

    • Route53 to Log DNS queries

CloudWatch Logs Insights

  • Search and analyze log data stored in CloudWatch logs.

  • Provides a purpose-built query language, which automatically discovers fields from AWS services and JSON log events.

  • Can save queries and add them to CloudWatch Dashboards.

  • Fetch desired event filters, filter based on conditions, calculate aggregate statistics, sort events, limit number of event.

  • Can query multiple Log Groups in different AWS accounts.

  • Its a query language, not a real-time engine.

CloudWatch Logs Subscriptions

  • Get a real-time log events from CloudWatch Logs for processing and analysis.

  • Send to Kinesis Data Streams, Kinesis Data Firehose or Lambda.

  • Subscription Filter allows to filter which logs are delivered to your destination.

  • Destination allows Cross Account Subscription, which allows to send log events to resources in a different AWS account, appropiate destination access policy and IAM Role for cross-account must be configured to make this work.

CloudWatch Logs Aggregation

  • It is possible to aggregate cloud watch logs from different account and regions to one common destination such as Kinesis Data Streams and sent to Kinesis Data Firehose from where in near real time can send logs to S3.

CloudWatch Logs for EC2

  • To push logs of EC2 to CloudWatch, run the CloudWatch agent at EC2 instance to push the logs.

  • Make sure relevnat IAM permissions are correct.

  • CloudWatch log agent can be set up on-premises too.

  • CloudWatch Logs Agent, which is an older agent. It can only send logs to CloudWatch Logs.

  • CloudWatch Unified Agent, is a newer version.

    • It will collection additional details and metrics like RAM, process details etc.

    • Collect logs to send to CloudWatch Logs. You can also configure SSM Parameter Store.

    • Collect

    • Collect CPU metrics, Disk metrics, RAM metrics, Netstat, Process deails in an EC2 instance, swap space etc.

CloudWatch Logs Metric Filter

  • CloudWatch Logs can use Filter Metrics expressions.

Log Encryption

  • The encryption can be enabled while creating one or after it is created.

  • Cannot associate CMK with a log group using CloudWatch console.

APIS

  • Make sure the KMS policy is allowed to make association with log group to work.

        # Create a log group, with encryption enabled
    
        aws logs create-log-group --log-group-name <log-group-name> --kms-key-id <arn-of-kms-key> --region <aws-region>
    
        # Associate KMS id with already created log group
    
        aws logs associate-kms-key --log-group-name <log-group-name> --kms-key-id <arn-of-kms-key> --region <aws-region>

Filters do not retroactively filter data. It will only publish metric data points for events that happen after filter was created.

Logs can be encrypted at log group level using .

KMS