Usare la registrazione selettiva con un'azione script per l'agente di Monitoraggio di Azure in Azure HDInsight
I log di Monitoraggio di Azure sono un servizio di Monitoraggio di Azure che consente di monitorare gli ambienti cloud e locali. per contribuire a mantenerne la disponibilità e le prestazioni.
I log di Monitoraggio di Azure raccolgono i dati generati dalle risorse nel cloud, dalle risorse negli ambienti locali e da altri strumenti di monitoraggio. Usa i dati per consentire l'analisi in più origini. Per ottenere l'analisi, abilitare la funzionalità di registrazione selettiva usando un'azione script per HDInsight nel portale di Azure.
Informazioni sulla registrazione selettiva
La registrazione selettiva fa parte del sistema di monitoraggio complessivo in Azure. Dopo aver connesso il cluster a un'area di lavoro Log Analytics e aver abilitato la registrazione selettiva, è possibile visualizzare log e metriche come i log di sicurezza di HDInsight, Yarn Resource Manager e le metriche di sistema. È possibile monitorare i carichi di lavoro e vedere in che modo influiscono sulla stabilità del cluster.
La registrazione selettiva consente di abilitare o disabilitare tutte le tabelle o di abilitare tabelle selettive nell'area di lavoro Log Analytics. È possibile modificare il tipo di origine per ogni tabella.
Nota
Se Log Analytics viene reinstallato in un cluster, sarà necessario disabilitare di nuovo tutte le tabelle e i tipi di log. La reinstallazione reimposta tutti i file di configurazione sullo stato originale.
Considerazioni sulle azioni script
- Il sistema di monitoraggio usa il Daemon del server di metadati (un agente di monitoraggio) e Fluentd per raccogliere i log usando un livello di registrazione unificato.
- La registrazione selettiva usa un'azione script per disabilitare o abilitare le tabelle e i relativi tipi di log. Poiché la registrazione selettiva non apre nuove porte o modifica le impostazioni di sicurezza esistenti, non vengono apportate modifiche alla sicurezza.
- L'azione script viene eseguita in parallelo in tutti i nodi specificati e modifica i file di configurazione per disabilitare o abilitare le tabelle e i relativi tipi di log.
Prerequisiti
- Un'area di lavoro Log Analytics. Un'area di lavoro è un ambiente dei log di Monitoraggio di Azure univoco con un proprio repository dei dati, origini dati e soluzioni proprie. Per istruzioni, vedere Creare un'area di lavoro Log Analytics.
- Un cluster HDInsight di Azure. Attualmente, è possibile usare la funzionalità di registrazione selettiva con i tipi di cluster HDInsight seguenti:
- Hadoop
- HBase
- Interactive Query
- Spark
Per istruzioni su come creare un cluster HDInsight, vedere Introduzione ad Azure HDInsight.
Abilitare o disabilitare i log usando un'azione script per più tabelle e tipi di log
Andare a Azioni script nel cluster e selezionare Invia nuovo per avviare il processo di creazione di un'azione script.
Viene visualizzato il riquadro Invia azione script.
Per il tipo di script selezionare Personalizzato.
Assegnare un nome allo script. Ad esempio: disabilitare due tabelle e due origini.
L'URI dello script Bash deve essere un link a selectiveLoggingScript.sh.
Selezionare tutti i tipi di nodo che si applicano per il cluster. Le opzioni sono nodo head, nodo di lavoro e nodo ZooKeeper.
Definire i parametri. Ad esempio:
- Spark:
spark HDInsightSparkLogs:SparkExecutorLog --disable
- Interactive Query:
interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
- Hadoop:
hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
- HBase:
hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable
Per altre informazioni, vedere la sezione Sintassi dei parametri.
- Spark:
Seleziona Crea.
Dopo alcuni minuti, accanto alla cronologia delle azioni script viene visualizzato un segno di spunta verde. Significa che lo script è stato eseguito correttamente.
Le modifiche verranno visualizzate nell'area di lavoro Log Analytics.
Risoluzione dei problemi
Non vengono visualizzate modifiche nell'area di lavoro Log Analytics
Se si invia l'azione script ma non sono presenti modifiche nell'area di lavoro Log Analytics:
In Dashboardselezionare Home di Ambari per controllare le informazioni di debug.
Selezionare il pulsante Impostazioni.
Selezionare l'esecuzione dello script più recente nella parte superiore dell'elenco delle operazioni in background.
Verificare lo stato di esecuzione dello script in tutti i nodi singolarmente.
Verificare che la sintassi dei parametri della relativa sezione sia corretta.
Verificare che l'area di lavoro Log Analytics sia connessa al cluster e che il monitoraggio di Log Analytics sia attivato.
Verificare di aver selezionato la casella di controllo Rendere persistente l'azione script da eseguire nuovamente quando vengono aggiunti nuovi nodi al cluster relativa all'azione script eseguita.
Verificare se un nuovo nodo è stato aggiunto di recente al cluster.
Nota
Affinché lo script venga eseguito nel cluster più recente, lo script deve essere persistente.
Assicurarsi di aver selezionato tutti i tipi di nodo desiderati per l'azione script.
Azione script non riuscita
Se l'azione script mostra uno stato di errore nella cronologia delle azioni script:
- Verificare che la sintassi dei parametri della relativa sezione sia corretta.
- Verificare che il link di script sia corretto. Il valore dovrebbe essere:
https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh
.
Nomi di tabella
Per un elenco completo dei nomi di tabella per differenti tipi di log (origini), vedere Tabelle dei log di Monitoraggio di Azure.
Sintassi dei parametri
I parametri definiscono il tipo di cluster, i nomi delle tabelle, i nomi di origine e l'azione.
Un parametro contiene tre parti:
- Tipo di cluster
- Tabelle e tipi di log
- Azione (
--disable
o--enable
)
Sintassi per più tabelle
Quando sono presenti più tabelle, le tabelle sono separate da una virgola. Ad esempio:
spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable
hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable
Sintassi per più tipi di origine o tipi di log
Quando si hanno più tipi di origine o tipi di log, questi sono separati da uno spazio.
Per disabilitare un'origine, scrivere il nome della tabella contenente i tipi di log, seguito da due puntie dal nome del tipo di log reale:
TableName : LogTypeName
Si supponga, ad esempio, che spark HDInsightSecurityLogs
sia una tabella con due tipi di log: AmbariAuditLog
e AuthLog
. Per disabilitare entrambi i tipi di log, la sintassi corretta sarà:
spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable
Sintassi per più tabelle e tipi di origine
Se è necessario disabilitare due tabelle e due tipi di origine, usare la sintassi seguente:
- Spark: tipo di log
InteractiveHiveMetastoreLog
nella tabellaHDInsightHiveAndLLAPLogs
- Hbase: tipo di log
InteractiveHiveHSILog
nella tabellaHDInsightHiveAndLLAPLogs
- Hadoop: tabella
HDInsightHiveAndLLAPMetrics
- Hadoop: tabella
HDInsightHiveTezAppStats
Separare le tabelle con una virgola. Denotare le origini usando due punti dopo il nome della tabella in cui risiedono.
La sintassi dei parametri corretta per questi casi è:
interactivehive HDInsightHiveAndLLAPLogs: InteractiveHiveMetastoreLog, HDInsightHiveAndLLAPMetrics, HDInsightHiveTezAppStats, HDInsightHiveAndLLAPLogs: InteractiveHiveHSILog --enable