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

  1. Andare a Azioni script nel cluster e selezionare Invia nuovo per avviare il processo di creazione di un'azione script.

    Screenshot che mostra il pulsante per avviare il processo di creazione di un'azione script.

    Viene visualizzato il riquadro Invia azione script.

    Screenshot che mostra il riquadro per l'invio di un'azione script.

  2. Per il tipo di script selezionare Personalizzato.

  3. Assegnare un nome allo script. Ad esempio: disabilitare due tabelle e due origini.

  4. L'URI dello script Bash deve essere un link a selectiveLoggingScript.sh.

  5. Selezionare tutti i tipi di nodo che si applicano per il cluster. Le opzioni sono nodo head, nodo di lavoro e nodo ZooKeeper.

  6. 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.

  7. Seleziona Crea.

  8. Dopo alcuni minuti, accanto alla cronologia delle azioni script viene visualizzato un segno di spunta verde. Significa che lo script è stato eseguito correttamente.

    Screenshot che mostra un'esecuzione corretta di uno script per abilitare tabelle e tipi di log.

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:

  1. In Dashboardselezionare Home di Ambari per controllare le informazioni di debug.

    Screenshot che mostra la posizione del dashboard home di Ambari.

  2. Selezionare il pulsante Impostazioni.

    Screenshot del pulsante Impostazioni.

  3. Selezionare l'esecuzione dello script più recente nella parte superiore dell'elenco delle operazioni in background.

    Screenshot che mostra le operazioni in background.

  4. Verificare lo stato di esecuzione dello script in tutti i nodi singolarmente.

    Screenshot che mostra lo stato di esecuzione dello script per gli host.

  5. Verificare che la sintassi dei parametri della relativa sezione sia corretta.

  6. Verificare che l'area di lavoro Log Analytics sia connessa al cluster e che il monitoraggio di Log Analytics sia attivato.

  7. 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.

    Screenshot che mostra la casella di controllo per rendere persistente un'azione script.

  8. 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.

  9. Assicurarsi di aver selezionato tutti i tipi di nodo desiderati per l'azione script.

    Screenshot che mostra i tipi di nodo selezionati.

Azione script non riuscita

Se l'azione script mostra uno stato di errore nella cronologia delle azioni script:

  1. Verificare che la sintassi dei parametri della relativa sezione sia corretta.
  2. 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.

Screenshot che mostra la casella della sintassi dei parametri.

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 tabella HDInsightHiveAndLLAPLogs
  • Hbase: tipo di log InteractiveHiveHSILog nella tabella HDInsightHiveAndLLAPLogs
  • 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 

Passaggi successivi