Partilhar via


Usar o log seletivo com uma ação de script para o Azure Monitor Agent (AMA) no Azure HDInsight

O Azure Monitor Logs é um serviço do Azure Monitor que monitoriza os seus ambientes na nuvem e no local. A monitorização ajuda a manter a sua disponibilidade e desempenho.

Os Logs do Azure Monitor coletam dados gerados por recursos em sua nuvem, recursos em ambientes locais e outras ferramentas de monitoramento. Ele usa os dados para fornecer análises em várias fontes. Para obter a análise, habilite o recurso de log seletivo usando uma ação de script para o HDInsight no portal do Azure.

Sobre o registro seletivo

O log seletivo faz parte do sistema de monitoramento geral no Azure. Depois de conectar seu cluster a um espaço de trabalho do Log Analytics e habilitar o log seletivo, você poderá ver logs e métricas como logs de segurança do HDInsight, Yarn Resource Manager e métricas do sistema. Você pode monitorar cargas de trabalho e ver como elas estão afetando a estabilidade do cluster.

O registo seletivo permite-lhe ativar ou desativar todas as tabelas, ou ativar tabelas selecionadas, na área de trabalho do Log Analytics. Você pode ajustar o tipo de origem para cada tabela.

Nota

Se o Log Analytics for reinstalado em um cluster, você terá que desabilitar todas as tabelas e tipos de log novamente. A reinstalação redefine todos os arquivos de configuração para seu estado original.

Considerações para ações de script

  • O sistema de monitoramento usa o Metadata Server Daemon (um agente de monitoramento) e o Fluentd para coletar logs usando uma camada de log unificada.
  • O log seletivo usa uma ação de script para desabilitar ou habilitar tabelas e seus tipos de log. Como o log seletivo não abre novas portas nem altera nenhuma configuração de segurança existente, não há alterações de segurança.
  • A ação de script é executada em paralelo em todos os nós especificados e altera os arquivos de configuração para desabilitar ou habilitar tabelas e seus tipos de log.

Pré-requisitos

  • Uma área de trabalho do Log Analytics. Você pode pensar nesse espaço de trabalho como um ambiente exclusivo do Azure Monitor Logs com seu próprio repositório de dados, fontes de dados e soluções. Para obter instruções, consulte Criar um espaço de trabalho do Log Analytics.
  • Um cluster do Azure HDInsight. Atualmente, você pode usar o recurso de log seletivo com os seguintes tipos de cluster HDInsight:
    • Hadoop
    • HBase
    • Interactive Query
    • Spark

Para obter instruções sobre como criar um cluster HDInsight, consulte Introdução ao Azure HDInsight.

Habilitar ou desabilitar logs usando uma ação de script para várias tabelas e tipos de log

  1. Vá para Ações de script em seu cluster e selecione Enviar novo para iniciar o processo de criação de uma ação de script.

    Captura de tela que mostra o botão para iniciar o processo de criação de uma ação de script.

    O painel de ação Enviar script é exibido.

    Captura de tela que mostra o painel para enviar uma ação de script.

  2. Para o tipo de script, selecione Personalizado.

  3. Nomeie o script. Por exemplo: desative duas tabelas e duas fontes.

  4. O URI do script Bash deve ser um link para selectiveLoggingScript.sh.

  5. Selecione todos os tipos de nó que se aplicam ao cluster. As opções são nó principal, nó trabalhador e nó ZooKeeper.

  6. Defina os parâmetros. Por exemplo:

    • Faísca: spark HDInsightSparkLogs:SparkExecutorLog --disable
    • Consulta interativa: interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
    • Hadoop: hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
    • HBase: hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable

    Para obter mais informações, consulte a seção Sintaxe do parâmetro.

  7. Selecione Criar.

  8. Após alguns minutos, uma marca de seleção verde aparece ao lado do histórico de ações do script. Isso significa que o script foi executado com êxito.

    Captura de tela que mostra uma execução bem-sucedida de um script para habilitar tabelas e tipos de log.

Você vê suas alterações no espaço de trabalho do Log Analytics.

Resolução de Problemas

Nenhuma alteração aparece no espaço de trabalho do Log Analytics

Se você enviar sua ação de script, mas não houver alterações no espaço de trabalho do Log Analytics:

  1. Em Painéis, selecione Ambari home para verificar as informações de depuração.

    Captura de tela que mostra a localização do painel inicial do Ambari.

  2. Selecione o botão Configurações .

    Captura de ecrã que mostra o botão Definições.

  3. Selecione o script mais recente executado na parte superior da lista de operações em segundo plano.

    Captura de tela que mostra operações em segundo plano.

  4. Verifique o status de execução do script em todos os nós individualmente.

    Captura de tela que mostra o status de execução do script para hosts.

  5. Verifique se a sintaxe do parâmetro da seção de sintaxe do parâmetro está correta.

  6. Verifique se o espaço de trabalho do Log Analytics está conectado ao cluster e se o monitoramento do Log Analytics está ativado.

  7. Verifique se você selecionou a caixa de seleção Persistir esta ação de script para executar novamente quando novos nós forem adicionados ao cluster para a ação de script executada.

    Captura de tela que mostra a caixa de seleção para persistir uma ação de script.

  8. Veja se um novo nó foi adicionado ao cluster recentemente.

    Nota

    Para que o script seja executado no cluster mais recente, o script deve persistir.

  9. Certifique-se de que selecionou todos os tipos de nó que pretendia para a ação de script.

    Captura de tela que mostra os tipos de nó selecionados.

A ação de script falhou

Se a ação de script mostrar um status de falha no histórico de ações de script:

  1. Verifique se a sintaxe do parâmetro da seção de sintaxe do parâmetro está correta.
  2. Verifique se o link do script está correto. Deve ser: https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh.

Nomes de tabelas

Para obter uma lista completa de nomes de tabelas para diferentes tipos de log (fontes), consulte Tabelas de Logs do Azure Monitor.

Sintaxe do parâmetro

Os parâmetros definem o tipo de cluster, nomes de tabela, nomes de origem e ação.

Captura de tela que mostra a caixa de sintaxe do parâmetro.

Um parâmetro contém três partes:

  • Tipo de cluster
  • Tabelas e tipos de log
  • Ação (ou --disable --enable)

Sintaxe para várias tabelas

Quando você tem várias tabelas, elas são separadas por uma vírgula. Por exemplo:

spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable

hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable

Sintaxe para vários tipos de origem ou tipos de log

Quando você tem vários tipos de origem ou tipos de log, eles são separados por um espaço.

Para desativar uma fonte, escreva o nome da tabela que contém os tipos de log, seguido por dois pontos e, em seguida, o nome do tipo de log real:

TableName : LogTypeName

Por exemplo, suponha que spark HDInsightSecurityLogs é uma tabela que tem dois tipos de log: AmbariAuditLog e AuthLog. Para desativar ambos os tipos de log, a sintaxe correta seria:

spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable

Sintaxe para várias tabelas e tipos de origem

Se você precisar desabilitar duas tabelas e dois tipos de fonte, use a seguinte sintaxe:

  • Faísca: InteractiveHiveMetastoreLog tipo de log na HDInsightHiveAndLLAPLogs tabela
  • Hbase: InteractiveHiveHSILog tipo de log na HDInsightHiveAndLLAPLogs tabela
  • Hadoop: HDInsightHiveAndLLAPMetrics tabela
  • Hadoop: HDInsightHiveTezAppStats tabela

Separe as tabelas com uma vírgula. Denote fontes usando dois pontos após o nome da tabela em que residem.

A sintaxe de parâmetro correta para esses casos seria:

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

Próximos passos