Usar o registro em log seletivo com uma ação de script 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 HDInsightSparkLogs:SparkExecutorLog --enable
- Hadoop:
hadoop HDInsightSparkLogs:SparkExecutorLog --disable
- HBase:
hbase HDInsightSparkLogs: HDInsightHBaseLogs --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ê verá suas alterações no workspace 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/selectiveLoggingScripts/selectiveLoggingScript.sh
.
Nomes da tabela
Cluster Spark
Os nomes de tabela a seguir são para diferentes tipos de log (fontes) dentro das tabelas do Spark.
Número da fonte | Nome da tabela | Tipos de logs | Descrição |
---|---|---|---|
1. | HDInsightAmbariCluster Alerts | Nenhum tipo de log | Esta tabela contém alertas do cluster do Ambari de cada nó no cluster (exceto os nós de borda). Cada alerta é um registro dessa tabela. |
2. | HDInsightAmbariSystem Metrics | Nenhum tipo de log | Esta tabela contém as métricas do sistema coletadas do Ambari. As métricas agora são provenientes de cada nó no cluster (exceto os nós de borda) em vez de apenas os dois nós de cabeçalho. Agora, cada métrica é uma coluna e cada métrica é relatada uma vez por registro. |
3. | HDInsightHadoopAnd YarnLogs | Nó de cabeçalho: MRJobSummary, Resource Manager, TimelineServer nó de Trabalho: NodeManager | Esta tabela contém todos os logs gerados das estruturas Hadoop e YARN. |
4. | HDInsightSecurityLogs | AmbariAuditLog, AuthLog | Esta tabela contém registros dos logs de auditoria e autenticação do Ambari. |
5. | HDInsightSparkLogs | Nó de cabeçalho: JupyterLog, LivyLog, SparkThriftDriverLog nó de Trabalho: SparkExecutorLog, SparkDriverLog | Esta tabela contém todos os logs relacionados ao Spark e seus componentes relacionados: Livy e Jupyter. |
6. | HDInsightHadoopAnd YarnMetrics | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hadoop e YARN. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados, além de outras métricas que consideramos importantes. Adicionamos métricas de Servidor de Linha do Tempo, Gerenciador de Nós e Servidor de Histórico de Trabalhos. Contém uma métrica por registro. |
7. | HDInsightOozieLogs | Oozie | Esta tabela contém todos os logs gerados da estrutura Oozie. |
Cluster de Consulta Interativa
Os nomes de tabela a seguir são para diferentes tipos de log (fontes) dentro de tabelas de consulta interativa.
Número da fonte | Nome da tabela | Tipos de logs | Descrição |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | Nenhum tipo de log | Esta tabela contém alertas do cluster do Ambari de cada nó no cluster (exceto os nós de borda). Cada alerta é um registro dessa tabela. |
2. | HDInsightAmbariSystem Metrics | Nenhum tipo de log | Esta tabela contém as métricas do sistema coletadas do Ambari. As métricas agora são provenientes de cada nó no cluster (exceto os nós de borda) em vez de apenas os dois nós de cabeçalho. Agora, cada métrica é uma coluna e cada métrica é relatada uma vez por registro. |
3. | HDInsightHadoopAndYarnLogs | Nó de cabeçalho: MRJobSummary, Resource Manager, TimelineServer nó de Trabalho: NodeManager | Esta tabela contém todos os logs gerados das estruturas Hadoop e YARN. |
4. | HDInsightHadoopAndYarnMetrics | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hadoop e YARN. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados, além de outras métricas que consideramos importantes. Adicionamos métricas de Servidor de Linha do Tempo, Gerenciador de Nós e Servidor de Histórico de Trabalhos. Contém uma métrica por registro. |
5. | HDInsightHiveAndLLAPLogs | Nó de cabeçalho: InteractiveHiveHSILog, InteractiveHiveMetastoreLog, ZeppelinLog | Esta tabela contém os logs gerados do Hive, do LLAP e os componentes relacionados: WebHCat e Zeppelin. |
6. | HDInsightHiveAndLLAPmetrics | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hive e LLAP. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados. Contém uma métrica por registro. |
7. | HDInsightHiveTezAppStats | Nenhum tipo de log | |
8. | HDInsightSecurityLogs | Nó de cabeçalho: AmbariAuditLog, AuthLog nó do ZooKeeper, nó de trabalho: AuthLog | Esta tabela contém registros dos logs de auditoria e autenticação do Ambari. |
Cluster HBase
Os nomes de tabela a seguir são para diferentes tipos de log (fontes) dentro das tabelas do HBase.
Número da fonte | Nome da tabela | Tipos de logs | Descrição |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | Nenhum outro tipo de log | Esta tabela contém alertas do cluster do Ambari de cada nó no cluster (exceto os nós de borda). Cada alerta é um registro dessa tabela. |
2. | HDInsightAmbariSystem Metrics | Nenhum outro tipo de log | Esta tabela contém as métricas do sistema coletadas do Ambari. As métricas agora são provenientes de cada nó no cluster (exceto os nós de borda) em vez de apenas os dois nós de cabeçalho. Agora, cada métrica é uma coluna e cada métrica é relatada uma vez por registro. |
3. | HDInsightHadoopAndYarnLogs | Nó de cabeçalho: MRJobSummary, Resource Manager, TimelineServer nó de Trabalho: NodeManager | Esta tabela contém todos os logs gerados das estruturas Hadoop e YARN. |
4. | HDInsightSecurityLogs | Nó de cabeçalho: AmbariAuditLog, AuthLog nó de Trabalho: AuthLog nó do ZooKeeper: AuthLog | Esta tabela contém registros dos logs de auditoria e autenticação do Ambari. |
5. | HDInsightHBaseLogs | Nó de cabeçalho: HDFSGarbageCollectorLog, HDFSNameNodeLog nó de Trabalho: PhoenixServerLog, HBaseRegionServerLog, HBaseRestServerLog nó do ZooKeeper: HBaseMasterLog | Esta tabela contém os logs do HBase e os componentes relacionados: Phoenix e HDFS. |
6. | HDInsightHBaseMetrics | Nenhum tipo de log | Esta tabela contém as métricas JMX do HBase. Contém as mesmas métricas JMX das tabelas listadas na coluna Esquema Antigo. Em contraste com as tabelas antigas, cada linha contém uma métrica. |
7. | HDInsightHadoopAndYarn Metrics | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hadoop e YARN. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados, além de outras métricas que consideramos importantes. Adicionamos métricas de Servidor de Linha do Tempo, Gerenciador de Nós e Servidor de Histórico de Trabalhos. Contém uma métrica por registro. |
Cluster Hadoop
Os nomes de tabela a seguir são para diferentes tipos de log (fontes) dentro das tabelas do Hadoop.
Número da fonte | Nome da tabela | Tipos de logs | Descrição |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | Nenhum tipo de log | Esta tabela contém alertas do cluster do Ambari de cada nó no cluster (exceto os nós de borda). Cada alerta é um registro dessa tabela. |
2. | HDInsightAmbariSystem Metrics | Nenhum tipo de log | Esta tabela contém as métricas do sistema coletadas do Ambari. As métricas agora são provenientes de cada nó no cluster (exceto os nós de borda) em vez de apenas os dois nós de cabeçalho. Agora, cada métrica é uma coluna e cada métrica é relatada uma vez por registro. |
3. | HDInsightHadoopAndYarnLogs | Nó de cabeçalho: MRJobSummary, Resource Manager, TimelineServer nó de Trabalho: NodeManager | Esta tabela contém todos os logs gerados das estruturas Hadoop e YARN. |
4. | HDInsightHadoopAndYarnMetrics | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hadoop e YARN. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados, além de outras métricas que consideramos importantes. Adicionamos métricas de Servidor de Linha do Tempo, Gerenciador de Nós e Servidor de Histórico de Trabalhos. Contém uma métrica por registro. |
5. | HDInsightHiveAndLLAPLogs | Nó de cabeçalho: HiveMetastoreLog, HiveServer2Log, WebHcatLog | Esta tabela contém os logs gerados do Hive, do LLAP e os componentes relacionados: WebHCat e Zeppelin. |
6. | Métricas Hive e LLAP do HDInsight | Nenhum tipo de log | Esta tabela contém as métricas JMX das estruturas Hive e LLAP. Contém as mesmas métricas JMX das tabelas antigas dos Logs Personalizados. Contém uma métrica por registro. |
7. | Logs de segurança do HDInsight | Nó de cabeçalho: AmbariAuditLog, AuthLog nó do ZooKeeper: AuthLog | Esta tabela contém registros dos logs de auditoria e autenticação do Ambari. |
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