Logo Zephyrnet

Meningkatkan pemantauan dan debugging untuk tugas AWS Glue menggunakan metrik observabilitas tugas baru, Bagian 3: Visualisasi dan analisis tren menggunakan Amazon QuickSight | Layanan Web Amazon

Tanggal:

In bagian 2 dari seri ini, kita membahas cara mengaktifkannya Lem AWS metrik observabilitas pekerjaan dan mengintegrasikannya dengan Grafana untuk pemantauan waktu nyata. Grafana menyediakan dasbor canggih yang dapat disesuaikan untuk melihat kesehatan saluran pipa. Namun, untuk menganalisis tren dari waktu ke waktu, menggabungkan berbagai dimensi, dan berbagi wawasan ke seluruh organisasi, diperlukan alat intelijen bisnis (BI) yang dibuat khusus seperti Amazon QuickSight mungkin lebih efektif untuk bisnis Anda. QuickSight memudahkan pengguna bisnis untuk memvisualisasikan data di dasbor dan laporan interaktif.

Dalam posting ini, kita menjelajahi cara menghubungkan QuickSight ke amazoncloudwatch metrik dan membuat grafik untuk mengungkap tren dalam metrik observasi tugas AWS Glue. Menganalisis pola historis memungkinkan Anda mengoptimalkan kinerja, mengidentifikasi masalah secara proaktif, dan meningkatkan perencanaan. Kami memandu penyerapan metrik CloudWatch ke QuickSight menggunakan aliran metrik CloudWatch dan QuickSight SPICE. Dengan integrasi ini, Anda dapat menggunakan diagram garis, diagram batang, dan jenis grafik lainnya untuk mengungkap pola harian, mingguan, dan bulanan. QuickSight memungkinkan Anda melakukan penghitungan agregat pada metrik untuk analisis lebih mendalam. Anda dapat membagi data berdasarkan dimensi yang berbeda seperti nama pekerjaan, melihat anomali, dan berbagi laporan dengan aman di seluruh organisasi Anda. Dengan wawasan ini, tim memiliki visibilitas untuk membuat jalur integrasi data menjadi lebih efisien.

Ikhtisar solusi

Diagram arsitektur berikut mengilustrasikan alur kerja untuk mengimplementasikan solusi.

Alur kerja meliputi langkah-langkah berikut:

  1. Tugas AWS Glue memancarkan metrik observabilitas ke metrik CloudWatch.
  2. CloudWatch mengalirkan data metrik melalui aliran metrik ke dalamnya Amazon Data Firehose.
  3. Data Firehose menggunakan AWS Lambda berfungsi untuk mengubah data dan menyerap catatan yang diubah menjadi Layanan Penyimpanan Sederhana Amazon (Amazon S3).
  4. Crawler AWS Glue memindai data pada bucket S3 dan mengisi metadata tabel di Katalog Data AWS Glue.
  5. QuickSight berjalan secara berkala Amazon Athena kueri untuk memuat hasil kueri ke SPICE dan kemudian memvisualisasikan data metrik terbaru.

Semua sumber daya ditentukan dalam sampel Kit Pengembangan AWS Cloud (AWS CDK). Anda dapat menerapkan solusi menyeluruh untuk memvisualisasikan dan menganalisis tren metrik observabilitas.

Contoh templat AWS CDK

Posting ini menyediakan contoh templat AWS CDK untuk dasbor menggunakan metrik observabilitas AWS Glue.

Biasanya, Anda memiliki beberapa akun untuk mengelola dan menjalankan sumber daya untuk saluran data Anda.

Dalam templat ini, kami mengasumsikan akun berikut:

  • Akun pemantauan – Ini menampung bucket S3 pusat, Katalog Data pusat, dan sumber daya terkait QuickSight
  • Akun sumber – Ini menghosting sumber daya pipa data individual di AWS Glue dan sumber daya untuk mengirim metrik ke akun pemantauan

Templat berfungsi meskipun akun pemantauan dan akun sumber sama.

Templat sampel ini terdiri dari empat tumpukan:

  • Tumpukan Amazon S3 – Ini menyediakan bucket S3
  • Tumpukan Katalog Data – Ini menyediakan database, tabel, dan crawler AWS Glue
  • Tumpukan QuickSight – Ini menyediakan sumber data, kumpulan data, dan analisis QuickSight
  • Tumpukan pengirim metrik – Ini menyediakan aliran metrik CloudWatch, aliran pengiriman Firehose, dan fungsi Lambda untuk transformasi

Prasyarat

Anda harus memiliki prasyarat berikut:

  • Python 3.9 atau lebih baru
  • Akun AWS untuk akun pemantauan dan akun sumber
  • An Profil bernama AWS untuk akun pemantauan dan akun sumber
  • Grafik Perangkat AWS CDK 2.87.0 atau lebih baru

Inisialisasi proyek CDK

Untuk menginisialisasi proyek, selesaikan langkah-langkah berikut:

  1. Clone file templat cdk ke tempat kerja Anda:
    $ git clone git@github.com:aws-samples/aws-glue-cdk-baseline.git 
    
    $ cd aws-glue-cdk-baseline.git

  2. Buat Python lingkungan virtual khusus untuk proyek di mesin klien:
    $ python3 -m venv .venv

Kami menggunakan lingkungan virtual untuk mengisolasi lingkungan Python untuk proyek ini dan tidak memasang perangkat lunak secara global.

  1. Aktifkan lingkungan virtual sesuai dengan OS Anda:
    • Di MacOS dan Linux, gunakan kode berikut:
      $ source .venv/bin/activate

    • Pada platform Windows, gunakan kode berikut:
      % .venvScriptsactivate.bat

Setelah langkah ini, langkah selanjutnya berjalan dalam batas lingkungan virtual pada mesin klien dan berinteraksi dengan akun AWS sesuai kebutuhan.

  1. Instal dependensi yang diperlukan yang dijelaskan dalam requirement.txt ke lingkungan virtual:
    $ pip install -r requirements.txt

  2. Edit file konfigurasi default-config.yaml berdasarkan lingkungan Anda (ganti setiap ID akun dengan milik Anda sendiri.
    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 lingkungan AWS Anda

Jalankan perintah berikut untuk mem-bootstrap lingkungan AWS Anda:

  1. Di akun pemantauan, berikan nomor akun pemantauan Anda, Wilayah AWS, dan profil pemantauan:
    $ cdk bootstrap aws://<MONITORING-ACCOUNT-NUMBER>/<REGION> --profile <MONITORING-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

  2. Di akun sumber, berikan nomor akun sumber, Wilayah, dan profil sumber Anda:x
    $ cdk bootstrap aws://<SOURCE-ACCOUNT-NUMBER>/<REGION> --profile <SOURCE-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

Saat Anda hanya menggunakan satu akun untuk semua lingkungan, Anda dapat menjalankancdk bootstrapperintah satu kali.

Terapkan sumber daya AWS Anda

Jalankan perintah berikut untuk men-deploy sumber daya AWS Anda:

  1. Jalankan perintah berikut menggunakan akun pemantauan untuk menerapkan sumber daya yang ditentukan dalam templat AWS CDK:
    $ cdk deploy '*' --profile <MONITORING-PROFILE>

  2. Jalankan perintah berikut menggunakan akun sumber untuk men-deploy sumber daya yang ditentukan dalam templat AWS CDK:
    $ cdk deploy MetricSenderStack --profile <SOURCE-PROFILE>

Konfigurasikan izin QuickSight

Awalnya, sumber daya QuickSight baru termasuk dataset dan analisis yang dibuat oleh templat AWS CDK tidak terlihat oleh Anda karena belum ada izin QuickSight yang dikonfigurasi.

Untuk membuat kumpulan data dan analisis terlihat oleh Anda, selesaikan langkah-langkah berikut:

  1. Di konsol QuickSight, arahkan ke menu pengguna dan pilih Kelola QuickSight.
  2. Di panel navigasi, pilih Kelola aset.
  3. Bawah Telusuri aset, pilih Analisis.
  4. Cari GlueObservabilityAnalysis, dan pilih.
  5. Pilih SHARE.
  6. Untuk Pengguna atau Grup, pilih pengguna Anda, lalu pilih BERBAGI (1).
  7. Tunggu hingga share selesai, lalu pilih SELESAI.
  8. pada Kelola aset halaman, pilih Dataset.
  9. Telusuri observability_demo.metrics_data, lalu pilih.
  10. Pilih SHARE.
  11. Untuk Pengguna atau Grup, pilih pengguna Anda, lalu pilih BERBAGI (1).
  12. Tunggu hingga share selesai, lalu pilih SELESAI.

Jelajahi analisis QuickSight default

Sekarang analisis dan kumpulan data QuickSight Anda dapat dilihat oleh Anda. Anda dapat kembali ke konsol QuickSight dan memilih GlueObservabilityAnalysis di bawah Analisis. Tangkapan layar berikut menunjukkan dasbor Anda.

Analisis sampel memiliki dua tab: Pemantauan dan Wawasan. Secara default, Pemantauan tab memiliki grafik berikut:

  • [Keandalan] Perincian Kesalahan Jalankan Pekerjaan
  • [Keandalan] Kesalahan Pengoperasian Pekerjaan (Total)
  • [Performa] Pekerjaan Skewness
  • [Kinerja] Skewness Pekerjaan per Pekerjaan

  • [Pemanfaatan Sumber Daya] Pemanfaatan Pekerja
  • [Pemanfaatan Sumber Daya] Pemanfaatan Pekerja per Pekerjaan
  • [Throughput] BytesRead, RecordsRead, FilesRead, PartitionRead (Rata-rata)
  • [Throughput] BytesWritten, RecordsWritten, FilesWritten (Rata-rata)

  • [Disk Pemanfaatan Sumber Daya Tersedia GB (Min)
  • [Pemanfaatan Sumber Daya Maks Disk yang Digunakan % (Maks)

  • [Pengemudi OOM] Jumlah Kesalahan OOM
  • [Driver OOM] Memori Heap Maks Terpakai % (Maks)
  • [Pelaksana OOM] Jumlah Kesalahan OOM
  • [Executor OOM] Memori Heap Maks Terpakai % (Maks)

Secara default, Wawasan tab memiliki wawasan berikut:

  • Pemanfaatan Pekerja di Peringkat Terbawah
  • Pekerjaan Skewness Peringkat Teratas

  • Pemanfaatan Pekerja Prakiraan
  • ReadBytes Penggerak Teratas

Anda dapat menambahkan diagram grafik atau wawasan baru menggunakan metrik observabilitas berdasarkan kebutuhan Anda.

Publikasikan dasbor QuickSight

Saat analisis sudah siap, selesaikan langkah-langkah berikut untuk mempublikasikan dasbor:

  1. Pilih MENERBITKAN.
  2. Pilih Publikasikan dasbor baru sebagai, dan masukkan GlueObservabilityDashboard.
  3. Pilih Publikasikan dasbor.

Kemudian Anda dapat melihat dan membagikan dasbor.

Visualisasikan dan analisis dengan metrik observasi tugas AWS Glue

Mari gunakan dasbor untuk menjadikan penggunaan AWS Glue lebih berkinerja.

Melihat Kemiringan Pekerjaan per Pekerjaan Secara visual, terjadi lonjakan pada tanggal 1 November 2023. Metrik skewness dari demo multitahap pekerjaan menunjukkan 9.53, yang secara signifikan lebih tinggi dibandingkan yang lain.

Mari kita telusuri secara detail. Kamu bisa memilih Kontrol, dan mengubah kondisi filter berdasarkan waktu tanggal, Wilayah, ID akun AWS, nama tugas AWS Glue, ID eksekusi tugas, serta sumber dan sink penyimpanan data. Untuk saat ini, mari kita filter dengan nama pekerjaan multistage-demo.

Yang disaring Pemanfaatan Pekerja per Pekerjaan visualisasi menunjukkan 0.5, dan nilai minimumnya adalah 0.16. Tampaknya masih ada ruang untuk perbaikan dalam pemanfaatan sumber daya. Pengamatan ini memandu Anda mengaktifkan penskalaan otomatis untuk pekerjaan ini guna meningkatkan pemanfaatan pekerja.

Membersihkan

Jalankan perintah berikut untuk membersihkan sumber daya AWS Anda:

  1. Jalankan perintah berikut menggunakan akun pemantauan untuk membersihkan sumber daya:
    $ cdk destroy '*' --profile <MONITORING-PROFILE>

    Jalankan perintah berikut menggunakan akun sumber untuk membersihkan sumber daya:

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

Pertimbangan

Integrasi QuickSight dirancang untuk analisis dan fleksibilitas yang lebih baik. Anda dapat menggabungkan metrik berdasarkan bidang apa pun. Saat menangani banyak pekerjaan sekaligus, wawasan QuickSight membantu Anda mengidentifikasi pekerjaan bermasalah.

Integrasi QuickSight dicapai dengan lebih banyak sumber daya di lingkungan Anda. Akun pemantauan memerlukan database AWS Glue, tabel, crawler, dan bucket S3, serta kemampuan untuk menjalankan kueri Athena untuk memvisualisasikan metrik di QuickSight. Setiap akun sumber harus memiliki satu aliran metrik dan satu aliran pengiriman Firehose. Hal ini dapat menimbulkan biaya tambahan.

Semua sumber daya yang diperlukan ditemplatkan di AWS CDK.

Kesimpulan

Dalam postingan ini, kami mempelajari cara memvisualisasikan dan menganalisis metrik observabilitas tugas AWS Glue di QuickSight menggunakan aliran metrik CloudWatch dan SPICE. Dengan menghubungkan metrik observabilitas baru ke dasbor QuickSight interaktif, Anda dapat mengungkap pola harian, mingguan, dan bulanan untuk mengoptimalkan penggunaan tugas AWS Glue. Kemampuan visualisasi QuickSight yang kaya memungkinkan Anda menganalisis tren metrik seperti pemanfaatan pekerja, kategori kesalahan, throughput, dan banyak lagi. Menggabungkan metrik dan membagi data berdasarkan dimensi berbeda seperti nama pekerjaan dapat memberikan wawasan yang lebih mendalam.

Dasbor sampel menunjukkan metrik dari waktu ke waktu, kesalahan teratas, dan analisis pekerjaan komparatif. Visualisasi dan laporan ini dapat dibagikan secara aman kepada tim di seluruh organisasi. Dengan wawasan berbasis data pada metrik observabilitas AWS Glue, Anda dapat memperoleh wawasan lebih mendalam tentang hambatan kinerja, kesalahan umum, dan banyak lagi.


Tentang Penulis

Noritaka Sekiyama adalah Arsitek Big Data Utama di tim AWS Glue. Dia bertanggung jawab untuk membangun artefak perangkat lunak untuk membantu pelanggan. Di waktu luangnya, ia menikmati bersepeda dengan sepeda jalan raya barunya.

Chu Han LiuChu Han Liu adalah Insinyur Pengembangan Perangkat Lunak di tim AWS Glue. Dia bersemangat membangun sistem terdistribusi yang dapat diskalakan untuk pemrosesan, analitik, dan manajemen data besar. Di waktu luangnya, dia menikmati bermain tenis.

Xiao Run Yu adalah Insinyur Pengembangan Perangkat Lunak di tim AWS Glue. Dia sedang berupaya membangun fitur baru untuk AWS Glue guna membantu pelanggan. Di luar pekerjaan, Xiaorun senang menjelajahi tempat-tempat baru di Bay Area.

Sean Ma adalah Manajer Produk Utama di tim AWS Glue. Dia memiliki rekam jejak lebih dari 18 tahun dalam berinovasi dan menghadirkan produk perusahaan yang membuka kekuatan data bagi pengguna. Di luar pekerjaan, Sean menikmati scuba diving dan sepak bola kampus.

Mohit Saxena adalah Manajer Pengembangan Perangkat Lunak Senior di tim AWS Glue. Timnya berfokus pada pembangunan sistem terdistribusi untuk memungkinkan pelanggan dengan antarmuka yang interaktif dan mudah digunakan untuk mengelola dan mentransformasikan data berukuran petabyte secara efisien di seluruh data lake di Amazon S3, database, dan gudang data di cloud.

tempat_img

Intelijen Terbaru

tempat_img