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
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.
O painel de ação Enviar script é exibido.
Para o tipo de script, selecione Personalizado.
Nomeie o script. Por exemplo: desative duas tabelas e duas fontes.
O URI do script Bash deve ser um link para selectiveLoggingScript.sh.
Selecione todos os tipos de nó que se aplicam ao cluster. As opções são nó principal, nó trabalhador e nó ZooKeeper.
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.
- Faísca:
Selecione Criar.
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.
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:
Em Painéis, selecione Ambari home para verificar as informações de depuração.
Selecione o botão Configurações .
Selecione o script mais recente executado na parte superior da lista de operações em segundo plano.
Verifique o status de execução do script em todos os nós individualmente.
Verifique se a sintaxe do parâmetro da seção de sintaxe do parâmetro está correta.
Verifique se o espaço de trabalho do Log Analytics está conectado ao cluster e se o monitoramento do Log Analytics está ativado.
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.
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.
Certifique-se de que selecionou todos os tipos de nó que pretendia para a ação de script.
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:
- Verifique se a sintaxe do parâmetro da seção de sintaxe do parâmetro está correta.
- 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.
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 naHDInsightHiveAndLLAPLogs
tabela - Hbase:
InteractiveHiveHSILog
tipo de log naHDInsightHiveAndLLAPLogs
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