Zephyrnet-logo

Verbeter de monitoring en foutopsporing voor AWS Glue-taken met behulp van nieuwe statistieken voor taakwaarneming, deel 2: Real-time monitoring met Grafana | Amazon-webservices

Datum:

Het in realtime monitoren van datapijplijnen is van cruciaal belang om problemen vroegtijdig te onderkennen en verstoringen tot een minimum te beperken. AWS lijm heeft dit eenvoudiger gemaakt met de lancering van AWS Glue-observatiestatistieken voor taken, die waardevolle inzichten bieden in uw data-integratiepijplijnen gebouwd op AWS Glue. Het kan echter nodig zijn dat u de belangrijkste prestatie-indicatoren voor meerdere functies bijhoudt. In dit geval is een dashboard dat dezelfde statistieken kan visualiseren met de mogelijkheid om in te zoomen op individuele problemen een effectieve oplossing om op schaal te monitoren.

In dit bericht wordt uitgelegd hoe u AWS Glue-statistieken voor taakobservatie kunt integreren met Grafana Amazon beheerde Grafana. We bespreken de soorten statistieken en grafieken die beschikbaar zijn om belangrijke inzichten naar boven te halen, samen met twee gebruiksscenario's voor het monitoren van foutklassen en de doorvoer van uw AWS Glue-taken.

Overzicht oplossingen

Grafana is een open source visualisatietool waarmee u uw statistieken kunt opvragen, visualiseren, waarschuwen en begrijpen, ongeacht waar ze zijn opgeslagen. Met Grafana kunt u visueel rijke, datagestuurde dashboards maken, verkennen en delen. De nieuwe AWS Glue-statistieken voor de observatie van taken kunnen moeiteloos worden geïntegreerd met Grafana voor realtime monitoringdoeleinden. Statistieken zoals het personeelsgebruik, scheefheid, I/O-snelheid en fouten worden vastgelegd en gevisualiseerd in gemakkelijk leesbare Grafana-dashboards. De integratie met Grafana biedt een flexibele manier om aangepaste weergaven van de pijplijnstatus op te bouwen, afgestemd op uw behoeften. Waarneembaarheidsstatistieken openen monitoringmogelijkheden die voorheen niet mogelijk waren voor AWS Glue. Bedrijven die vertrouwen op AWS Glue voor cruciale data-integratiepijplijnen kunnen er meer vertrouwen in hebben dat hun pijplijnen efficiënt werken.

AWS Glue-observatiestatistieken voor taken worden uitgezonden als Amazon Cloud Watch statistieken. U kunt Amazon Managed Grafana inrichten en beheren, en de CloudWatch-plug-in configureren voor de gegeven statistieken. Het volgende diagram illustreert de oplossingsarchitectuur.

Implementeer de oplossing

Voer de volgende stappen uit om de oplossing in te stellen:

  1. Stel een Amazon beheerde Grafana-werkruimte.
  2. Meld u aan bij uw werkruimte.
  3. Kies Administratie.
  4. Kies Nieuwe gegevensbron toevoegen.
  5. Kies CloudWatch.
  6. Voor StandaardregioSelecteer de AWS-regio van uw voorkeur.
  7. Voor Naamruimten van aangepaste statistieken, voer Lijm in.
  8. Kies Opslaan & testen.

Nu is de CloudWatch-gegevensbron geregistreerd.

  1. Kopieer de gegevensbron-ID van de URL https://g-XXXXXXXXXX.grafana-workspace.<region>.amazonaws.com/datasources/edit/<data-source-ID>/.

De volgende stap is het voorbereiden van het JSON-sjabloonbestand.

  1. Download het Grafana-sjabloon.
  2. vervangen <data-source-id> in het JSON-bestand met uw Grafana-gegevensbron-ID.

Configureer ten slotte het dashboard.

  1. Kies op de Grafana-console Dashboards.
  2. Kies import op de New menu.
  3. Upload uw JSON-bestand en kies import.

Het Grafana-dashboard visualiseert de observatiestatistieken van AWS Glue, zoals weergegeven in de volgende schermafbeeldingen.

Het voorbeelddashboard bevat de volgende diagrammen:

  • [Betrouwbaarheid] Uitsplitsing van taakuitvoeringsfouten
  • [Doorvoer] Bytes lezen en schrijven
  • [Doorvoer] Records lezen en schrijven
  • [Gebruik van hulpbronnen] Gebruik van werknemers
  • [Taakprestatie] Scheefheid
  • [Bronnengebruik] Gebruikte schijf (%)
  • [Bronnengebruik] Schijf beschikbaar (GB)
  • [Uitvoerder OOM] Aantal OOM-fouten
  • [Executor OOM] Heap-geheugen gebruikt (%)
  • [Stuurprogramma OOM] Aantal OOM-fouten
  • [Driver OOM] Heap-geheugen gebruikt (%)

Analyseer de oorzaken van taakfouten

Laten we proberen de oorzaken van mislukte taakuitvoeringen van de taak te analyseren iot_data_processing.

Kijk eerst naar het cirkeldiagram [Betrouwbaarheid] Uitsplitsing van taakuitvoeringsfouten. Dit cirkeldiagram identificeert snel welke fouten het meest voorkomen.

Filter vervolgens met de taaknaam iot_data_processing om de veelvoorkomende fouten voor deze taak te bekijken.

We kunnen vaststellen dat het merendeel (75%) van de mislukkingen te wijten was aan glue.error.DISK_NO_SPACE_ERROR.

Bekijk vervolgens het lijndiagram [Resource Utilization] Disk Used (%) om inzicht te krijgen in de door het stuurprogramma gebruikte schijfruimte tijdens de taakuitvoering. Voor deze taak toont de groene lijn het schijfgebruik van het stuurprogramma, en de gele lijn het gemiddelde van het schijfgebruik van de uitvoerders.

We kunnen vaststellen dat er drie keer 100% van de schijf werd gebruikt in uitvoerders.

Kijk vervolgens naar het lijndiagram [Doorvoer] Records lezen en schrijven om te zien of het gegevensvolume is gewijzigd en of dit van invloed is op het schijfgebruik.

Uit de grafiek blijkt dat er aan het begin van dit bereik ongeveer vier miljard records werden gelezen; op het hoogtepunt werden echter ongeveer 63 miljard records gelezen. Dit betekent dat het binnenkomende datavolume aanzienlijk is toegenomen, wat heeft geleid tot een tekort aan lokale schijfruimte in de werkknooppunten. In dergelijke gevallen kunt u het aantal werknemers vergroten, automatisch schalen inschakelen of grotere typen werknemers kiezen.

Na het implementeren van deze suggesties kunnen we een lager schijfgebruik en een succesvolle uitvoering van de taak zien.

(Optioneel) Configureer de configuratie voor meerdere accounts

We kunnen optioneel een configuratie voor meerdere accounts configureren. Statistieken voor meerdere accounts zijn afhankelijk van CloudWatch cross-account waarneembaarheid. In deze opstelling verwachten we de volgende omgeving:

  • AWS-accounts worden niet beheerd in AWS-organisaties
  • U heeft twee accounts: één account wordt gebruikt als monitoringaccount waar Grafana zich bevindt, een ander account wordt gebruikt als bronaccount waar de op AWS Glue gebaseerde data-integratiepijplijn zich bevindt

Om een ​​configuratie voor meerdere accounts voor deze omgeving te configureren, voert u de volgende stappen voor elk account uit.

Controlerekening

Voer de volgende stappen uit om uw monitoringaccount te configureren:

  1. Log in op AWS-beheerconsole met behulp van het account dat u voor monitoring gaat gebruiken.
  2. Kies op de CloudWatch-console Instellingen in het navigatievenster.
  3. Onder Accountconfiguratie bewaken, kiezen Configure .
  4. Voor Selecteer gegevens, kiezen Metriek.
  5. Voor Bronaccounts vermeldenVoer de AWS-account-ID in van het bronaccount dat dit monitoringaccount zal bekijken.
  6. Voor Definieer een label om uw bronaccount te identificeren, kiezen Accountnaam.
  7. Kies Configure .

Nu is het account succesvol geconfigureerd als monitoringaccount.

  1. Onder Accountconfiguratie bewaken, kiezen Bronnen om accounts te koppelen.
  2. Kies Elke rekening om een ​​URL te krijgen voor het instellen van individuele accounts als bronaccounts.
  3. Kies Kopie URL.

In de volgende stappen gebruikt u de gekopieerde URL uit het bronaccount.

Bronaccount

Voer de volgende stappen uit om uw bronaccount te configureren:

  1. Meld u aan bij de console met uw bronaccount.
  2. Voer de URL in die u uit het monitoringaccount hebt gekopieerd.

U kunt de CloudWatch-instellingenpagina zien, met wat informatie ingevuld.

  1. Voor Selecteer gegevens, kiezen Metriek.
  2. Wijzig de ARN niet Voer monitoringaccountconfiguratie ARN in.
  3. De Definieer een label om uw bronaccount te identificeren sectie is vooraf ingevuld met de labelkeuze uit het monitoringaccount. Optioneel, kies Edit om het te veranderen.
  4. Kies Link.
  5. Enter Confirm in de doos en kies Bevestigen.

Nu is uw bronaccount geconfigureerd om te koppelen aan het monitoringaccount. De statistieken die in het bronaccount worden uitgezonden, worden weergegeven op het Grafana-dashboard in het monitoringaccount.

Zie voor meer informatie CloudWatch cross-account waarneembaarheid.

Overwegingen

Hier volgen enkele overwegingen bij het gebruik van deze oplossing:

  • Grafana-integratie is gedefinieerd voor realtime monitoring. Als u een basiskennis van uw taken heeft, kunt u eenvoudig de prestaties, fouten en meer volgen op het Grafana-dashboard.
  • Door Amazon beheerd Grafana is afhankelijk van AWS IAM Identificatiecentrum. Dit betekent dat u gebruikers met eenmalige aanmelding (SSO) afzonderlijk moet beheren, en niet alleen AWS Identiteits- en toegangsbeheer (IAM) gebruikers en rollen. Het vereist ook nog een aanmeldingsstap vanaf de AWS-console. Het Amazon Managed Grafana-prijsmodel is afhankelijk van een actieve gebruikerslicentie per werkplek. Meer gebruikers kunnen meer kosten veroorzaken.
  • Per taak worden grafieklijnen gevisualiseerd. Als je de lijnen over alle banen wilt zien, kun je kiezen ALLE in de controle.

Conclusie

AWS Glue-observeerbaarheidsstatistieken bieden een krachtige nieuwe mogelijkheid voor het in realtime monitoren van de prestaties van de datapijplijn. Door belangrijke statistieken naar CloudWatch te streamen en deze in Grafana te visualiseren, krijgt u een gedetailleerder inzicht dat voorheen niet mogelijk was. Dit bericht liet zien hoe eenvoudig het is om observatiestatistieken in te schakelen en de gegevens te integreren met Grafana met behulp van Amazon Managed Grafana. We hebben de verschillende beschikbare statistieken onderzocht en hoe u aangepaste Grafana-dashboards kunt bouwen om bruikbare inzichten naar boven te halen.

Waarneembaarheid is nu een essentieel onderdeel van robuuste data-orkestratie op AWS. Met de mogelijkheid om trends in data-integratie in realtime te monitoren, kunt u de kosten, prestaties en betrouwbaarheid optimaliseren.


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.

Xiaoxi Liu is een Software Development Engineer in het AWS Glue-team. Haar passie is het bouwen van schaalbare gedistribueerde systemen voor het efficiënt beheren van big data in de cloud, en haar concentraties liggen op gedistribueerde systemen, big data en cloud computing.

Akira Ajisaka is een Senior Software Development Engineer in het AWS Glue-team. Hij houdt van open source software en gedistribueerde systemen. In zijn vrije tijd speelt hij graag arcadespellen.

Shenoda Guirguis is een Senior Software Development Engineer in het AWS Glue-team. Zijn passie ligt in het bouwen van schaalbare en gedistribueerde data-infrastructuur en verwerkingssystemen. Als hij de kans krijgt, houdt Shenoda van lezen en voetballen.

Sean Ma is een hoofdproductmanager van het AWS Glue-team. Hij heeft 18 jaar ervaring 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.

spot_img

VC Café

VC Café

Laatste intelligentie

spot_img