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ů
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.
Zobrazí se podokno akcí Odeslat skript.
Jako typ skriptu vyberte Vlastní.
Pojmenujte skript. Například: Zakažte dvě tabulky a dva zdroje.
Identifikátor URI skriptu Bash musí být odkazem na selectiveLoggingScript.sh.
Vyberte všechny typy uzlů, které platí pro cluster. Možnosti jsou hlavní uzel, pracovní uzel a uzel ZooKeeper.
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
- Jiskra:
Vyberte Vytvořit.
Po několika minutách se vedle historie akcí skriptu zobrazí zelená značka zaškrtnutí. Znamená to, že se skript úspěšně spustil.
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:
V části Řídicí panely vyberte domovskou stránku Ambari a zkontrolujte informace o ladění.
Vyberte tlačítko Nastavení.
Vyberte nejnovější skript spuštěný v horní části seznamu operací na pozadí.
Ověřte stav spuštění skriptu ve všech uzlech jednotlivě.
Zkontrolujte správnost syntaxe parametru z oddílu syntaxe parametru.
Zkontrolujte, jestli je pracovní prostor služby Log Analytics připojený ke clusteru a že je zapnuté monitorování Log Analytics.
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.
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.
Ujistěte se, že jste vybrali všechny typy uzlů, které jste chtěli pro akci skriptu.
Akce skriptu se nezdařila.
Pokud akce skriptu zobrazuje stav selhání v historii akcí skriptu:
- Zkontrolujte správnost syntaxe parametru z oddílu syntaxe parametru.
- 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.
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 vHDInsightHiveAndLLAPLogs
tabulce - Hbase:
InteractiveHiveHSILog
typ protokolu vHDInsightHiveAndLLAPLogs
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