Monitor EFS file systems with CloudWatch metrics and alarms

Michael Wittig – 27 Mar 2018 (updated 17 Aug 2021)

Many applications depend on a shared file system to exchange state. An Amazon EFS file system can be mounted to multiple EC2 instances to share files between the instances. But the EFS file system is a finite resource that can be exhausted. That’s why you need to add monitoring to be alerted if the file system gets a bottleneck.

CloudWatch metrics

Each EFS file system sends metrics to CloudWatch that we can monitor with CloudWatch alarms. We recommend creating alarms for the following metrics:

  • BurstCreditBalance: The number of burst credits that a file system has.
  • PercentIOLimit: Shows how close a file system is to reaching the I/O limit of the General Purpose performance mode. If this metric is at 100 percent more often than not, consider moving your application to a file system using the Max I/O performance mode.

Monitoring throughput utilization

Unfortunately, EFS does not report a single metric on the throughput utilization of the file system. But we can calculate throughput by using CloudWatch metric math. Luckily, AWS shares the formula to calculate the percentage of permitted throughput utilization.

Set up instructions

Monitoring Setup Assistant
CloudWatch metric math sounds complicated? We have you covered! Monitor EFS and receive alerts in Slack or Microsoft Teams!

  1. Add marbot to Slack or Microsoft Teams.
  2. Invite marbot to a channel.
  3. In the channel, type:
    @marbot Monitor EFS file system
  4. Hit enter and follow the wizard.
Michael Wittig

Michael Wittig

Consultant focusing on Amazon Web Services (AWS). Entrepreneur building marbot.io. Author of Amazon Web Services in Action, Rapid Docker on AWS, and cloudonaut.io.

You can contact me via Email, Twitter, and LinkedIn.

Published on and updated on

marbot teaser

Chatbot for AWS Monitoring

Configure monitoring for Amazon Web Services: CloudWatch, EC2, RDS, EB, Lambda, and more. Receive and manage alerts via Slack. Solve incidents as a team.

Slack
Add to Slack
Microsoft Teams
Add to Teams