Sdílet prostřednictvím


Použití selektivního protokolování s akcí skriptu pro agenta služby Azure Monitor (AMA) ve službě Azure HDInsight

Protokoly Azure Monitoru jsou služba Azure Monitor, která monitoruje vaše cloudová a místní prostředí. Monitorování pomáhá udržovat jejich dostupnost a výkon.

Protokoly služby Azure Monitor shromažďují data generovaná prostředky v cloudu, prostředky v místních prostředích a další monitorovací nástroje. Používá data k poskytování analýzy napříč více zdroji. K získání analýzy povolíte funkci selektivního protokolování pomocí akce skriptu pro HDInsight na webu Azure Portal.

Informace o selektivním protokolování

Selektivní protokolování je součástí celkového monitorovacího systému v Azure. Po připojení clusteru k pracovnímu prostoru služby Log Analytics a povolení selektivního protokolování můžete zobrazit protokoly a metriky, jako jsou protokoly zabezpečení SLUŽBY HDInsight, Resource Manager Yarn a systémové metriky. Můžete monitorovat úlohy a zjistit, jak ovlivňují stabilitu clusteru.

Selektivní protokolování umožňuje povolit nebo zakázat všechny tabulky nebo povolit vybrané tabulky v pracovním prostoru služby Log Analytics. Můžete upravit typ zdroje pro každou tabulku.

Poznámka:

Pokud je v clusteru přeinstalovaná služba Log Analytics, budete muset znovu zakázat všechny tabulky a typy protokolů. Opětovná instalace obnoví všechny konfigurační soubory do původního stavu.

Důležité informace o akcích skriptů

  • Monitorovací systém používá démon serveru metadat (agent monitorování) a Fluentd ke shromažďování protokolů pomocí sjednocené vrstvy protokolování.
  • Selektivní protokolování používá akci skriptu k zakázání nebo povolení tabulek a jejich typů protokolů. Vzhledem k tomu, že selektivní protokolování neotevře žádné nové porty ani nemění žádná existující nastavení zabezpečení, nejsou žádné změny zabezpečení.
  • Akce skriptu běží paralelně na všech zadaných uzlech a změní konfigurační soubory pro zakázání nebo povolení tabulek a jejich typů protokolů.

Požadavky

  • Pracovní prostor služby Log Analytics. Tento pracovní prostor si můžete představit jako jedinečné prostředí protokolů služby Azure Monitor s vlastním úložištěm dat, zdroji dat a řešeními. Pokyny najdete v tématu Vytvoření pracovního prostoru služby Log Analytics.
  • Cluster Azure HDInsight. V současné době můžete použít funkci selektivního protokolování s následujícími typy clusterů HDInsight:
    • Hadoop
    • HBase
    • Interaktivní dotaz
    • Spark

Pokyny k vytvoření clusteru HDInsight najdete v tématu Začínáme se službou Azure HDInsight.

Povolení nebo zakázání protokolů pomocí akce skriptu pro více tabulek a typů protokolů

  1. Přejděte do akcí skriptů ve vašem clusteru a výběrem možnosti Odeslat nový spusťte proces vytvoření akce skriptu.

    Snímek obrazovky znázorňující tlačítko pro spuštění procesu vytvoření akce skriptu

    Zobrazí se podokno akcí Odeslat skript.

    Snímek obrazovky znázorňující podokno pro odeslání akce skriptu

  2. Jako typ skriptu vyberte Vlastní.

  3. Pojmenujte skript. Například: Zakažte dvě tabulky a dva zdroje.

  4. Identifikátor URI skriptu Bash musí být odkazem na selectiveLoggingScript.sh.

  5. Vyberte všechny typy uzlů, které platí pro cluster. Možnosti jsou hlavní uzel, pracovní uzel a uzel ZooKeeper.

  6. Definujte parametry. Příklad:

    • Jiskra: spark HDInsightSparkLogs:SparkExecutorLog --disable
    • Interaktivní dotaz: interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
    • Hadoop: hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
    • HBase: hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable

    Další informace najdete v části Syntaxe parametru.

  7. Vyberte Vytvořit.

  8. Po několika minutách se vedle historie akcí skriptu zobrazí zelená značka zaškrtnutí. Znamená to, že se skript úspěšně spustil.

    Snímek obrazovky znázorňující úspěšné spuštění skriptu pro povolení tabulek a typů protokolů

Změny se zobrazí v pracovním prostoru služby Log Analytics.

Řešení problému

V pracovním prostoru služby Log Analytics se nezobrazují žádné změny.

Pokud odešlete akci skriptu, ale v pracovním prostoru služby Log Analytics nejsou žádné změny:

  1. V části Řídicí panely vyberte domovskou stránku Ambari a zkontrolujte informace o ladění.

    Snímek obrazovky znázorňující umístění domovského řídicího panelu Ambari

  2. Vyberte tlačítko Nastavení.

    Snímek obrazovky s tlačítkem Nastavení

  3. Vyberte nejnovější skript spuštěný v horní části seznamu operací na pozadí.

    Snímek obrazovky znázorňující operace na pozadí

  4. Ověřte stav spuštění skriptu ve všech uzlech jednotlivě.

    Snímek obrazovky znázorňující stav spuštění skriptu pro hostitele

  5. Zkontrolujte správnost syntaxe parametru z oddílu syntaxe parametru.

  6. Zkontrolujte, jestli je pracovní prostor služby Log Analytics připojený ke clusteru a že je zapnuté monitorování Log Analytics.

  7. Zkontrolujte, že jste při přidání nových uzlů do clusteru vybrali akci Zachovat tento skript, aby se znovu spustila při spuštění nové uzly do clusteru pro akci skriptu, kterou jste spustili.

    Snímek obrazovky znázorňující zaškrtávací políčko pro zachování akce skriptu

  8. Podívejte se, jestli se do clusteru nedávno přidal nový uzel.

    Poznámka:

    Aby se skript spustil v nejnovějším clusteru, musí skript zachovat.

  9. Ujistěte se, že jste vybrali všechny typy uzlů, které jste chtěli pro akci skriptu.

    Snímek obrazovky znázorňující vybrané typy uzlů

Akce skriptu se nezdařila.

Pokud akce skriptu zobrazuje stav selhání v historii akcí skriptu:

  1. Zkontrolujte správnost syntaxe parametru z oddílu syntaxe parametru.
  2. Zkontrolujte správnost odkazu skriptu. Mělo by to být: https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh.

Názvy tabulek

Úplný seznam názvů tabulek pro různé typy protokolů (zdroje) najdete v tabulkách protokolů služby Azure Monitor.

Syntaxe parametrů

Parametry definují typ clusteru, názvy tabulek, názvy zdrojů a akci.

Snímek obrazovky znázorňující pole syntaxe parametru

Parametr obsahuje tři části:

  • Typ clusteru
  • Tabulky a typy protokolů
  • Akce (nebo --disable --enable)

Syntaxe pro více tabulek

Pokud máte více tabulek, jsou oddělené čárkou. Příklad:

spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable

hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable

Syntaxe pro více zdrojových typů nebo typů protokolů

Pokud máte více zdrojových typů nebo typů protokolů, jsou oddělené mezerou.

Pokud chcete zdroj zakázat, napište název tabulky obsahující typy protokolů, za kterým následuje dvojtečka a pak skutečný název typu protokolu:

TableName : LogTypeName

Předpokládejme například, že spark HDInsightSecurityLogs se jedná o tabulku se dvěma typy protokolů: AmbariAuditLog a AuthLog. Pokud chcete zakázat oba typy protokolů, správná syntaxe by byla:

spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable

Syntaxe pro více tabulek a zdrojových typů

Pokud potřebujete zakázat dvě tabulky a dva zdrojové typy, použijte následující syntaxi:

  • Spark: InteractiveHiveMetastoreLog Typ protokolu v HDInsightHiveAndLLAPLogs tabulce
  • Hbase: InteractiveHiveHSILog typ protokolu v HDInsightHiveAndLLAPLogs tabulce
  • Hadoop: HDInsightHiveAndLLAPMetrics tabulka
  • Hadoop: HDInsightHiveTezAppStats tabulka

Tabulky oddělte čárkou. Označte zdroje pomocí dvojtečky za názvem tabulky, ve které se nacházejí.

Správná syntaxe parametru pro tyto případy by byla:

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

Další kroky