Compartilhar via


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

Os Logs do Azure Monitor representam um serviço do Azure Monitor que monitora os ambientes de nuvem e locais. O monitoramento ajuda a manter a disponibilidade e o 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álise para várias fontes. Para obter a análise, habilite o recurso de registro em log seletivo usando uma ação de script para HDInsight no portal do Azure.

Sobre o log seletivo

O registro em log seletivo faz parte do sistema de monitoramento geral do Azure. Depois de conectar seu cluster a um workspace do Log Analytics e habilitar o registro em 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 visualizar como elas estão afetando a estabilidade do cluster.

O registro em log seletivo permite habilitar ou desabilitar todas as tabelas ou habilitar tabelas selecionadas no workspace do Log Analytics. Você pode ajustar o tipo de origem para cada tabela.

Observação

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

Considerações sobre ações de script

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

Pré-requisitos

  • Um espaço de trabalho do Log Analytics. É possível pensar neste workspace como um ambiente exclusivo de Logs do Azure Monitor 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 Azure HDInsight. No momento, é possível usar o recurso de registro em log seletivo com os seguintes tipos de cluster do HDInsight:
    • O Hadoop
    • HBase
    • Consulta Interativa
    • 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. Acesse as Ações de script no 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: Desabilitar duas tabelas e duas fontes.

  4. O URI de 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ó de cabeçalho, nó de trabalho e nó do ZooKeeper.

  6. Defina os parâmetros. Por exemplo:

    • Spark: 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, confira 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ção de 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.

Solução de problemas

Nenhuma alteração é exibida no workspace do Log Analytics

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

  1. Em Painéis, selecione a página inicial do Ambari para verificar as informações de depuração.

    Captura de tela que mostra a localização da página inicial do Ambari.

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

    Captura de tela que mostra o botão Configurações.

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

    Captura de tela que mostra as 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 na seção de sintaxe do parâmetro está correta.

  6. Verifique se o workspace 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 a ser executada 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. Verifique se um novo nó tenha sido adicionado ao cluster recentemente.

    Observação

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

  9. Verifique se você selecionou todos os tipos de nó desejados para a ação de script.

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

Falhou ao executar a ação de script

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

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

Nomes da tabela

Para obter uma listagem completa de nomes de tabela para diferentes tipos de log (fontes), consulte tabelas de logs do Azure Monitor.

Sintaxe de parâmetro

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

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

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

  • Tipo de cluster
  • Tipos de logs e tabelas
  • Ação (--disable ou --enable )

Sintaxe para várias tabelas

Quando você tem várias tabelas, elas são separadas com 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 com um espaço.

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

TableName : LogTypeName

Por exemplo, suponha que spark HDInsightSecurityLogs seja uma tabela que tenha dois tipos de log: AmbariAuditLog e AuthLog. Para desabilitar 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 origem, use a seguinte sintaxe:

  • Spark: InteractiveHiveMetastoreLog tipo de log na tabela HDInsightHiveAndLLAPLogs
  • Hbase: InteractiveHiveHSILog tipo de log na tabela HDInsightHiveAndLLAPLogs
  • Hadoop: tabela HDInsightHiveAndLLAPMetrics
  • Hadoop: tabela HDInsightHiveTezAppStats

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

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

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

Próximas etapas