Selectieve logboekregistratie gebruiken met een scriptactie voor Azure Monitor Agent (AMA) in Azure HDInsight
Azure Monitor-logboeken is een Azure Monitor-service die uw cloud- en on-premises omgevingen bewaakt. De bewaking helpt hun beschikbaarheid en prestaties te behouden.
Met Azure Monitor-logboeken worden gegevens verzameld die zijn gegenereerd door resources in uw cloud, resources in on-premises omgevingen en andere bewakingsprogramma's. De gegevens worden gebruikt om analyses uit te voeren in meerdere bronnen. Als u de analyse wilt ophalen, schakelt u de functie voor selectieve logboekregistratie in met behulp van een scriptactie voor HDInsight in Azure Portal.
Over selectieve logboekregistratie
Selectieve logboekregistratie maakt deel uit van het algehele bewakingssysteem in Azure. Nadat u uw cluster hebt verbonden met een Log Analytics-werkruimte en selectieve logboekregistratie hebt ingeschakeld, kunt u logboeken en metrische gegevens zien, zoals HDInsight-beveiligingslogboeken, Yarn Resource Manager en metrische systeemgegevens. U kunt workloads bewaken en zien hoe deze van invloed zijn op clusterstabiliteit.
Met selectief logboekregistratie kunt u alle tabellen in- of uitschakelen, of geselecteerde tabellen inschakelen in de Log Analytics-werkruimte. U kunt het brontype voor elke tabel aanpassen.
Notitie
Als Log Analytics opnieuw is geïnstalleerd in een cluster, moet u alle tabellen en logboektypen opnieuw uitschakelen. Opnieuw installeren stelt alle configuratiebestanden opnieuw in op de oorspronkelijke staat.
Overwegingen voor scriptacties
- Het bewakingssysteem maakt gebruik van de Metadata Server-daemon (een bewakingsagent) en Fluentd voor het verzamelen van logboeken met behulp van een uniforme logboekregistratielaag.
- Selectief logboekregistratie maakt gebruik van een scriptactie om tabellen en de bijbehorende logboektypen uit te schakelen of in te schakelen. Omdat selectieve logboekregistratie geen nieuwe poorten opent of bestaande beveiligingsinstellingen wijzigt, zijn er geen beveiligingswijzigingen.
- De scriptactie wordt parallel uitgevoerd op alle opgegeven knooppunten en wijzigt de configuratiebestanden voor het uitschakelen of inschakelen van tabellen en hun logboektypen.
Vereisten
- Een Log Analytics-werkruimte. U kunt deze werkruimte beschouwen als een unieke Azure Monitor-logboekomgeving met een eigen gegevensopslagplaats, gegevensbronnen en oplossingen. Zie Een Log Analytics-werkruimte maken voor instructies.
- Een Azure HDInsight-cluster. Op dit moment kunt u de functie voor selectieve logboekregistratie gebruiken met de volgende HDInsight-clustertypen:
- Hadoop
- HBase
- Interactive Query
- Spark
Zie Aan de slag met Azure HDInsight voor instructies over het maken van een HDInsight-cluster.
Logboeken in- of uitschakelen met behulp van een scriptactie voor meerdere tabellen en logboektypen
Ga naar Scriptacties in uw cluster en selecteer Nieuw verzenden om het proces voor het maken van een scriptactie te starten.
Het deelvenster Scriptactie verzenden wordt weergegeven.
Selecteer Aangepast voor het scripttype.
Geef het script een naam. Bijvoorbeeld: Schakel twee tabellen en twee bronnen uit.
De Bash-script-URI moet een koppeling naar selectiveLoggingScript.sh zijn.
Selecteer alle knooppunttypen die van toepassing zijn op het cluster. De opties zijn hoofdknooppunt, werkknooppunt en ZooKeeper-knooppunt.
Definieer de parameters. Voorbeeld:
- Vonk:
spark HDInsightSparkLogs:SparkExecutorLog --disable
- Interactieve query:
interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
- Hadoop:
hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
- HBase:
hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable
Zie de sectie Parametersyntaxis voor meer informatie.
- Vonk:
Selecteer Maken.
Na een paar minuten wordt er een groen vinkje weergegeven naast uw scriptactiegeschiedenis. Dit betekent dat het script is uitgevoerd.
U ziet uw wijzigingen in de Log Analytics-werkruimte.
Probleemoplossing
Er worden geen wijzigingen weergegeven in de Log Analytics-werkruimte
Als u uw scriptactie indient, maar er geen wijzigingen zijn in de Log Analytics-werkruimte:
Selecteer onder Dashboards de startpagina van Ambari om de foutopsporingsgegevens te controleren.
Selecteer de knop Instellingen .
Selecteer het meest recente script dat boven aan de lijst met achtergrondbewerkingen wordt uitgevoerd.
Controleer de uitvoeringsstatus van het script in alle knooppunten afzonderlijk.
Controleer of de parametersyntaxis uit de sectie parametersyntaxis juist is.
Controleer of de Log Analytics-werkruimte is verbonden met het cluster en of Log Analytics-bewaking is ingeschakeld.
Controleer of u de scriptactie Behouden hebt geselecteerd om opnieuw uit te voeren wanneer er nieuwe knooppunten aan het cluster worden toegevoegd voor de scriptactie die u hebt uitgevoerd.
Kijk of er onlangs een nieuw knooppunt is toegevoegd aan het cluster.
Notitie
Het script moet blijven bestaan om het script uit te voeren in het meest recente cluster.
Zorg ervoor dat u alle knooppunttypen hebt geselecteerd die u voor de scriptactie wilt gebruiken.
De scriptactie is mislukt
Als in de scriptactie een foutstatus wordt weergegeven in de scriptactiegeschiedenis:
- Controleer of de parametersyntaxis uit de sectie parametersyntaxis juist is.
- Controleer of de scriptkoppeling juist is. Het zou moeten zijn:
https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh
.
Tabelnamen
Zie Azure Monitor-logboeken voor een volledige lijst met tabelnamen voor verschillende logboektypen (bronnen).
Parametersyntaxis
Parameters definiëren het clustertype, tabelnamen, bronnamen en actie.
Een parameter bevat drie onderdelen:
- Clustertype
- Tabellen en logboektypen
- Actie (of
--disable
--enable
)
Syntaxis voor meerdere tabellen
Wanneer u meerdere tabellen hebt, worden deze gescheiden door een komma. Voorbeeld:
spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable
hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable
Syntaxis voor meerdere brontypen of logboektypen
Wanneer u meerdere brontypen of logboektypen hebt, worden deze gescheiden door een spatie.
Als u een bron wilt uitschakelen, schrijft u de tabelnaam die de logboektypen bevat, gevolgd door een dubbele punt en vervolgens de naam van het echte logboektype:
TableName : LogTypeName
Stel dat dit spark HDInsightSecurityLogs
een tabel is met twee logboektypen: AmbariAuditLog
en AuthLog
. Als u beide logboektypen wilt uitschakelen, is de juiste syntaxis:
spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable
Syntaxis voor meerdere tabellen en brontypen
Als u twee tabellen en twee brontypen wilt uitschakelen, gebruikt u de volgende syntaxis:
- Spark:
InteractiveHiveMetastoreLog
logboektype in deHDInsightHiveAndLLAPLogs
tabel - Hbase:
InteractiveHiveHSILog
logboektype in deHDInsightHiveAndLLAPLogs
tabel - Hadoop:
HDInsightHiveAndLLAPMetrics
tabel - Hadoop:
HDInsightHiveTezAppStats
tabel
Scheid de tabellen met een komma. Geef bronnen aan met behulp van een dubbele punt na de tabelnaam waarin ze zich bevinden.
De juiste parametersyntaxis voor deze gevallen is:
interactivehive HDInsightHiveAndLLAPLogs: InteractiveHiveMetastoreLog, HDInsightHiveAndLLAPMetrics, HDInsightHiveTezAppStats, HDInsightHiveAndLLAPLogs: InteractiveHiveHSILog --enable