Zephyrnet Logosu

Yeni iş gözlemlenebilirlik ölçümlerini kullanarak AWS Glue işleri için izleme ve hata ayıklamayı geliştirin, Bölüm 3: Amazon QuickSight kullanarak görselleştirme ve trend analizi | Amazon Web Hizmetleri

Tarih:

In Bölüm 2 bu seride nasıl etkinleştirebileceğimizi tartıştık AWS Tutkal iş gözlemlenebilirlik ölçümlerini kullanın ve bunları gerçek zamanlı izleme için Grafana ile entegre edin. Grafana, satış hattının durumunu görüntülemek için güçlü, özelleştirilebilir kontrol panelleri sağlar. Bununla birlikte, zaman içindeki eğilimleri analiz etmek, farklı boyutlardan toplamak ve içgörüleri kuruluş çapında paylaşmak için, amaca yönelik olarak oluşturulmuş bir iş zekası (BI) aracı aşağıdaki gibi kullanılabilir: Amazon QuickSight işletmeniz için daha etkili olabilir. QuickSight, iş kullanıcılarının verileri etkileşimli kontrol panelleri ve raporlarda görselleştirmesini kolaylaştırır.

Bu yazıda QuickSight'ı nasıl bağlayacağınızı araştırıyoruz. Amazon Bulut İzleme AWS Glue iş gözlemlenebilirliği ölçümlerindeki eğilimleri ortaya çıkarmak için ölçümler yapın ve grafikler oluşturun. Geçmiş kalıpları analiz etmek performansı optimize etmenize, sorunları proaktif bir şekilde tanımlamanıza ve planlamayı geliştirmenize olanak tanır. CloudWatch ölçüm akışını ve QuickSight SPICE'ı kullanarak CloudWatch ölçümlerini QuickSight'a alma adımlarını açıklıyoruz. Bu entegrasyonla günlük, haftalık ve aylık kalıpları ortaya çıkarmak için çizgi grafikleri, çubuk grafikleri ve diğer grafik türlerini kullanabilirsiniz. QuickSight, daha derin analiz için metrikler üzerinde toplu hesaplamalar yapmanızı sağlar. Verileri iş adı gibi farklı boyutlara göre dilimleyebilir, anormallikleri görebilir ve kuruluşunuz genelinde raporları güvenli bir şekilde paylaşabilirsiniz. Bu içgörülerle ekipler, veri entegrasyonu işlem hatlarını daha verimli hale getirme görünürlüğüne sahip olur.

Çözüme genel bakış

Aşağıdaki mimari şeması, çözümü uygulamaya yönelik iş akışını göstermektedir.

İş akışı aşağıdaki adımları içerir:

  1. AWS Glue işleri, CloudWatch ölçümlerine gözlemlenebilirlik ölçümleri yayar.
  2. CloudWatch, metrik verilerini bir metrik akışı aracılığıyla Amazon Veri Firehose.
  3. Data Firehose şunu kullanır: AWS Lambda Verileri dönüştürme ve dönüştürülen kayıtları bir ortama alma işlevi Amazon Basit Depolama Hizmeti (Amazon S3) kovası.
  4. Bir AWS Glue tarayıcısı, S3 klasöründeki verileri tarar ve tablo meta verilerini AWS Glue Veri Kataloğu'na doldurur.
  5. QuickSight periyodik olarak çalışır Amazon Atina sorgu sonuçlarını SPICE'a yüklemek ve ardından en son metrik verilerini görselleştirmek için sorgular.

Kaynakların tümü bir örnekte tanımlanmıştır AWS Bulut Geliştirme Kiti (AWS CDK) şablonu. Gözlemlenebilirlik metriklerinin eğilimlerini görselleştirmek ve analiz etmek için uçtan uca çözümü dağıtabilirsiniz.

Örnek AWS CDK şablonu

Bu gönderi, AWS Glue gözlemlenebilirlik ölçümlerini kullanan bir kontrol paneli için örnek bir AWS CDK şablonu sağlar.

Genellikle veri hattınız için kaynakları yönetmek ve çalıştırmak için birden fazla hesabınız vardır.

Bu şablonda aşağıdaki hesapları varsayıyoruz:

  • Hesabı izleme – Bu, merkezi S3 klasörünü, merkezi Veri Kataloğunu ve QuickSight ile ilgili kaynakları barındırır
  • Kaynak hesap – Bu, AWS Glue üzerinde bireysel veri hattı kaynaklarını ve ölçümleri izleme hesabına gönderecek kaynakları barındırır

Şablon, izleme hesabı ve kaynak hesap aynı olduğunda bile çalışır.

Bu örnek şablon dört yığından oluşur:

  • Amazon S3 yığını – Bu, S3 paketini hazırlar
  • Veri Kataloğu yığını – Bu, AWS Glue veritabanını, tablosunu ve tarayıcısını sağlar
  • QuickSight yığını – Bu, QuickSight veri kaynağını, veri kümesini ve analizini sağlar
  • Metrik gönderen yığını – Bu, dönüşüm için CloudWatch metrik akışını, Firehose dağıtım akışını ve Lambda işlevini sağlar

Önkoşullar

Aşağıdaki ön koşullara sahip olmalısınız:

  • Python 3.9 veya üzeri
  • İzleme hesabı ve kaynak hesabı için AWS hesapları
  • An AWS adlı profil izleme hesabı ve kaynak hesabı için
  • The AWS CDK Araç Seti 2.87.0 veya daha sonra

CDK projesini başlatın

Projeyi başlatmak için aşağıdaki adımları tamamlayın:

  1. klonlamak cdk şablonu iş yerinize:
    $ git clone git@github.com:aws-samples/aws-glue-cdk-baseline.git 
    
    $ cd aws-glue-cdk-baseline.git

  2. Bir Python Oluşturun sanal çevre istemci makinedeki projeye özel:
    $ python3 -m venv .venv

Bu proje için Python ortamını izole etmek ve küresel olarak yazılım yüklememek için sanal bir ortam kullanıyoruz.

  1. İşletim sisteminize göre sanal ortamı etkinleştirin:
    • MacOS ve Linux'ta aşağıdaki kodu kullanın:
      $ source .venv/bin/activate

    • Bir Windows platformunda aşağıdaki kodu kullanın:
      % .venvScriptsactivate.bat

Bu adımdan sonra, sonraki adımlar istemci makinedeki sanal ortamın sınırları içinde çalışır ve gerektiğinde AWS hesabıyla etkileşime girer.

  1. bölümünde açıklanan gerekli bağımlılıkları yükleyin. gereksinimler.txt sanal ortama:
    $ pip install -r requirements.txt

  2. Yapılandırma dosyasını düzenleyin default-config.yaml ortamlarınıza göre (her hesap kimliğini kendinizinkiyle değiştirin.
    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

AWS ortamlarınızı önyükleyin

AWS ortamlarınızı önyüklemek için aşağıdaki komutları çalıştırın:

  1. İzleme hesabında izleme hesap numaranızı, AWS Bölgenizi ve izleme profilinizi girin:
    $ cdk bootstrap aws://<MONITORING-ACCOUNT-NUMBER>/<REGION> --profile <MONITORING-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

  2. Kaynak hesapta kaynak hesap numaranızı, Bölgenizi ve kaynak profilinizi belirtin:x
    $ cdk bootstrap aws://<SOURCE-ACCOUNT-NUMBER>/<REGION> --profile <SOURCE-PROFILE> 
    --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess

Tüm ortamlar için yalnızca bir hesap kullandığınızda, yalnızcacdk bootstrapbir kez komut.

AWS kaynaklarınızı dağıtın

AWS kaynaklarınızı dağıtmak için aşağıdaki komutları çalıştırın:

  1. AWS CDK şablonunda tanımlanan kaynakları dağıtmak için izleme hesabını kullanarak aşağıdaki komutu çalıştırın:
    $ cdk deploy '*' --profile <MONITORING-PROFILE>

  2. AWS CDK şablonunda tanımlanan kaynakları dağıtmak için kaynak hesabı kullanarak aşağıdaki komutu çalıştırın:
    $ cdk deploy MetricSenderStack --profile <SOURCE-PROFILE>

QuickSight izinlerini yapılandırma

Başlangıçta, AWS CDK şablonu tarafından oluşturulan veri kümesi ve analiz dahil olmak üzere yeni QuickSight kaynakları, henüz yapılandırılmış bir QuickSight izni olmadığından sizin için görünmez.

Veri kümesini ve analizi sizin için görünür hale getirmek için aşağıdaki adımları tamamlayın:

  1. QuickSight konsolunda kullanıcı menüsüne gidin ve QuickSight'ı yönetin.
  2. Gezinti bölmesinde şunu seçin: varlıkları yönet.
  3. Altında Varlıklara göz atın, seçmek Analiz.
  4. GlueObservabilityAnaliz'i arayın ve seçin.
  5. Klinik PAY.
  6. İçin Kullanıcı veya Grup, kullanıcınızı seçin ve ardından PAYLAŞ (1).
  7. Paylaşımın tamamlanmasını bekleyin ve ardından YAPILDI.
  8. Üzerinde varlıkları yönet sayfasını seçin Veri Setleri.
  9. observability_demo.metrics_data'yı arayın ve seçin.
  10. Klinik PAY.
  11. İçin Kullanıcı veya Grup, kullanıcınızı seçin ve ardından PAYLAŞ (1).
  12. Paylaşımın tamamlanmasını bekleyin ve ardından YAPILDI.

Varsayılan QuickSight analizini keşfedin

Artık QuickSight analizinizi ve veri kümenizi görebilirsiniz. QuickSight konsoluna dönebilir ve altında GlueObservabilityAnaliz'i seçebilirsiniz. Analiz. Aşağıdaki ekran görüntüsü kontrol panelinizi göstermektedir.

Örnek analizinde iki sekme bulunur: İzleme ve Trendleri. Varsayılan olarak İzleme sekmesinde aşağıdaki grafikler bulunur:

  • [Güvenilirlik] İş Çalıştırma Hatalarının Dağılımı
  • [Güvenilirlik] İş Çalıştırma Hataları (Toplam)
  • [Performans] Çarpıklık İşi
  • [Performans] İş başına Çarpıklık İşi

  • [Kaynak Kullanımı] İşçi Kullanımı
  • [Kaynak Kullanımı] İş Başına İşçi Kullanımı
  • [Verim] BytesRead, RecordsRead, FilesRead, PartitionRead (Ort)
  • [Verim] Yazılan Bayt Sayısı, Yazılan Kayıt Sayısı, Yazılan Dosya Sayısı (Ort)

  • [Kaynak Kullanım Diski Kullanılabilir GB (Min)
  • [Kaynak Kullanımı Maksimum Kullanılan Disk %'si (Maks)

  • [Sürücü OOM] OOM Hata Sayısı
  • [Sürücü OOM] Kullanılan Maksimum Yığın Belleği %'si (Maks)
  • [Yürütücü OOM] OOM Hata Sayısı
  • [Yürütücü OOM] Kullanılan Maksimum Yığın Belleği %'si (Maks)

Varsayılan olarak, Trendleri sekmesinde aşağıdaki bilgiler bulunur:

  • En Alt Sıradaki İşçi Kullanımı
  • En İyi Derecedeki Çarpıklık İşi

  • Tahmin Çalışan Kullanımı
  • En Çok Taşıyan okumaBytes

Gereksinimlerinize göre gözlemlenebilirlik ölçümlerini kullanarak yeni grafik grafikleri veya öngörüler ekleyebilirsiniz.

QuickSight kontrol panelini yayınlayın

Analiz hazır olduğunda kontrol panelini yayınlamak için aşağıdaki adımları tamamlayın:

  1. Klinik YAYINLA.
  2. seç Yeni kontrol panelini şu şekilde yayınlave gir GlueObservabilityDashboard.
  3. Klinik Gösterge tablosunu yayınla.

Daha sonra kontrol panelini görüntüleyebilir ve paylaşabilirsiniz.

AWS Glue iş gözlemlenebilirliği ölçümleriyle görselleştirin ve analiz edin

AWS Glue kullanımını daha performanslı hale getirmek için kontrol panelini kullanalım.

Bakmak İş başına Çarpıklık İşi görselleştirmeye göre 1 Kasım 2023'te bir artış yaşandı. Çok aşamalı iş demosunun çarpıklık ölçümleri 9.53'ü gösterdi; bu, diğerlerinden önemli ölçüde daha yüksek.

Ayrıntılara inelim. Seçebilirsiniz Kontrollerve filtre koşullarını tarih saate, Bölgeye, AWS hesap kimliğine, AWS Glue iş adına, iş çalıştırma kimliğine ve veri depolarının kaynağına ve havuzuna göre değiştirin. Şimdilik multistage-demo iş adını kullanarak filtre uygulayalım.

Filtrelenen İş Başına İşçi Kullanımı görselleştirme 0.5'i gösterir ve minimum değeri 0.16'dır. Kaynak kullanımında iyileştirme yapılabilecek bir alan var gibi görünüyor. Bu gözlem, çalışan kullanımını artırmak amacıyla bu iş için otomatik ölçeklendirmeyi etkinleştirmeniz konusunda size yol gösterir.

Temizlemek

AWS kaynaklarınızı temizlemek için aşağıdaki komutları çalıştırın:

  1. Kaynakları temizlemek için izleme hesabını kullanarak aşağıdaki komutu çalıştırın:
    $ cdk destroy '*' --profile <MONITORING-PROFILE>

    Kaynakları temizlemek için kaynak hesabı kullanarak aşağıdaki komutu çalıştırın:

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

Hususlar

QuickSight entegrasyonu analiz ve daha iyi esneklik için tasarlanmıştır. Metrikleri herhangi bir alana göre toplayabilirsiniz. Aynı anda birçok işle uğraşırken QuickSight içgörüleri sorunlu işleri belirlemenize yardımcı olur.

QuickSight entegrasyonu, ortamlarınızda daha fazla kaynak kullanılarak gerçekleştirilir. İzleme hesabının bir AWS Glue veritabanına, tabloya, tarayıcıya ve S3 klasörüne ve QuickSight'taki ölçümleri görselleştirmek için Athena sorgularını çalıştırma yeteneğine ihtiyacı vardır. Her kaynak hesabının bir metrik akışına ve bir Firehose dağıtım akışına sahip olması gerekir. Bu ek maliyetlere neden olabilir.

Gerekli tüm kaynaklar AWS CDK'de şablonlaştırılmıştır.

Sonuç

Bu yazıda, CloudWatch ölçüm akışlarını ve SPICE'ı kullanarak QuickSight'ta AWS Glue iş gözlemlenebilirlik ölçümlerinin nasıl görselleştirilip analiz edileceğini araştırdık. Yeni gözlemlenebilirlik ölçümlerini etkileşimli QuickSight kontrol panellerine bağlayarak AWS Glue iş kullanımını optimize etmek için günlük, haftalık ve aylık kalıpları ortaya çıkarabilirsiniz. QuickSight'ın zengin görselleştirme yetenekleri, çalışan kullanımı, hata kategorileri, üretim ve daha fazlası gibi ölçümlerdeki eğilimleri analiz etmenize olanak tanır. Metrikleri toplamak ve verileri iş adı gibi farklı boyutlara göre dilimlemek daha derin bilgiler sağlayabilir.

Örnek kontrol panelinde zaman içindeki ölçümler, en önemli hatalar ve karşılaştırmalı iş analizleri gösterildi. Bu görselleştirmeler ve raporlar kuruluş genelindeki ekiplerle güvenli bir şekilde paylaşılabilir. AWS Glue gözlemlenebilirlik ölçümlerine ilişkin veriye dayalı içgörüler sayesinde performans darboğazları, yaygın hatalar ve daha fazlası hakkında daha derin içgörülere sahip olabilirsiniz.


Yazarlar Hakkında

Noritaka Sekiyama AWS Glue ekibinde Baş Büyük Veri Mimarıdır. Müşterilere yardımcı olmak için yazılım yapıları oluşturmaktan sorumludur. Boş zamanlarında yeni yol bisikletiyle bisiklete binmekten keyif alıyor.

Çuhan LiuÇuhan Liu AWS Glue ekibinde Yazılım Geliştirme Mühendisidir. Büyük veri işleme, analiz ve yönetim için ölçeklenebilir dağıtılmış sistemler oluşturma konusunda tutkulu. Boş zamanlarında tenis oynamaktan hoşlanıyor.

XiaoRun Yu AWS Glue ekibinde Yazılım Geliştirme Mühendisidir. Müşterilere yardımcı olmak amacıyla AWS Glue için yeni özellikler oluşturmaya çalışıyor. Xiaorun, iş dışında Körfez Bölgesi'ndeki yeni yerleri keşfetmekten hoşlanıyor.

Sean Anne AWS Glue ekibinde Baş Ürün Yöneticisidir. Kullanıcılar için verilerin gücünü ortaya çıkaran kurumsal ürünlerde yenilik yapma ve sunma konusunda 18 yılı aşkın bir geçmişe sahiptir. Sean, iş dışında tüplü dalıştan ve kolej futbolundan hoşlanıyor.

Mohit Saxena AWS Glue ekibinde Kıdemli Yazılım Geliştirme Yöneticisidir. Ekibi, etkileşimli ve kullanımı basit arayüzlere sahip müşterilerin Amazon S3'teki veri gölleri, buluttaki veritabanları ve veri ambarları genelinde petabaytlarca veriyi verimli bir şekilde yönetmelerini ve sorunsuz bir şekilde dönüştürmelerini sağlamak için dağıtılmış sistemler oluşturmaya odaklanıyor.

spot_img

En Son İstihbarat

spot_img