Skip to content

Monitoring AWS Glue jobs with CloudWatch?

0

Hi everyone, I’m working with AWS Glue to run several ETL jobs on a schedule. I’ve already set up some CloudWatch metrics and alarms, but I feel like I’m missing some best practices around monitoring Glue performance

What are the key metrics/logs you recommend tracking for Glue jobs?

Is there a way to get more granular visibility into DPU usage?

How do you usually set up automated alerts for failed jobs or long-running jobs?

Appreciate any insights, sample setups, or even CloudFormation snippets if you’ve done this before!

Thanks in advance

asked a year ago583 views

1 Answer
0
Accepted Answer

AWS Glue integrates deeply with Amazon CloudWatch for comprehensive monitoring of your ETL jobs. Here's how you can optimize your monitoring approach:

Key Metrics to Track AWS Glue automatically sends metrics to CloudWatch every 30 seconds, which are then displayed in dashboards every minute. Some important metrics to monitor include:

  • Memory usage metrics (glue.driver.jvm.heap.usage, glue.driver.jvm.heap.used)
  • Data processing metrics (glue.driver.aggregate.bytesRead, glue.driver.aggregate.recordsRead)
  • Job progress metrics (glue.driver.aggregate.numCompletedStages, glue.driver.aggregate.numCompletedTasks)
  • Failure metrics (glue.driver.aggregate.numFailedTasks, glue.driver.aggregate.numKilledTasks)
  • S3 interaction metrics (glue.driver.s3.filesystem.read_bytes, glue.driver.s3.filesystem.write_bytes)

Enhanced Visibility with Observability Metrics For more granular insights, enable "Job observability metrics" in your job definition. This provides additional metrics in four categories:

  • Reliability
  • Performance
  • Throughput
  • Resource utilization

These metrics can help you diagnose issues like memory problems, straggler tasks, and data skew, which are critical for optimizing DPU usage.

Setting Up Automated Alerts For effective alerting, consider these common scenarios:

  1. Out of Memory (OOM) detection: Set alarms when memory usage exceeds normal averages for either the driver or executors
  2. Straggling executors: Create alerts when the number of executors falls below a threshold for an extended period
  3. Data backlog monitoring: Use CloudWatch math expressions to compare metrics between jobs in a workflow
  4. Failed jobs: Set alarms on job completion status metrics

Continuous Logging Enable real-time continuous logging for your AWS Glue jobs to view logs on either the AWS Glue console or CloudWatch dashboard as they're generated. This provides immediate visibility into job execution.

DPU Capacity Planning AWS Glue Observability metrics are particularly useful for DPU capacity planning. By monitoring resource utilization metrics, you can optimize your DPU allocation to reduce costs while maintaining performance.

To visualize these metrics, you can use the AWS Glue console's job run monitoring page, job run details page, or create custom dashboards in CloudWatch.
Sources
Monitoring with Amazon CloudWatch - AWS Glue
Monitoring AWS Glue using Amazon CloudWatch metrics - AWS Glue
Job monitoring and debugging - AWS Glue
Setting up Amazon CloudWatch alarms on AWS Glue job profiles - AWS Glue
Monitoring with AWS Glue Observability metrics - AWS Glue

answered a year ago

EXPERT

reviewed a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.