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
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.
O painel de ação Enviar script é exibido.
Para o tipo de script, selecione Personalizado.
Nomeie o script. Por exemplo: Desabilitar duas tabelas e duas fontes.
O URI de 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ó de cabeçalho, nó de trabalho e nó do ZooKeeper.
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.
- Spark:
Selecione Criar.
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.
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:
Em Painéis, selecione a página inicial do Ambari para verificar as informações de depuração.
Selecione o botão Configurações.
Selecione sua execução de script mais recente 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 na seção de sintaxe do parâmetro está correta.
Verifique se o workspace 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 a ser executada novamente quando novos nós forem adicionados ao cluster para a ação de script executada.
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.
Verifique se você selecionou todos os tipos de nó desejados para a ação de script.
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:
- Verifique se a sintaxe do parâmetro na seção de sintaxe do parâmetro está correta.
- 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.
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 tabelaHDInsightHiveAndLLAPLogs
- Hbase:
InteractiveHiveHSILog
tipo de log na tabelaHDInsightHiveAndLLAPLogs
- 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