Dela via


Använda selektiv loggning med en skriptåtgärd för Azure Monitor Agent (AMA) i Azure HDInsight

Azure Monitor-loggar är en Azure Monitor-tjänst som övervakar dina molnmiljöer och lokala miljöer. Övervakningen hjälper till att upprätthålla deras tillgänglighet och prestanda.

Azure Monitor-loggar samlar in data som genereras av resurser i molnet, resurser i lokala miljöer och andra övervakningsverktyg. Den använder data för att tillhandahålla analys över flera källor. För att hämta analysen aktiverar du funktionen för selektiv loggning med hjälp av en skriptåtgärd för HDInsight i Azure-portalen.

Om selektiv loggning

Selektiv loggning är en del av det övergripande övervakningssystemet i Azure. När du har anslutit klustret till en Log Analytics-arbetsyta och aktiverat selektiv loggning kan du se loggar och mått som HDInsight-säkerhetsloggar, Yarn Resource Manager och systemmått. Du kan övervaka arbetsbelastningar och se hur de påverkar klusterstabiliteten.

Med selektiv loggning kan du aktivera eller inaktivera alla tabeller, eller aktivera valda tabeller, på Log Analytics-arbetsytan. Du kan justera källtypen för varje tabell.

Kommentar

Om Log Analytics installeras om i ett kluster måste du inaktivera alla tabeller och loggtyper igen. Ominstallationen återställer alla konfigurationsfiler till sitt ursprungliga tillstånd.

Överväganden för skriptåtgärder

  • Övervakningssystemet använder Metadata Server Daemon (en övervakningsagent) och Fluentd för att samla in loggar med hjälp av ett enhetligt loggningslager.
  • Selektiv loggning använder en skriptåtgärd för att inaktivera eller aktivera tabeller och deras loggtyper. Eftersom selektiv loggning inte öppnar några nya portar eller ändrar befintliga säkerhetsinställningar finns det inga säkerhetsändringar.
  • Skriptåtgärden körs parallellt på alla angivna noder och ändrar konfigurationsfilerna för att inaktivera eller aktivera tabeller och deras loggtyper.

Förutsättningar

  • En Log Analytics-arbetsyta. Du kan se den här arbetsytan som en unik Azure Monitor-loggmiljö med en egen datalagringsplats, datakällor och lösningar. Anvisningar finns i Skapa en Log Analytics-arbetsyta.
  • Ett Azure HDInsight-kluster. För närvarande kan du använda funktionen selektiv loggning med följande HDInsight-klustertyper:
    • Hadoop
    • HBase
    • Interaktiv fråga
    • Spark

Anvisningar om hur du skapar ett HDInsight-kluster finns i Komma igång med Azure HDInsight.

Aktivera eller inaktivera loggar med hjälp av en skriptåtgärd för flera tabeller och loggtyper

  1. Gå till Skriptåtgärder i klustret och välj Skicka nytt för att starta processen med att skapa en skriptåtgärd.

    Skärmbild som visar knappen för att starta processen med att skapa en skriptåtgärd.

    Åtgärdsfönstret Skicka skript visas.

    Skärmbild som visar fönstret för att skicka en skriptåtgärd.

  2. Som skripttyp väljer du Anpassad.

  3. Namnge skriptet. Till exempel: Inaktivera två tabeller och två källor.

  4. Bash-skript-URI:n måste vara en länk till selectiveLoggingScript.sh.

  5. Välj alla nodtyper som gäller för klustret. Alternativen är huvudnod, arbetsnod och ZooKeeper-nod.

  6. Definiera parametrarna. Till exempel:

    • Gnista: spark HDInsightSparkLogs:SparkExecutorLog --disable
    • Interaktiv fråga: interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
    • Hadoop: hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
    • HBase: hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable

    Mer information finns i avsnittet Parametersyntax .

  7. Välj Skapa.

  8. Efter några minuter visas en grön bock bredvid skriptåtgärdshistoriken. Det innebär att skriptet har körts.

    Skärmbild som visar en lyckad körning av ett skript för att aktivera tabeller och loggtyper.

Du ser dina ändringar på Log Analytics-arbetsytan.

Felsökning

Inga ändringar visas på Log Analytics-arbetsytan

Om du skickar skriptåtgärden men det inte finns några ändringar på Log Analytics-arbetsytan:

  1. Under Instrumentpaneler väljer du Ambari home för att kontrollera felsökningsinformationen.

    Skärmbild som visar platsen för Ambari-startinstrumentpanelen.

  2. Välj knappen Inställningar.

    Skärmbild som visar knappen Inställningar.

  3. Välj den senaste skriptkörningen överst i listan över bakgrundsåtgärder.

    Skärmbild som visar bakgrundsåtgärder.

  4. Kontrollera skriptkörningsstatusen i alla noder individuellt.

    Skärmbild som visar status för skriptkörning för värdar.

  5. Kontrollera att parametersyntaxen från avsnittet parametersyntax är korrekt.

  6. Kontrollera att Log Analytics-arbetsytan är ansluten till klustret och att Log Analytics-övervakning är aktiverat.

  7. Kontrollera att du har valt åtgärden Spara det här skriptet för att köra igen när nya noder läggs till i kluster-kryssrutan för den skriptåtgärd som du körde.

    Skärmbild som visar kryssrutan för att spara en skriptåtgärd.

  8. Se om en ny nod har lagts till i klustret nyligen.

    Kommentar

    Skriptet måste finnas kvar för att skriptet ska kunna köras i det senaste klustret.

  9. Kontrollera att du har valt alla nodtyper som du ville använda för skriptåtgärden.

    Skärmbild som visar valda nodtyper.

Skriptåtgärden misslyckades

Om skriptåtgärden visar felstatus i skriptets åtgärdshistorik:

  1. Kontrollera att parametersyntaxen från avsnittet parametersyntax är korrekt.
  2. Kontrollera att skriptlänken är korrekt. Det bör vara: https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh.

Tabellnamn

En fullständig lista över tabellnamn för olika loggtyper (källor) finns i Tabeller för Azure Monitor-loggar.

Parametersyntax

Parametrar definierar klustertyp, tabellnamn, källnamn och åtgärd.

Skärmbild som visar parametersyntaxrutan.

En parameter innehåller tre delar:

  • Klustertyp
  • Tabeller och loggtyper
  • Åtgärd (antingen --disable eller --enable)

Syntax för flera tabeller

När du har flera tabeller avgränsas de med kommatecken. Till exempel:

spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable

hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable

Syntax för flera källtyper eller loggtyper

När du har flera källtyper eller loggtyper separeras de med ett blanksteg.

Om du vill inaktivera en källa skriver du tabellnamnet som innehåller loggtyperna, följt av ett kolon och sedan namnet på den riktiga loggtypen:

TableName : LogTypeName

Anta till exempel att det spark HDInsightSecurityLogs är en tabell som har två loggtyper: AmbariAuditLog och AuthLog. Om du vill inaktivera båda loggtyperna skulle rätt syntax vara:

spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable

Syntax för flera tabeller och källtyper

Om du behöver inaktivera två tabeller och två källtyper använder du följande syntax:

  • Spark: InteractiveHiveMetastoreLog loggtyp i HDInsightHiveAndLLAPLogs tabellen
  • Hbase: InteractiveHiveHSILog loggtyp i HDInsightHiveAndLLAPLogs tabellen
  • Hadoop: HDInsightHiveAndLLAPMetrics table
  • Hadoop: HDInsightHiveTezAppStats table

Avgränsa tabellerna med kommatecken. Ange källor med hjälp av ett kolon efter tabellnamnet där de finns.

Rätt parametersyntax för dessa fall är:

interactivehive HDInsightHiveAndLLAPLogs: InteractiveHiveMetastoreLog, HDInsightHiveAndLLAPMetrics, HDInsightHiveTezAppStats, HDInsightHiveAndLLAPLogs: InteractiveHiveHSILog --enable 

Nästa steg