Amazon DynamoDB – Logging & Monitoring DynamoDB
Logging is the collection of all the data from cloud services, infrastructure, and applications. It helps in identifying issues, measure performance, and configurations. Whereas monitoring is helpful to detect possible breaches, security gaps and secure the network well before the attack happens. If any suspected things happen in our account then we should check the logs and investigate on the basis of them.
Where DynamoDB is a NoSQL database that is highly available and scalable, it’s important to protect and check for any suspected thing. Hence these both are an important part of maintaining the reliability, availability, and performance of DynamoDB. Before starting monitoring we should consider the following points:
- Monitoring goals
- Resources to be monitored
- Monitoring tools to be used
- Notification when something goes wrong
Tip: While monitoring DynamoDB same your historic data so that later we can compare the present data and compare the performance, exceptions.
There are various tools provided by AWS
- AWS CloudWatch Alarms-Alarms are used to trigger notifications for any metrics. We can choose a period on which to evaluate the alarm. Example creating billing alarm on CloudWatch Billing metric then it will have 3 states: OK, INSUFFICENT_DATA, ALARM.
- AWS CloudWatch Logs- It enables the real-time monitoring of logs. We can access, monitor, and store logs from CloudTrail and check for any unusual activity
- AWS CloudWatch Events- We can schedule a cron job by using cloudWatch Events Example: SNS topic with email notification.
- AWS CloudTrail Log Monitoring- Provides governance, compliance, and audit for your AWS Account and is enabled by default. We can put logs from CloudTrail into CloudWatch Logs or S3.
Understanding log files of DynamoDB
The log files contain the following information:
- If the request is made by root account or IAM account
- The request is made by service or not.
- If the request is made by temporary credentials for a role.
- Events like update table, delete table, create a cluster, execute the statement.
Logging and Monitoring both are important aspects for better performance and security of the data in DynamoDB.