Logo Zephyrnet

Tăng cường giám sát và gỡ lỗi cho các công việc AWS Glue bằng số liệu về khả năng quan sát công việc mới, Phần 3: Trực quan hóa và phân tích xu hướng bằng Amazon QuickSight | Dịch vụ web của Amazon

Ngày:

In Phần 2 của loạt bài này, chúng ta đã thảo luận cách kích hoạt Keo AWS các số liệu về khả năng quan sát công việc và tích hợp chúng với Grafana để theo dõi thời gian thực. Grafana cung cấp bảng điều khiển có thể tùy chỉnh mạnh mẽ để xem tình trạng đường ống. Tuy nhiên, để phân tích xu hướng theo thời gian, tổng hợp từ các khía cạnh khác nhau và chia sẻ thông tin chuyên sâu trong toàn tổ chức, một công cụ thông minh kinh doanh (BI) được xây dựng có mục đích như Amazon QuickSight có thể hiệu quả hơn cho doanh nghiệp của bạn. QuickSight giúp người dùng doanh nghiệp dễ dàng trực quan hóa dữ liệu trong bảng thông tin và báo cáo tương tác.

Trong bài đăng này, chúng tôi khám phá cách kết nối QuickSight với amazoncloudwatch số liệu và xây dựng biểu đồ để khám phá các xu hướng trong số liệu về khả năng quan sát công việc của AWS Glue. Phân tích các mẫu lịch sử cho phép bạn tối ưu hóa hiệu suất, chủ động xác định các vấn đề và cải thiện việc lập kế hoạch. Chúng tôi hướng dẫn cách nhập số liệu CloudWatch vào QuickSight bằng cách sử dụng luồng số liệu CloudWatch và QuickSight SPICE. Với sự tích hợp này, bạn có thể sử dụng biểu đồ đường, biểu đồ thanh và các loại biểu đồ khác để khám phá các mẫu hàng ngày, hàng tuần và hàng tháng. QuickSight cho phép bạn thực hiện các phép tính tổng hợp về số liệu để phân tích sâu hơn. Bạn có thể chia nhỏ dữ liệu theo các thứ nguyên khác nhau như tên công việc, xem các điểm bất thường và chia sẻ báo cáo một cách an toàn trong toàn tổ chức của mình. Với những hiểu biết sâu sắc này, các nhóm có khả năng hiển thị để làm cho quy trình tích hợp dữ liệu hiệu quả hơn.

Tổng quan về giải pháp

Sơ đồ kiến ​​trúc sau đây minh họa quy trình làm việc để triển khai giải pháp.

Quy trình làm việc bao gồm các bước sau:

  1. Công việc AWS Glue gửi số liệu về khả năng quan sát tới số liệu CloudWatch.
  2. CloudWatch truyền dữ liệu số liệu thông qua luồng số liệu vào Firehose dữ liệu của Amazon.
  3. Data Firehose sử dụng một AWS Lambda chức năng chuyển đổi dữ liệu và nhập các bản ghi đã chuyển đổi vào một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) xô.
  4. Trình thu thập dữ liệu AWS Glue quét dữ liệu trên bộ chứa S3 và điền siêu dữ liệu bảng vào Danh mục dữ liệu AWS Glue.
  5. QuickSight chạy định kỳ amazon Athena truy vấn để tải kết quả truy vấn vào SPICE và sau đó trực quan hóa dữ liệu số liệu mới nhất.

Tất cả các tài nguyên được xác định trong một mẫu Bộ công cụ phát triển đám mây AWS (AWS CDK) mẫu. Bạn có thể triển khai giải pháp toàn diện để trực quan hóa và phân tích xu hướng của các chỉ số khả năng quan sát.

Mẫu CDK AWS mẫu

Bài đăng này cung cấp mẫu CDK AWS mẫu cho bảng thông tin sử dụng số liệu về khả năng quan sát của AWS Glue.

Thông thường, bạn có nhiều tài khoản để quản lý và chạy tài nguyên cho đường dẫn dữ liệu của mình.

Trong mẫu này, chúng tôi giả sử các tài khoản sau:

  • Tài khoản giám sát – Nơi này lưu trữ nhóm S3 trung tâm, Danh mục dữ liệu trung tâm và các tài nguyên liên quan đến QuickSight
  • Nguồn tài khoản – Điều này lưu trữ các tài nguyên đường dẫn dữ liệu riêng lẻ trên AWS Glue và các tài nguyên để gửi số liệu đến tài khoản giám sát

Mẫu hoạt động ngay cả khi tài khoản giám sát và tài khoản nguồn giống nhau.

Mẫu mẫu này bao gồm bốn ngăn xếp:

  • Ngăn xếp Amazon S3 – Điều này cung cấp cho nhóm S3
  • Ngăn xếp danh mục dữ liệu – Điều này cung cấp cơ sở dữ liệu, bảng và trình thu thập thông tin của AWS Glue
  • ngăn xếp QuickSight – Điều này cung cấp nguồn dữ liệu, tập dữ liệu và phân tích QuickSight
  • Ngăn xếp người gửi số liệu – Điều này cung cấp luồng số liệu CloudWatch, luồng phân phối Firehose và hàm Lambda để chuyển đổi

Điều kiện tiên quyết

Bạn nên có các điều kiện tiên quyết sau:

  • Python 3.9 trở lên
  • Tài khoản AWS cho tài khoản giám sát và tài khoản nguồn
  • An Hồ sơ có tên AWS cho tài khoản giám sát và tài khoản nguồn
  • Sản phẩm Bộ công cụ CDK AWS 2.87.0 trở lên

Khởi tạo dự án CDK

Để khởi tạo dự án, hoàn thành các bước sau:

  1. Sao chép mẫu cdk đến nơi làm việc của bạn:
    $ git clone git@github.com:aws-samples/aws-glue-cdk-baseline.git 
    
    $ cd aws-glue-cdk-baseline.git

  2. Tạo một con trăn Môi trường ảo cụ thể cho dự án trên máy khách:
    $ python3 -m venv .venv

Chúng tôi sử dụng môi trường ảo để cách ly môi trường Python cho dự án này và không cài đặt phần mềm trên toàn cầu.

  1. Kích hoạt môi trường ảo theo hệ điều hành của bạn:
    • Trên MacOS và Linux, hãy sử dụng đoạn mã sau:
      $ source .venv/bin/activate

    • Trên nền tảng Windows, hãy sử dụng đoạn mã sau:
      % .venvScriptsactivate.bat

Sau bước này, các bước tiếp theo sẽ chạy trong giới hạn của môi trường ảo trên máy khách và tương tác với tài khoản AWS nếu cần.

  1. Cài đặt các phụ thuộc cần thiết được mô tả trong Yêu cầu.txt vào môi trường ảo:
    $ pip install -r requirements.txt

  2. Chỉnh sửa tệp cấu hình default-config.yaml dựa trên môi trường của bạn (thay thế từng ID tài khoản bằng ID của riêng bạn.
    create_s3_stack: false
    create_metrics_sender_stack: false
    create_catalog_stack: false
    create_quicksight_stack: true
    
    s3_bucket_name: glue-observability-demo-dashboard
    
    firehose_log_group_name: /aws/kinesisfirehose/observability-demo-metric-stream
    firehose_lambda_buffer_size_mb: 2
    firehose_lambda_buffer_interval_seconds: 60
    firehose_s3_buffer_size_mb: 128
    firehose_s3_buffer_interval_seconds: 300
    
    glue_database_name: observability_demo_db
    glue_table_name: metric_data
    glue_crawler_name: observability_demo_crawler
    glue_crawler_cron_schedule: "cron(42 * * * ? *)"
    
    athena_workgroup_name: primary

Bootstrap môi trường AWS của bạn

Chạy các lệnh sau để khởi động môi trường AWS của bạn:

  1. Trong tài khoản giám sát, hãy cung cấp số tài khoản giám sát, Khu vực AWS và hồ sơ giám sát của bạn:
    $ cdk bootstrap aws://<MONITORING-ACCOUNT-NUMBER>/<REGION> --profile <MONITORING-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

  2. Trong tài khoản nguồn, hãy cung cấp số tài khoản nguồn, Khu vực và hồ sơ nguồn của bạn:x
    $ cdk bootstrap aws://<SOURCE-ACCOUNT-NUMBER>/<REGION> --profile <SOURCE-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

Khi bạn chỉ sử dụng một tài khoản cho tất cả các môi trường, bạn chỉ có thể chạycdk bootstraplệnh một lần.

Triển khai tài nguyên AWS của bạn

Chạy các lệnh sau để triển khai tài nguyên AWS của bạn:

  1. Chạy lệnh sau bằng tài khoản giám sát để triển khai các tài nguyên được xác định trong mẫu AWS CDK:
    $ cdk deploy '*' --profile <MONITORING-PROFILE>

  2. Chạy lệnh sau bằng tài khoản nguồn để triển khai các tài nguyên được xác định trong mẫu AWS CDK:
    $ cdk deploy MetricSenderStack --profile <SOURCE-PROFILE>

Định cấu hình quyền QuickSight

Ban đầu, các tài nguyên QuickSight mới bao gồm tập dữ liệu và phân tích được tạo bởi mẫu AWS CDK sẽ không hiển thị cho bạn vì chưa có quyền QuickSight nào được định cấu hình.

Để hiển thị tập dữ liệu và phân tích cho bạn, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển QuickSight, điều hướng đến menu người dùng và chọn Quản lý QuickSight.
  2. Trong ngăn dẫn hướng, chọn Quản lý tài sản.
  3. Theo Duyệt nội dung, chọn nghiên cứu.
  4. Tìm kiếm GlueObservabilityAnalysis và chọn nó.
  5. Chọn CHIA SẺ.
  6. Trong Người dùng hoặc Nhóm, chọn người dùng của bạn, sau đó chọn CHIA SẺ (1).
  7. Chờ chia sẻ xong rồi chọn DONE.
  8. trên Quản lý tài sản trang, chọn Bộ dữ liệu.
  9. Tìm kiếm observability_demo.metrics_data và chọn nó.
  10. Chọn CHIA SẺ.
  11. Trong Người dùng hoặc Nhóm, chọn người dùng của bạn, sau đó chọn CHIA SẺ (1).
  12. Chờ chia sẻ xong rồi chọn DONE.

Khám phá phân tích QuickSight mặc định

Giờ đây, phân tích và tập dữ liệu QuickSight của bạn sẽ hiển thị với bạn. Bạn có thể quay lại bảng điều khiển QuickSight và chọn GlueObservabilityAnalysis trong nghiên cứu. Ảnh chụp màn hình sau đây hiển thị trang tổng quan của bạn.

Phân tích mẫu có hai tab: Giám sátInsights. Theo mặc định, Giám sát tab có các biểu đồ sau:

  • [Độ tin cậy] Phân tích lỗi thực hiện công việc
  • [Độ tin cậy] Lỗi thực hiện công việc (Tổng cộng)
  • [Hiệu suất] Công việc xiên
  • [Hiệu suất] Độ lệch công việc trên mỗi công việc

  • [Sử dụng tài nguyên] Sử dụng nhân công
  • [Sử dụng tài nguyên] Sử dụng nhân công trên mỗi công việc
  • [Thông lượng] ByteRead, RecordsRead, FilesRead, Phân vùngRead (Trung bình)
  • [Thông lượng] ByteWritten, RecordsWriten, FilesWritten (Trung bình)

  • [Đĩa sử dụng tài nguyên có sẵn GB (Tối thiểu)
  • [Mức sử dụng tài nguyên Đĩa tối đa đã sử dụng % (Tối đa)

  • [Trình điều khiển OOM] Số lỗi OOM
  • [Trình điều khiển OOM] Bộ nhớ Heap tối đa được sử dụng % (Tối đa)
  • [Executor OOM] Số lỗi OOM
  • [Executor OOM] Bộ nhớ Heap tối đa được sử dụng % (Tối đa)

Theo mặc định, Insights tab có thông tin chi tiết sau:

  • Việc sử dụng công nhân được xếp hạng dưới cùng
  • Công việc Skewness được xếp hạng hàng đầu

  • Dự báo việc sử dụng nhân viên
  • ReadBytes Mover hàng đầu

Bạn có thể thêm bất kỳ biểu đồ đồ thị hoặc thông tin chi tiết mới nào bằng cách sử dụng các chỉ số về khả năng quan sát dựa trên yêu cầu của bạn.

Xuất bản bảng thông tin QuickSight

Khi phân tích đã sẵn sàng, hãy hoàn thành các bước sau để xuất bản trang tổng quan:

  1. Chọn CÔNG BỐ.
  2. Chọn Xuất bản trang tổng quan mới dưới dạng, và nhập vào GlueObservabilityDashboard.
  3. Chọn Xuất bản trang tổng quan.

Sau đó, bạn có thể xem và chia sẻ trang tổng quan.

Trực quan hóa và phân tích bằng các số liệu về khả năng quan sát công việc của AWS Glue

Hãy sử dụng bảng thông tin để giúp việc sử dụng AWS Glue hiệu quả hơn.

Hãy nhìn vào Độ lệch công việc trên mỗi công việc trực quan, đã tăng đột biến vào ngày 1 tháng 2023 năm 9.53. Các chỉ số về độ lệch của bản demo nhiều giai đoạn công việc cho thấy XNUMX, cao hơn đáng kể so với các chỉ số khác.

Hãy đi sâu vào chi tiết. Bạn có thể chọn Điều khiểnvà thay đổi điều kiện lọc dựa trên ngày giờ, Khu vực, ID tài khoản AWS, tên tác vụ AWS Glue, ID chạy tác vụ cũng như nguồn và đích của kho lưu trữ dữ liệu. Bây giờ, hãy lọc theo tên công việc multistage-demo.

Đã lọc Sử dụng công nhân trên mỗi công việc trực quan hóa hiển thị 0.5 và giá trị tối thiểu của nó là 0.16. Có vẻ như vẫn còn chỗ để cải thiện việc sử dụng tài nguyên. Quan sát này hướng dẫn bạn bật tự động mở rộng quy mô cho công việc này để tăng mức độ sử dụng nhân công.

Làm sạch

Chạy các lệnh sau để dọn sạch tài nguyên AWS của bạn:

  1. Chạy lệnh sau bằng tài khoản giám sát để dọn sạch tài nguyên:
    $ cdk destroy '*' --profile <MONITORING-PROFILE>

    Chạy lệnh sau bằng tài khoản nguồn để dọn sạch tài nguyên:

    $ cdk destroy MetricSenderStack --profile <SOURCE-PROFILE>

Những cân nhắc

Tích hợp QuickSight được thiết kế để phân tích và linh hoạt hơn. Bạn có thể tổng hợp số liệu dựa trên bất kỳ trường nào. Khi xử lý nhiều công việc cùng một lúc, thông tin chuyên sâu của QuickSight sẽ giúp bạn xác định các công việc có vấn đề.

Tích hợp QuickSight đạt được nhờ nhiều tài nguyên hơn trong môi trường của bạn. Tài khoản giám sát cần có cơ sở dữ liệu, bảng, trình thu thập thông tin và bộ chứa S3 của AWS Glue cũng như khả năng chạy truy vấn Athena để trực quan hóa các số liệu trong QuickSight. Mỗi tài khoản nguồn cần có một luồng số liệu và một luồng phân phối Firehose. Điều này có thể phải chịu thêm chi phí.

Tất cả các tài nguyên cần thiết đều được tạo khuôn mẫu trong AWS CDK.

Kết luận

Trong bài đăng này, chúng tôi đã khám phá cách trực quan hóa và phân tích các số liệu về khả năng quan sát công việc của AWS Glue trên QuickSight bằng cách sử dụng luồng số liệu CloudWatch và SPICE. Bằng cách kết nối các số liệu về khả năng quan sát mới với bảng thông tin QuickSight tương tác, bạn có thể khám phá các mẫu hàng ngày, hàng tuần và hàng tháng để tối ưu hóa mức sử dụng tác vụ AWS Glue. Khả năng trực quan hóa phong phú của QuickSight cho phép bạn phân tích xu hướng trong các số liệu như mức độ sử dụng nhân công, danh mục lỗi, thông lượng, v.v. Việc tổng hợp các số liệu và chia nhỏ dữ liệu theo các thứ nguyên khác nhau, chẳng hạn như tên công việc, có thể cung cấp thông tin chuyên sâu hơn.

Trang tổng quan mẫu hiển thị các số liệu theo thời gian, các lỗi hàng đầu và phân tích so sánh công việc. Những hình ảnh và báo cáo này có thể được chia sẻ một cách an toàn với các nhóm trong toàn tổ chức. Với thông tin chuyên sâu dựa trên dữ liệu về số liệu khả năng quan sát của AWS Glue, bạn có thể có thông tin chuyên sâu hơn về các tắc nghẽn hiệu suất, các lỗi phổ biến, v.v.


Về các tác giả

Noritaka Sekiyama là Kiến trúc sư dữ liệu lớn chính trong nhóm AWS Glue. Ông chịu trách nhiệm xây dựng các hiện vật phần mềm để giúp đỡ khách hàng. Khi rảnh rỗi, anh ấy thích đạp xe bằng chiếc xe đạp địa hình mới của mình.

Chu Hán LưuChu Hán Lưu là Kỹ sư phát triển phần mềm trong nhóm AWS Glue. Anh ấy đam mê xây dựng các hệ thống phân tán có thể mở rộng để xử lý, phân tích và quản lý dữ liệu lớn. Trong thời gian rảnh rỗi, anh ấy thích chơi quần vợt.

Tiểu Nhuận Vũ là Kỹ sư phát triển phần mềm trong nhóm AWS Glue. Anh ấy đang nỗ lực xây dựng các tính năng mới cho AWS Glue để hỗ trợ khách hàng. Ngoài công việc, Xiaorun thích khám phá những địa điểm mới ở Vùng Vịnh.

Sean Mã là Giám đốc sản phẩm chính của nhóm AWS Glue. Ông có thành tích hơn 18 năm đổi mới và cung cấp các sản phẩm doanh nghiệp nhằm khai phá sức mạnh của dữ liệu cho người dùng. Ngoài công việc, Sean thích lặn biển và chơi bóng đá ở trường đại học.

Mohit Saxena là Giám đốc phát triển phần mềm cấp cao của nhóm AWS Glue. Nhóm của ông tập trung vào việc xây dựng các hệ thống phân tán nhằm hỗ trợ khách hàng có giao diện tương tác và dễ sử dụng để quản lý và chuyển đổi hiệu quả hàng petabyte dữ liệu một cách liền mạch trên các hồ dữ liệu trên Amazon S3, cơ sở dữ liệu và kho dữ liệu trên đám mây.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img