In Deel 2 van deze serie hebben we besproken hoe u dit kunt inschakelen AWS lijm statistieken voor de observatie van taken en integreer deze met Grafana voor realtime monitoring. Grafana biedt krachtige aanpasbare dashboards om de gezondheid van pijpleidingen te bekijken. Om echter trends in de loop van de tijd te analyseren, vanuit verschillende dimensies te verzamelen en inzichten binnen de hele organisatie te delen, is een speciaal gebouwde business intelligence (BI)-tool zoals Amazon QuickSight kan effectiever zijn voor uw bedrijf. QuickSight maakt het voor zakelijke gebruikers eenvoudig om gegevens te visualiseren in interactieve dashboards en rapporten.
In dit bericht onderzoeken we hoe u QuickSight kunt verbinden met Amazon Cloud Watch statistieken en bouw grafieken om trends in de observatiestatistieken van AWS Glue-taken bloot te leggen. Door historische patronen te analyseren, kunt u de prestaties optimaliseren, problemen proactief identificeren en de planning verbeteren. We doorlopen de opname van CloudWatch-statistieken in QuickSight met behulp van een CloudWatch-statistiekenstream en QuickSight SPICE. Met deze integratie kunt u lijndiagrammen, staafdiagrammen en andere grafiektypen gebruiken om dagelijkse, wekelijkse en maandelijkse patronen bloot te leggen. Met QuickSight kunt u geaggregeerde berekeningen uitvoeren op statistieken voor een diepere analyse. U kunt gegevens opdelen op basis van verschillende dimensies, zoals de functienaam, afwijkingen bekijken en rapporten veilig delen binnen uw organisatie. Met deze inzichten hebben teams het inzicht om data-integratiepijplijnen efficiënter te maken.
Overzicht oplossingen
Het volgende architectuurdiagram illustreert de workflow voor het implementeren van de oplossing.
De workflow omvat de volgende stappen:
- AWS Glue-taken zenden observatiestatistieken uit naar CloudWatch-statistieken.
- CloudWatch streamt metrische gegevens via een metrische stroom naar Amazon Data-brandslang.
- Data Firehose maakt gebruik van een AWS Lambda functie om gegevens te transformeren en de getransformeerde records op te nemen in een Amazon eenvoudige opslagservice (Amazon S3) emmer.
- Een AWS Glue-crawler scant gegevens op de S3-bucket en vult tabelmetagegevens in de AWS Glue-gegevenscatalogus in.
- QuickSight wordt periodiek uitgevoerd Amazone Athene queries om queryresultaten naar SPICE te laden en vervolgens de nieuwste metrische gegevens te visualiseren.
Alle resources zijn gedefinieerd in een voorbeeld AWS Cloud-ontwikkelingskit (AWS CDK)-sjabloon. U kunt de end-to-end-oplossing inzetten om trends in de observatiestatistieken te visualiseren en analyseren.
Voorbeeld van een AWS CDK-sjabloon
Dit bericht biedt een voorbeeld van een AWS CDK-sjabloon voor een dashboard met behulp van AWS Glue-waarnemingsstatistieken.
Normaal gesproken hebt u meerdere accounts om resources voor uw gegevenspijplijn te beheren en uit te voeren.
In deze sjabloon gaan we uit van de volgende accounts:
- Controlerekening – Hier worden de centrale S3-bucket, centrale Data Catalog en QuickSight-gerelateerde bronnen gehost
- Bronaccount – Dit host individuele datapijplijnbronnen op AWS Glue en de bronnen om statistieken naar het monitoringaccount te sturen
De sjabloon werkt zelfs als het monitoringaccount en het bronaccount hetzelfde zijn.
Deze voorbeeldsjabloon bestaat uit vier stapels:
- Amazon S3-stack – Dit betreft de S3-bak
- Gegevenscatalogusstapel – Hiermee worden de AWS Glue-database, -tabel en -crawler ingericht
- QuickSight-stapel – Hiermee worden de QuickSight-gegevensbron, dataset en analyse ingericht
- Statistieken afzenderstapel – Hiermee worden de metrische stroom CloudWatch, de Firehose-leveringsstroom en de Lambda-functie ingericht voor transformatie
Voorwaarden
U moet de volgende vereisten hebben:
- Python 3.9 of hoger
- AWS-accounts voor het monitoringaccount en het bronaccount
- An AWS-profiel met naam voor de monitoringrekening en de bronrekening
- De AWS CDK-toolkit 2.87.0 of hoger
Initialiseer het CDK-project
Voer de volgende stappen uit om het project te initialiseren:
- Kloon het cdk-sjabloon naar je werkplek:
- Maak een python virtuele omgeving specifiek voor het project op de clientcomputer:
We gebruiken een virtuele omgeving om de Python-omgeving voor dit project te isoleren en niet wereldwijd software te installeren.
- Activeer de virtuele omgeving volgens uw besturingssysteem:
- Gebruik op MacOS en Linux de volgende code:
- Gebruik op een Windows-platform de volgende code:
Na deze stap worden de volgende stappen uitgevoerd binnen de grenzen van de virtuele omgeving op de clientcomputer en communiceren ze indien nodig met het AWS-account.
- Installeer de vereiste afhankelijkheden beschreven in requirements.txt naar de virtuele omgeving:
- Bewerk het configuratiebestand
default-config.yaml
op basis van uw omgevingen (vervang elke account-ID door uw eigen ID).
Bootstrap uw AWS-omgevingen
Voer de volgende opdrachten uit om uw AWS-omgevingen op te starten:
- Geef in het monitoringaccount uw monitoringaccountnummer, AWS-regio en monitoringprofiel op:
- Geef in het bronaccount uw bronaccountnummer, regio en bronprofiel op:x
Wanneer u slechts één account voor alle omgevingen gebruikt, kunt u gewoon hetcdk bootstrap
opdracht een keer.
Implementeer uw AWS-bronnen
Voer de volgende opdrachten uit om uw AWS-bronnen te implementeren:
- Voer de volgende opdracht uit met behulp van het monitoringaccount om bronnen te implementeren die zijn gedefinieerd in de AWS CDK-sjabloon:
- Voer de volgende opdracht uit met behulp van het bronaccount om bronnen te implementeren die zijn gedefinieerd in de AWS CDK-sjabloon:
Configureer QuickSight-machtigingen
In eerste instantie zijn de nieuwe QuickSight-bronnen, inclusief de dataset en analyse gemaakt door de AWS CDK-sjabloon, niet zichtbaar voor u omdat er nog geen QuickSight-machtigingen zijn geconfigureerd.
Om de dataset en analyse voor u zichtbaar te maken, voert u de volgende stappen uit:
- Navigeer op de QuickSight-console naar het gebruikersmenu en kies Beheer QuickSight.
- Kies in het navigatievenster Beheer activa.
- Onder Blader door activa, kiezen Analyse.
- Zoek naar GlueObservabilityAnalysis en selecteer deze.
- Kies SHARE.
- Voor Gebruiker of Groep, selecteer uw gebruiker en kies vervolgens DEEL (1).
- Wacht tot het delen is voltooid en kies vervolgens DONE.
- Op de Beheer activa pagina, kies datasets.
- Zoek naar observability_demo.metrics_data en selecteer deze.
- Kies SHARE.
- Voor Gebruiker of Groep, selecteer uw gebruiker en kies vervolgens DEEL (1).
- Wacht tot het delen is voltooid en kies vervolgens DONE.
Ontdek de standaard QuickSight-analyse
Nu zijn uw QuickSight-analyse en dataset voor u zichtbaar. U kunt terugkeren naar de QuickSight-console en onder GlueObservabilityAnalysis kiezen Analyse. De volgende schermafbeelding toont uw dashboard.
De monsteranalyse heeft twee tabbladen: Monitoren en Insights. Standaard is de Monitoren tabblad bevat de volgende grafieken:
- [Betrouwbaarheid] Uitsplitsing van taakuitvoeringsfouten
- [Betrouwbaarheid] Taakuitvoeringsfouten (totaal)
- [Prestaties] Scheefheidstaak
- [Prestaties] Scheefheid Taak per taak
- [Gebruik van hulpbronnen] Gebruik van werknemers
- [Resourcegebruik] Personeelsgebruik per taak
- [Doorvoer] BytesRead, RecordsRead, FilesRead, PartitionRead (Gem.)
- [Doorvoer] BytesWritten, RecordsWritten, FilesWritten (Gem.)
- [Bronnengebruik Schijf beschikbaar GB (min.)
- [Bronnengebruik Max. schijfgebruikt % (Max.)
- [Stuurprogramma OOM] Aantal OOM-fouten
- [Driver OOM] Max. Heap-geheugen gebruikt % (Max.)
- [Uitvoerder OOM] Aantal OOM-fouten
- [Executor OOM] Max. gebruikt heapgeheugen % (max.)
Standaard is de Insights tabblad heeft de volgende inzichten:
- Laagst gerangschikte inzet van werknemers
- Best beoordeelde scheefheidstaak
- Voorspelling van het personeelsgebruik
- Top Mover readBytes
U kunt nieuwe grafiekdiagrammen of inzichten toevoegen met behulp van de observatiestatistieken op basis van uw vereisten.
Publiceer het QuickSight-dashboard
Wanneer de analyse gereed is, voert u de volgende stappen uit om het dashboard te publiceren:
- Kies PUBLICEREN.
- kies Publiceer een nieuw dashboard alsen ga naar binnen
GlueObservabilityDashboard
. - Kies Publiceer dashboard.
Vervolgens kunt u het dashboard bekijken en delen.
Visualiseer en analyseer met AWS Glue-statistieken voor de observatie van taken
Laten we het dashboard gebruiken om het gebruik van AWS Glue beter te laten presteren.
Kijkend naar de Scheefheidstaak per taak Volgens de visualisatie was er een piek op 1 november 2023. De scheefheidsstatistieken van de meertrapsdemo voor banen lieten een waarde van 9.53 zien, wat aanzienlijk hoger is dan andere.
Laten we dieper ingaan op de details. Je kan kiezen Controlsen wijzig de filtervoorwaarden op basis van datum/tijd, regio, AWS-account-ID, AWS Glue-taaknaam, taakuitvoerings-ID en de bron en sink van de gegevensarchieven. Laten we voorlopig filteren met de taaknaam multistage-demo.
De gefilterde Werknemersinzet per taak de visualisatie toont 0.5 en de minimumwaarde was 0.16. Het lijkt erop dat er ruimte is voor verbetering in het gebruik van hulpbronnen. Deze observatie begeleidt u bij het inschakelen van automatisch schalen voor deze taak om de bezettingsgraad van werknemers te vergroten.
Opruimen
Voer de volgende opdrachten uit om uw AWS-bronnen op te schonen:
- Voer de volgende opdracht uit met behulp van het monitoringaccount om bronnen op te schonen:
Voer de volgende opdracht uit met het bronaccount om bronnen op te schonen:
Overwegingen
QuickSight-integratie is ontworpen voor analyse en betere flexibiliteit. U kunt statistieken aggregeren op basis van elk veld. Wanneer u met veel opdrachten tegelijk te maken heeft, helpen QuickSight-inzichten u bij het identificeren van problematische opdrachten.
QuickSight-integratie wordt bereikt met meer bronnen in uw omgevingen. Het monitoringaccount heeft een AWS Glue-database, tabel, crawler en S3-bucket nodig, en de mogelijkheid om Athena-query's uit te voeren om statistieken in QuickSight te visualiseren. Elk bronaccount moet één metrische stream en één Firehose-leveringsstream hebben. Dit kan extra kosten met zich meebrengen.
Alle benodigde bronnen zijn in AWS CDK in sjablonen opgenomen.
Conclusie
In dit bericht hebben we onderzocht hoe u de observatiestatistieken van AWS Glue-taken op QuickSight kunt visualiseren en analyseren met behulp van metrische streams van CloudWatch en SPICE. Door de nieuwe observatiestatistieken te koppelen aan interactieve QuickSight-dashboards, kunt u dagelijkse, wekelijkse en maandelijkse patronen ontdekken om het gebruik van AWS Glue-taken te optimaliseren. Met de rijke visualisatiemogelijkheden van QuickSight kunt u trends in statistieken analyseren, zoals de inzet van medewerkers, foutcategorieën, doorvoer en meer. Het aggregeren van statistieken en het opsplitsen van gegevens op verschillende dimensies, zoals de functienaam, kan diepere inzichten opleveren.
Het voorbeelddashboard toonde statistieken in de loop van de tijd, topfouten en vergelijkende functieanalyses. Deze visualisaties en rapporten kunnen veilig worden gedeeld met teams in de hele organisatie. Met datagestuurde inzichten in de observatiestatistieken van AWS Glue krijgt u dieper inzicht in prestatieknelpunten, veelvoorkomende fouten en meer.
Over de auteurs
Noritaka Sekiyama is een Principal Big Data Architect in het AWS Glue-team. Hij is verantwoordelijk voor het bouwen van software-artefacten om klanten te helpen. In zijn vrije tijd fietst hij graag met zijn nieuwe racefiets.
Chuhan Liu is een Software Development Engineer in het AWS Glue-team. Hij heeft een passie voor het bouwen van schaalbare gedistribueerde systemen voor de verwerking, analyse en beheer van big data. In zijn vrije tijd speelt hij graag tennis.
XiaoRun Yu is een Software Development Engineer in het AWS Glue-team. Hij werkt aan het bouwen van nieuwe functies voor AWS Glue om klanten te helpen. Buiten zijn werk verkent Xiaorun graag nieuwe plekken in de Bay Area.
Sean Ma is een hoofdproductmanager van het AWS Glue-team. Hij heeft een trackrecord van meer dan 18 jaar in het innoveren en leveren van bedrijfsproducten die de kracht van data voor gebruikers ontsluiten. Buiten zijn werk houdt Sean van duiken en universiteitsvoetbal.
Mohit Saxena is een Senior Software Development Manager bij het AWS Glue-team. Zijn team richt zich op het bouwen van gedistribueerde systemen om klanten met interactieve en eenvoudig te gebruiken interfaces in staat te stellen petabytes aan gegevens efficiënt te beheren en naadloos te transformeren over datameren op Amazon S3, databases en datawarehouses in de cloud.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/enhance-monitoring-and-debugging-for-aws-glue-jobs-using-new-job-observability-metrics-part-3-visualization-and-trend-analysis-using-amazon-quicksight/