Installera Azure Operator Insights-inmatningsagenten och konfigurera den för att ladda upp data

När du följer den här artikeln konfigurerar du en Azure Operator Insights-inmatningsagent på en virtuell dator (VM) i nätverket och konfigurerar den för att ladda upp data till en dataprodukt. Den här inmatningsagenten stöder uppladdning:

  • Filer som lagras på en SFTP-server.
  • Dataströmmar för bekräftad mcc-händelsedata (Mobile Content Cloud) (Identifiering och åtgärd på slutpunkt).

En översikt över inmatningsagenter finns i Översikt över inmatningsagent.

Förutsättningar

Hämta följande i dokumentationen för din dataprodukt:

  • Specifikationer för den virtuella dator där du planerar att installera VM-agenten.
  • Exempelkonfiguration för inmatningsagenten.

Säkerhetsrekommendationer för virtuella datorer

Den virtuella dator som används för inmatningsagenten bör konfigureras enligt bästa praxis för säkerhet. Vi rekommenderar följande åtgärder:

Nätverk

När du använder en virtuell Azure-dator:

  • Ge den virtuella datorn en privat IP-adress.
  • Konfigurera en nätverkssäkerhetsgrupp (NSG) för att endast tillåta nätverkstrafik på de portar som krävs för att köra agenten och underhålla den virtuella datorn.
  • Utöver detta beror nätverkskonfigurationen på om begränsad åtkomst har konfigurerats på dataprodukten (om du använder tjänstslutpunkter för att komma åt dataproduktens indatalagringskonto). Vissa nätverkskonfigurationer kan medföra extra kostnader, till exempel ett virtuellt Azure-nätverk mellan den virtuella datorn och dataproduktens indatalagringskonto.

När du använder en lokal virtuell dator:

  • Konfigurera en brandvägg för att endast tillåta nätverkstrafik på de portar som krävs för att köra agenten och underhålla den virtuella datorn.

Diskkryptering

Kontrollera att Azure-diskkryptering är aktiverat (detta är standard när du skapar den virtuella datorn).

OS-version

  • Håll os-versionen uppdaterad för att undvika kända säkerhetsrisker.
  • Konfigurera den virtuella datorn så att den regelbundet söker efter systemuppdateringar som saknas.

Access

Begränsa åtkomsten till den virtuella datorn till en minimal uppsättning användare. Konfigurera granskningsloggning på den virtuella datorn – till exempel med hjälp av Linux-granskningspaketet – för att registrera inloggningsförsök och åtgärder som vidtas av inloggade användare.

Vi rekommenderar att du begränsar följande:

  • Administratörsåtkomst till den virtuella datorn (till exempel för att stoppa/starta/installera inmatningsagenten).
  • Åtkomst till katalogen där loggarna lagras: /var/log/az-aoi-ingestion/.
  • Åtkomst till den hanterade identiteten eller certifikatet och den privata nyckeln för tjänstens huvudnamn som du skapar under den här proceduren.
  • Åtkomst till katalogen för hemligheter som du skapar på den virtuella datorn under den här proceduren.

Microsoft Defender for Cloud

När du använder en virtuell Azure-dator följer du även alla rekommendationer från Microsoft Defender för molnet. Du hittar de här rekommendationerna i portalen genom att navigera till den virtuella datorn och sedan välja Säkerhet.

Konfigurera autentisering till Azure

Inmatningsagenten måste kunna autentisera med Azure Key Vault som skapats av dataprodukten för att hämta autentiseringsuppgifter för lagring. Autentiseringsmetoden kan antingen vara:

  • Tjänstens huvudnamn med certifikatautentiseringsuppgifter. Detta måste användas om inmatningsagenten körs utanför Azure, till exempel ett lokalt nätverk.
  • Hanterad identitet. Om inmatningsagenten körs på en virtuell Azure-dator rekommenderar vi den här metoden. Det kräver inte hantering av några autentiseringsuppgifter (till skillnad från ett huvudnamn för tjänsten).

Viktigt!

Du kan behöva en Microsoft Entra-klientadministratör i din organisation för att utföra den här konfigurationen åt dig.

Använda en hanterad identitet för autentisering

Om inmatningsagenten körs i Azure rekommenderar vi hanterade identiteter. Mer detaljerad information finns i översikten över hanterade identiteter.

Kommentar

Inmatningsagenter på virtuella Azure-datorer stöder både systemtilldelade och användartilldelade hanterade identiteter. För flera agenter är en användartilldelad hanterad identitet enklare eftersom du kan tillåta identiteten till Data Product Key Vault för alla virtuella datorer som kör agenten.

  1. Skapa eller hämta en användartilldelad hanterad identitet, följ anvisningarna i Hantera användartilldelade hanterade identiteter. Om du planerar att använda en systemtilldelad hanterad identitet ska du inte skapa en användartilldelad hanterad identitet.
  2. Följ anvisningarna i Konfigurera hanterade identiteter för Azure-resurser på en virtuell dator med hjälp av Azure-portalen beroende på vilken typ av hanterad identitet som används.
  3. Observera objekt-ID för den hanterade identiteten. Detta är ett UUID i formatet xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx, där varje tecken är en hexadecimal siffra.

Du kan nu bevilja behörigheter för Data Product Key Vault.

Använda tjänstens huvudnamn för autentisering

Om inmatningsagenten körs utanför Azure, till exempel ett lokalt nätverk, kan du inte använda hanterade identiteter och måste i stället autentisera till Data Product Key Vault med hjälp av ett huvudnamn för tjänsten med certifikatautentiseringsuppgifter. Varje agent måste också ha en kopia av certifikatet som lagras på den virtuella datorn.

Skapa ett huvudnamn för tjänsten

  1. Skapa eller hämta ett Microsoft Entra ID-tjänsthuvudnamn. Följ anvisningarna i Skapa en Microsoft Entra-app och tjänstens huvudnamn i portalen. Lämna fältet Omdirigerings-URI tomt.
  2. Observera program-ID :t (klient) och ditt ID för Microsoft Entra Directory (klientorganisation) (dessa ID:er är UUID:er i formuläret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, där varje tecken är en hexadecimal siffra).

Förbereda certifikat för tjänstens huvudnamn

Inmatningsagenten stöder endast certifikatautentiseringsuppgifter för tjänstens huvudnamn. Det är upp till dig om du använder samma certifikat och nyckel för varje virtuell dator eller använder ett unikt certifikat och en unik nyckel för var och en. Att använda ett certifikat per virtuell dator ger bättre säkerhet och har en mindre inverkan om en nyckel läcker ut eller om certifikatet upphör att gälla. Den här metoden ger dock en högre underhållsbarhet och driftskomplexitet.

  1. Skaffa ett eller flera certifikat. Vi rekommenderar starkt att du använder betrodda certifikat från en certifikatutfärdare. Certifikat kan genereras från Azure Key Vault: se Ange och hämta ett certifikat från Key Vault med azure-portalen. På så sätt kan du konfigurera aviseringar för förfallodatum och ge dig tid att återskapa nya certifikat och tillämpa dem på dina inmatningsagenter innan de upphör att gälla. När ett certifikat har upphört att gälla kan agenten inte autentisera till Azure och laddar inte längre upp data. Mer information om den här metoden finns i Förnya dina Azure Key Vault-certifikat. Om du väljer att använda Azure Key Vault:
  2. Lägg till certifikatet eller certifikaten som autentiseringsuppgifter i tjänstens huvudnamn efter Skapa en Microsoft Entra-app och tjänstens huvudnamn i portalen.
  3. Kontrollera att certifikaten är tillgängliga i PKCS#12-format (P12), utan lösenfras som skyddar dem.
    • Om certifikatet lagras i ett Azure Key Vault laddar du ned certifikatet i PFX-format. PFX är identiskt med P12.
    • I Linux kan du konvertera ett certifikat och en privat nyckel med hjälp av OpenSSL. När du uppmanas att ange ett exportlösenord trycker du på Retur för att ange en tom lösenfras. Detta kan sedan lagras i ett Azure Key Vault enligt beskrivningen i steg 1.
    openssl pkcs12 -nodes -export -in <certificate.pem> -inkey <key.pem> -out <certificate.p12>
    

Viktigt!

P12-filen får inte skyddas med en lösenfras.

  1. Verifiera P12-filen. Detta visar information om P12-filen, inklusive certifikatet och den privata nyckeln.

    openssl pkcs12 -nodes -in <certificate.p12> -info
    
  2. Kontrollera att P12-filen är base64-kodad. I Linux kan du base64 koda ett P12-certifikat med hjälp base64 av kommandot .

    base64 -w 0 <certificate.p12> > <base64-encoded-certificate.p12>
    

Bevilja behörigheter för Data Product Key Vault

  1. Leta reda på Azure Key Vault som innehåller lagringsuppgifterna för indatalagringskontot. Det här Nyckelvalvet finns i en resursgrupp med namnet <data-product-name>-HostedResources-<unique-id>.
  2. Ge tjänstens huvudnamn rollen "Key Vault Secrets User" i det här nyckelvalvet. Du behöver behörigheter på ägarnivå för din Azure-prenumeration. Mer information om hur du tilldelar roller i Azure finns i Tilldela Azure-roller med hjälp av Azure-portalen .
  3. Anteckna namnet på Nyckelvalvet.

Förbereda SFTP-servern

Det här avsnittet krävs endast för SFTP-pullkällan.

På SFTP-servern:

  1. Kontrollera att port 22/TCP till den virtuella datorn är öppen.
  2. Skapa en ny användare eller bestäm en befintlig användare på SFTP-servern som inmatningsagenten ska använda för att ansluta till SFTP-servern.
  3. Fastställ den autentiseringsmetod som inmatningsagenten ska använda för att ansluta till SFTP-servern. Agenten stöder:
    • Lösenordsverifiering
    • SSH-nyckelautentisering
  4. Konfigurera SFTP-servern för att ta bort filer efter en tidsperiod (en kvarhållningsperiod). Se till att kvarhållningsperioden är tillräckligt lång för att agenten ska bearbeta filerna innan SFTP-servern tar bort dem. Exempelkonfigurationsfilen innehåller konfiguration för att söka efter nya filer var femte minut.

Viktigt!

SFTP-servern måste ta bort filer efter en lämplig kvarhållningsperiod så att diskutrymmet inte tar slut. Inmatningsagenten tar inte bort filer automatiskt.

En kortare kvarhållningstid minskar diskanvändningen, ökar agentens hastighet och minskar risken för duplicerade uppladdningar. En kortare kvarhållningsperiod ökar dock risken för att data går förlorade om data inte kan hämtas av agenten eller laddas upp till Azure Operator Insights.

Förbereda de virtuella datorerna

Upprepa de här stegen för varje virtuell dator som du vill installera agenten på.

  1. Se till att du har en SSH-session öppen för den virtuella datorn och att du har sudo behörigheter.

  2. Installera systemd, logrotate och zip på den virtuella datorn, om den inte redan finns. Till exempel:

    sudo dnf install systemd logrotate zip
    
  3. Om du använder ett huvudnamn för tjänsten kopierar du det base64-kodade P12-certifikatet (som skapades i steget Förbered certifikat) till den virtuella datorn på en plats som är tillgänglig för inmatningsagenten.

  4. Konfigurera den virtuella agentdatorn baserat på typen av inmatningskälla.

    1. Kontrollera att den virtuella datorn har följande portar öppna. Dessa portar måste vara öppna både i molnnätverkssäkerhetsgrupper och i alla brandväggar som körs på själva den virtuella datorn (till exempel brandväggar eller iptables).
      • Port 443/TCP utgående till Azure
      • Utgående port 22/TCP till SFTP-servern
    2. Skapa en katalog som ska användas för lagring av hemligheter för agenten. Vi kallar den här katalogen för hemlighetskatalogen. Notera dess sökväg.
    3. Skapa en fil i hemlighetskatalogen som innehåller lösenord eller privat SSH-nyckel för SFTP-servern.
      • Filen får inte ha något filnamnstillägg.
      • Välj ett lämpligt namn för den här filen och anteckna det för senare. Det här namnet refereras till i agentkonfigurationen.
      • Filen får endast innehålla det hemliga värdet (lösenord eller SSH-nyckel), utan extra blanksteg.
    4. Om du använder en SSH-nyckel som har en lösenfras för att autentisera använder du samma metod för att skapa en separat fil som innehåller lösenfrasen.
    5. Kontrollera att SFTP-serverns offentliga SSH-nyckel finns i den virtuella datorns globala known_hosts-fil som finns på /etc/ssh/ssh_known_hosts.

    Dricks

    Använd Linux-kommandot ssh-keyscan för att lägga till en servers offentliga SSH-nyckel till en virtuell dators known_hosts fil manuellt. Exempel: ssh-keyscan -H <server-ip> | sudo tee -a /etc/ssh/ssh_known_hosts

Kontrollera att den virtuella datorn kan matcha Microsofts värdnamn

Kontrollera att den virtuella datorn kan matcha offentliga värdnamn till IP-adresser. Öppna till exempel en SSH-session och använd dig login.microsoftonline.com för att kontrollera att den virtuella datorn kan matcha login.microsoftonline.com till en IP-adress.

Om den virtuella datorn inte kan använda DNS för att matcha offentliga Microsoft-värdnamn till IP-adresser mappar du de värdnamn som krävs till IP-adresser. Återgå till den här proceduren när du har slutfört konfigurationen.

Installera agentprogramvaran

Agentens programvarupaket finns på "Linux-programvarulagringsplatsen för Microsoft-produkter" på https://packages.microsoft.com

Namnet på inmatningsagentpaketet är az-aoi-ingestion.

Om du vill ladda ned och installera ett paket från programvarulagringsplatsen följer du de relevanta stegen för den virtuella datorns Linux-distribution i Installera Microsoft-programvarupaket med hjälp av Linux-lagringsplatsen.

Om du till exempel installerar på en virtuell dator som kör Red Hat Enterprise Linux (RHEL) 8 följer du anvisningarna under rubriken Red Hat-baserade Linux-distributioner och ersätter följande parametrar:

  • Distribution: rhel
  • Version: 8
  • package-name: az-aoi-ingestion

Konfigurera agentprogramvaran

Den konfiguration du behöver är specifik för typen av källa och din dataprodukt. Se till att du har åtkomst till dataproduktens dokumentation för att se de värden som krävs. Till exempel:

  1. Anslut till den virtuella datorn via SSH.

  2. Ändra till konfigurationskatalogen.

    cd /etc/az-aoi-ingestion
    
  3. Gör en kopia av standardkonfigurationsfilen.

    sudo cp example_config.yaml config.yaml
    
  4. Ange fältet agent_id till en unik identifierare för agentinstansen – till exempel london-sftp-1. Det här namnet blir sökbara metadata i Operator Insights för alla data som matas in av den här agenten. Reserverade URL-tecken måste vara procentkodade.

  5. Konfigurera avsnittet secret_providers .

    SFTP-källor kräver två typer av hemliga providers.

    • En hemlig provider av typen key_vault, som innehåller information som krävs för att ansluta till dataproduktens Azure Key Vault och tillåta anslutning till dataproduktens indatalagringskonto.
    • En hemlig provider av typen file_system, som anger en katalog på den virtuella datorn för lagring av autentiseringsuppgifter för anslutning till en SFTP-server.
    1. Ange följande fält för den hemliga providern med typ key_vault och namn data_product_keyvault.
      • vault_name måste vara namnet på Nyckelvalvet för din dataprodukt. Du har identifierat det här namnet i Bevilja behörigheter för Data Product Key Vault.
      • Beroende på vilken typ av autentisering du valde i Konfigurera autentisering till Azure anger du antingen managed_identity eller service_principal.
        • För en hanterad identitet: inställd object_id på objekt-ID för den hanterade identitet som du skapade i Använda en hanterad identitet för autentisering.
        • För tjänstens huvudnamn: ange tenant_id till din Microsoft Entra-ID-klientorganisation, client_id till program-ID:t (klient)-ID:t för tjänstens huvudnamn som du skapade i Skapa ett huvudnamn för tjänsten och cert_path till filsökvägen för det base64-kodade P12-certifikatet på den virtuella datorn.
    2. Ange följande fält för den hemliga providern med typ file_system och namn local_file_system.

    Du kan lägga till fler hemliga providers (till exempel om du vill ladda upp till flera dataprodukter) eller ändra namnen på standardleverantörerna för hemlighet.

  6. pipelines Konfigurera avsnittet med hjälp av exempelkonfigurationen och dokumentationen för dataprodukten. Var och pipeline en har tre konfigurationsavsnitt.

    • id. ID:t identifierar pipelinen och får inte vara samma som andra pipeline-ID:t för den här inmatningsagenten. Alla reserverade URL-tecken måste vara procentkodade. Se dokumentationen för dataprodukten för eventuella rekommendationer.

    • source. Källkonfiguration styr vilka filer som matas in. Du kan konfigurera flera källor.

      Ta bort alla pipelines i exemplet förutom exemplet contoso-logs som innehåller sftp_pull källkonfiguration.

      Uppdatera exemplet så att det uppfyller dina krav. Följande fält krävs för varje källa.

      • host: SFTP-serverns värdnamn eller IP-adress.
      • filtering.base_path: sökvägen till en mapp på SFTP-servern som filer laddas upp till Azure Operator Insights från.
      • known_hosts_file: sökvägen på den virtuella datorn till den globala known_hosts-filen, som finns på /etc/ssh/ssh_known_hosts. Den här filen bör innehålla de offentliga SSH-nycklarna för SFTP-värdservern enligt beskrivningen i Förbereda de virtuella datorerna.
      • user: namnet på användaren på den SFTP-server som agenten ska använda för att ansluta.
      • Beroende på vilken autentiseringsmetod du valde i Förbered de virtuella datorerna anger du antingen password eller private_key.
        • För lösenordsautentisering anger du secret_name namnet på filen som innehåller lösenordet i secrets_directory mappen.
        • För SSH-nyckelautentisering anger du key_secret namnet på filen som innehåller SSH-nyckeln i secrets_directory mappen. Om den privata nyckeln skyddas med en lösenfras anger du passphrase_secret_name namnet på filen som innehåller lösenfrasen i secrets_directory mappen.

      Information om obligatoriska eller rekommenderade värden för andra fält finns i dokumentationen för din dataprodukt.

      Dricks

      Agenten stöder ytterligare valfri konfiguration för följande:

      • Ange ett mönster för filer i mappen base_path som ska laddas upp (som standard laddas alla filer i mappen upp).
      • Ange ett mönster för filer i base_path mappen som inte ska laddas upp.
      • En tid och ett datum innan filerna i base_path mappen inte laddas upp.
      • Hur ofta inmatningsagenten laddar upp filer (värdet som anges i exempelkonfigurationsfilen motsvarar varje timme).
      • En lösningstid, vilket är en tidsperiod efter att en fil senast har ändrats som agenten väntar innan den laddas upp (värdet som anges i exempelkonfigurationsfilen är 5 minuter).

      Mer information om de här konfigurationsalternativen finns i Konfigurationsreferens för Azure Operator Insights-inmatningsagent.

    • sink. Konfiguration av mottagare styr överföring av data till dataproduktens indatalagringskonto.

      • I avsnittet sas_token anger secret_provider du till lämplig key_vault hemlig provider för dataprodukten eller använder standardvärdet data_product_keyvault om du använde standardnamnet tidigare. Lämna secret_name oförändrad.
      • Mer information om nödvändiga värden för andra parametrar finns i dokumentationen för dataprodukten.

        Viktigt!

        Fältet container_name måste anges exakt enligt dokumentationen för dataprodukten.

Starta agentprogramvaran

  1. Starta agenten.
    sudo systemctl start az-aoi-ingestion
    
  2. Kontrollera att agenten körs.
    sudo systemctl status az-aoi-ingestion
    
    1. Om du ser någon annan status än active (running)kan du titta på loggarna enligt beskrivningen i Övervaka och felsöka inmatningsagenter för Azure Operator Insights för att förstå felet. Det är troligt att vissa konfigurationer är felaktiga.
    2. När du har löst problemet försöker du starta agenten igen.
    3. Om problemen kvarstår skapar du ett supportärende.
  3. När agenten körs kontrollerar du att den startar automatiskt efter omstarten.
    sudo systemctl enable az-aoi-ingestion.service
    

[Valfritt] Konfigurera logginsamling för åtkomst via Azure Monitor

Om du kör inmatningsagenten på en virtuell Azure-dator eller på en lokal virtuell dator som är ansluten till Azure Arc kan du skicka inmatningsagentloggar till Azure Monitor med hjälp av Azure Monitor-agenten. Det kan vara enklare att använda Azure Monitor för att komma åt loggar än att komma åt loggar direkt på den virtuella datorn.

Om du vill samla in inmatningsagentloggar följer du dokumentationen för Azure Monitor för att installera Azure Monitor-agenten och konfigurera loggsamlingen.

  • Dessa dokument använder Az PowerShell-modulen för att skapa en loggtabell. Följ installationsdokumentationen för Az PowerShell-modulen först.
    • Avsnittet YourOptionalColumn från JSON-exemplet $tableParams är onödigt för inmatningsagenten och kan tas bort.
  • När du lägger till en datakälla i datainsamlingsregeln lägger du till en Custom Text Logs källtyp med filmönstret /var/log/az-aoi-ingestion/stdout.log.
  • När du har lagt till datainsamlingsregeln kan du köra frågor mot loggarna via Log Analytics-arbetsytan. Använd följande fråga för att göra dem enklare att arbeta med:
    RawAgentLogs_CL
    | extend RawData = replace_regex(RawData, '\\x1b\\[\\d{1,4}m', '')  // Remove any color tags
    | parse RawData with TimeGenerated: datetime '  ' Level ' ' Message  // Parse the log lines into the TimeGenerated, Level and Message columns for easy filtering
    | order by TimeGenerated desc
    

    Kommentar

    Den här frågan kan inte användas som en datakällatransformering, eftersom replace_regex den inte är tillgänglig i datakällans transformeringar.

Exempelloggar

[2m2024-04-30T17:16:00.000544Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Starting run with 'last checkpoint' timestamp: None
[2m2024-04-30T17:16:00.000689Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Starting Completion Handler task
[2m2024-04-30T17:16:00.073495Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::sftp_file_tree_explorer[0m[2m:[0m Start traversing files with base path "/"
[2m2024-04-30T17:16:00.086427Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::sftp_file_tree_explorer[0m[2m:[0m Finished traversing files
[2m2024-04-30T17:16:00.086698Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m File explorer task is complete, with result Ok(())
[2m2024-04-30T17:16:00.086874Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Send files to sink task is complete
[2m2024-04-30T17:16:00.087041Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Processed all completion notifications for run
[2m2024-04-30T17:16:00.087221Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Run complete with no retryable errors - updating last checkpoint timestamp
[2m2024-04-30T17:16:00.087351Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::source[0m[2m:[0m Run lasted 0 minutes and 0 seconds with result: RunStats { successful_uploads: 0, retryable_errors: 0, non_retryable_errors: 0, blob_already_exists: 0 }
[2m2024-04-30T17:16:00.087421Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_sftp_pull_source::sftp::file[0m[2m:[0m Closing 1 active SFTP connections
[2m2024-04-30T17:16:00.087966Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m[1mexecute_run[0m[1m{[0m[3mstart_time[0m[2m=[0m"2024-04-30 17:16:00.000524 UTC"[1m}[0m[2m:[0m [2maz_ingestion_common::scheduler[0m[2m:[0m Run completed successfully. Update the 'last checkpoint' time to 2024-04-30T17:15:30.000543200Z
[2m2024-04-30T17:16:00.088122Z[0m [32m INFO[0m [1msftp_pull[0m[1m{[0m[3mpipeline_id[0m[2m=[0m"test-files"[1m}[0m[2m:[0m [2maz_ingestion_common::scheduler[0m[2m:[0m Schedule next run at 2024-04-30T17:17:00Z

Lär dig att: