Uso del registro selectivo con una acción de script en Azure HDInsight

Los registros de Azure Monitor son un servicio de Azure Monitor que supervisa los entornos locales y en la nube. La supervisión ayuda a mantener su disponibilidad y rendimiento.

Los registros de Azure Monitor recopilan los datos generados por los recursos en la nube, los recursos en el entorno local y otras herramientas de supervisión. Usa los datos para proporcionar análisis entre varios orígenes. Para obtener el análisis, habilite la característica de registro selectivo mediante una acción de script para HDInsight en Azure Portal.

Acerca del registro selectivo

El registro selectivo forma parte del sistema de supervisión general de Azure. Después de conectar el clúster a un área de trabajo de Log Analytics y habilitar el registro selectivo, puede ver registros y métricas como registros de seguridad de HDInsight, Yarn Resource Manager y métricas del sistema. Puede supervisar las cargas de trabajo y ver cómo afectan a la estabilidad del clúster.

El registro selectivo le permite habilitar o deshabilitar todas las tablas, o bien habilitar las tablas seleccionadas, en el área de trabajo de Log Analytics. Puede ajustar el tipo de origen de cada tabla.

Nota:

Si Log Analytics se vuelve a instalar en un clúster, tendrá que volver a deshabilitar todas las tablas y los tipos de registro. La reinstalación restablece todos los archivos de configuración a su estado original.

Consideraciones sobre las acciones de script

  • El sistema de supervisión usa el demonio del servidor de metadatos (un agente de supervisión) y Fluentd para recopilar registros mediante una capa de registro unificada.
  • El registro selectivo usa una acción de script para deshabilitar o habilitar tablas y sus tipos de registro. Puesto que el registro selectivo no abre ningún puerto nuevo ni cambia ninguna configuración de seguridad existente, no hay cambios de seguridad.
  • La acción de script se ejecuta en paralelo en todos los nodos especificados y cambia los archivos de configuración para deshabilitar o habilitar tablas y sus tipos de registro.

Prerrequisitos

  • Un área de trabajo de Log Analytics. Considere el área de trabajo como un entorno de registros de Azure Monitor único, con su propio repositorio de datos, sus propios orígenes de datos y sus propias soluciones. Para obtener instrucciones, consulte Creación de un área de trabajo de Log Analytics.
  • Un clúster de HDInsight de Azure. Actualmente, puede usar la característica de registro selectivo con los siguientes tipos de clúster de HDInsight:
    • Hadoop
    • HBase
    • Interactive Query
    • Spark

Para obtener instrucciones sobre cómo crear un clúster de HDInsight, consulte Introducción a Azure HDInsight.

Habilitación o deshabilitación de registros mediante una acción de script para varias tablas y tipos de registro

  1. Vaya a Acciones de script en el clúster y seleccione Enviar nueva para iniciar el proceso de creación de una acción de script.

    Screenshot that shows the button for starting the process of creating a script action.

    Aparece el panel Enviar acción de script.

    Screenshot that shows the pane for submitting a script action.

  2. En el tipo de script, seleccione Personalizado.

  3. Ponga un nombre al script. Por ejemplo: Deshabilitar dos tablas y dos orígenes.

  4. El URI del script de Bash debe ser un vínculo a selectiveLoggingScript.sh.

  5. Seleccione todos los tipos de nodo que se aplican al clúster. Las opciones son el nodo principal, el nodo de trabajo y el nodo de ZooKeeper.

  6. Defina los parámetros. Por ejemplo:

    • Spark: spark HDInsightSparkLogs:SparkExecutorLog --disable
    • Interactive Query: interactivehive HDInsightSparkLogs:SparkExecutorLog --enable
    • Hadoop: hadoop HDInsightSparkLogs:SparkExecutorLog --disable
    • HBase: hbase HDInsightSparkLogs: HDInsightHBaseLogs --enable

    Para obtener más información, consulte la sección Sintaxis de los parámetros.

  7. Seleccione Crear.

  8. Al cabo de unos minutos, aparece una marca de verificación verde junto al historial de acciones del script. Significa que el script se ha ejecutado correctamente.

    Screenshot that shows a successful run of a script to enable tables and log types.

Verá los cambios en el área de trabajo de Log Analytics.

Solución de problemas

No aparecen cambios en el área de trabajo de Log Analytics

Si envía la acción de script, pero no hay ningún cambio en el área de trabajo de Log Analytics:

  1. En Paneles, seleccione Inicio de Ambari para comprobar la información de depuración.

    Screenshot that shows the location of the Ambari home dashboard.

  2. Seleccione Configuración.

    Screenshot that shows the Settings button.

  3. Seleccione la ejecución de script más reciente en la parte superior de la lista de operaciones en segundo plano.

    Screenshot that shows background operations.

  4. Compruebe el estado de ejecución del script en todos los nodos individualmente.

    Screenshot that shows the script run status for hosts.

  5. Compruebe que la sintaxis de los parámetros de la sección de sintaxis de parámetros es correcta.

  6. Compruebe que el área de trabajo de Log Analytics está conectada al clúster y que la supervisión de Log Analytics está activada.

  7. Compruebe que ha seleccionado la casilla Conservar esta acción de script para volver a ejecutarla cuando se agreguen nuevos nodos al clúster correspondiente a la acción de script que ha ejecutado.

    Screenshot that shows the checkbox for persisting a script action.

  8. Compruebe si recientemente se ha agregado un nuevo nodo al clúster.

    Nota:

    Para que el script se ejecute en el clúster más reciente, debe conservarse.

  9. Asegúrese de que ha seleccionado todos los tipos de nodo que quería para la acción de script.

    Screenshot that shows selected node types.

Se ha producido un error en la acción de script

Si la acción de script muestra un estado de error en el historial de acciones del script:

  1. Compruebe que la sintaxis de los parámetros de la sección de sintaxis de parámetros es correcta.
  2. Compruebe que el vínculo del script es correcto. Debe ser: https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScripts/selectiveLoggingScript.sh.

Nombres de tabla

Clúster de Spark

Los nombres de tabla siguientes son para diferentes tipos de registro (orígenes) dentro de tablas de Spark.

Número de origen Nombre de la tabla Tipos de registro Descripción
1. HDInsightAmbariCluster Alerts Sin tipos de registro Esta tabla contiene alertas de clústeres de Ambari de cada nodo del clúster (excepto para los nodos perimetrales). Cada alerta es un registro en esta tabla.
2. HDInsightAmbariSystem Metrics Sin tipos de registro Esta tabla contiene las métricas del sistema recopiladas de Ambari. Las métricas proceden ahora de cada nodo del clúster (excepto para los nodos perimetrales), en lugar de proceder solo de los dos nodos principales. Cada métrica es ahora una columna, y cada métrica se notifica una vez por registro.
3. HDInsightHadoopAnd YarnLogs Nodo principal: MRJobSummary, Resource Manager, TimelineServer Nodo de trabajo: NodeManager Esta tabla contiene todos los registros generados a partir de los marcos de Hadoop y YARN.
4. HDInsightSecurityLogs AmbariAuditLog, AuthLog Esta tabla contiene registros de los registros de autenticación y auditoría de Ambari.
5. HDInsightSparkLogs Nodo principal: JupyterLog, LivyLog, SparkThriftDriverLog Nodo de trabajo: SparkExecutorLog, SparkDriverLog Esta tabla contiene todos los registros relacionados con Spark y sus componentes relacionados: Livy y Jupyter.
6. HDInsightHadoopAnd YarnMetrics Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hadoop y YARN. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados anteriores, además de otras métricas que consideramos importantes. Hemos agregado métricas de servidor de escala de tiempo, de administrador de nodos y de servidor de historial de trabajos. Contiene una métrica por registro.
7. HDInsightOozieLogs Oozie Esta tabla contiene todos los registros generados a partir del marco de Oozie.

Clúster de Interactive Query

Los siguientes nombres de tabla son para diferentes tipos de registro (orígenes) dentro de tablas de Interactive Query.

Número de origen Nombre de la tabla Tipos de registro Descripción
1. HDInsightAmbariClusterAlerts Sin tipos de registro Esta tabla contiene alertas de clústeres de Ambari de cada nodo del clúster (excepto para los nodos perimetrales). Cada alerta es un registro en esta tabla.
2. HDInsightAmbariSystem Metrics Sin tipos de registro Esta tabla contiene las métricas del sistema recopiladas de Ambari. Las métricas proceden ahora de cada nodo del clúster (excepto para los nodos perimetrales), en lugar de proceder solo de los dos nodos principales. Cada métrica es ahora una columna, y cada métrica se notifica una vez por registro.
3. HDInsightHadoopAndYarnLogs Nodo principal: MRJobSummary, Resource Manager, TimelineServer Nodo de trabajo: NodeManager Esta tabla contiene todos los registros generados a partir de los marcos de Hadoop y YARN.
4. HDInsightHadoopAndYarnMetrics Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hadoop y YARN. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados anteriores, además de otras métricas que consideramos importantes. Hemos agregado métricas de servidor de escala de tiempo, de administrador de nodos y de servidor de historial de trabajos. Contiene una métrica por registro.
5. HDInsightHiveAndLLAPLogs Nodo principal: InteractiveHiveHSILog, InteractiveHiveMetastoreLog, ZeppelinLog Esta tabla contiene registros generados a partir de Hive, LLAP y sus componentes relacionados: WebHCat y Zeppelin.
6. HDInsightHiveAndLLAPMetrics Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hive y LLAP. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados antiguas. Contiene una métrica por registro.
7. HDInsightHiveTezAppStats Sin tipos de registro
8. HDInsightSecurityLogs Nodo principal: AmbariAuditLog, AuthLog Nodo de ZooKeeper, nodo de trabajo: AuthLog Esta tabla contiene registros de los registros de autenticación y auditoría de Ambari.

Clúster de HBase

Los nombres de tabla siguientes son para diferentes tipos de registro (orígenes) dentro de tablas de HBase.

Número de origen Nombre de la tabla Tipos de registro Descripción
1. HDInsightAmbariClusterAlerts Ningún otro tipo de registro Esta tabla contiene alertas de clústeres de Ambari de cada nodo del clúster (excepto para los nodos perimetrales). Cada alerta es un registro en esta tabla.
2. HDInsightAmbariSystem Metrics Ningún otro tipo de registro Esta tabla contiene las métricas del sistema recopiladas de Ambari. Las métricas proceden ahora de cada nodo del clúster (excepto para los nodos perimetrales), en lugar de proceder solo de los dos nodos principales. Cada métrica es ahora una columna, y cada métrica se notifica una vez por registro.
3. HDInsightHadoopAndYarnLogs Nodo principal: MRJobSummary, Resource Manager, TimelineServer Nodo de trabajo: NodeManager Esta tabla contiene todos los registros generados a partir de los marcos de Hadoop y YARN.
4. HDInsightSecurityLogs Nodo principal: AmbariAuditLog, AuthLog Nodo de trabajo: AuthLog Nodo de ZooKeeper: AuthLog Esta tabla contiene registros de los registros de autenticación y auditoría de Ambari.
5. HDInsightHBaseLogs Nodo principal: HDFSGarbageCollectorLog, HDFSNameNodeLog Nodo de trabajo: PhoenixServerLog, HBaseRegionServerLog, HBaseRestServerLog Nodo de ZooKeeper: HBaseMasterLog Esta tabla contiene registros de HBase y sus componentes relacionados: Phoenix y HDFS.
6. HDInsightHBaseMetrics Sin tipos de registro Esta tabla contiene las métricas de JMX provenientes de HBase. Contiene todas las mismas métricas de JMX a partir de las tablas enumeradas en la columna Esquema antiguo. A diferencia de las tablas antiguas, cada fila contiene una métrica.
7. HDInsightHadoopAndYarn Metrics Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hadoop y YARN. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados anteriores, además de otras métricas que consideramos importantes. Hemos agregado métricas de servidor de escala de tiempo, de administrador de nodos y de servidor de historial de trabajos. Contiene una métrica por registro.

Clúster de Hadoop

Los nombres de tabla siguientes son para diferentes tipos de registro (orígenes) dentro de tablas de Hadoop.

Número de origen Nombre de la tabla Tipos de registro Descripción
1. HDInsightAmbariClusterAlerts Sin tipos de registro Esta tabla contiene alertas de clústeres de Ambari de cada nodo del clúster (excepto para los nodos perimetrales). Cada alerta es un registro en esta tabla.
2. HDInsightAmbariSystem Metrics Sin tipos de registro Esta tabla contiene las métricas del sistema recopiladas de Ambari. Las métricas proceden ahora de cada nodo del clúster (excepto para los nodos perimetrales), en lugar de proceder solo de los dos nodos principales. Cada métrica es ahora una columna, y cada métrica se notifica una vez por registro.
3. HDInsightHadoopAndYarnLogs Nodo principal: MRJobSummary, Resource Manager, TimelineServer Nodo de trabajo: NodeManager Esta tabla contiene todos los registros generados a partir de los marcos de Hadoop y YARN.
4. HDInsightHadoopAndYarnMetrics Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hadoop y YARN. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados anteriores, además de otras métricas que consideramos importantes. Hemos agregado métricas de servidor de escala de tiempo, de administrador de nodos y de servidor de historial de trabajos. Contiene una métrica por registro.
5. HDInsightHiveAndLLAPLogs Nodo principal: HiveMetastoreLog, HiveServer2Log, WebHcatLog Esta tabla contiene registros generados a partir de Hive, LLAP y sus componentes relacionados: WebHCat y Zeppelin.
6. Métricas de Hive y LLAP de HDInsight Sin tipos de registro Esta tabla contiene métricas de JMX provenientes de los marcos de Hive y LLAP. Contiene todas las mismas métricas de JMX que las tablas de Registros personalizados antiguas. Contiene una métrica por registro.
7. Registros de seguridad de HDInsight Nodo principal: AmbariAuditLog, AuthLog Nodo de ZooKeeper: AuthLog Esta tabla contiene registros de los registros de autenticación y auditoría de Ambari.

Sintaxis de parámetros

Los parámetros definen el tipo de clúster, los nombres de tabla, los nombres de origen y la acción.

Screenshot that shows the parameter syntax box.

Un parámetro contiene tres elementos:

  • Tipo de clúster
  • Tablas y tipos de registro
  • Acción (--disable o --enable)

Sintaxis para varias tablas

Cuando tiene varias tablas, se separan con una coma. Por ejemplo:

spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable

hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable

Sintaxis para varios tipos de origen o de registro

Cuando tiene varios tipos de origen o de registro, se separan con un espacio.

Para deshabilitar un origen, escriba el nombre de la tabla que contiene los tipos de registro seguido de dos puntos y, a continuación, el nombre del tipo de registro real:

TableName : LogTypeName

Por ejemplo, supongamos que spark HDInsightSecurityLogs es una tabla que tiene dos tipos de registro: AmbariAuditLog y AuthLog. Para deshabilitar ambos tipos de registro, la sintaxis correcta sería la siguiente:

spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable

Sintaxis para varias tablas y tipos de origen

Si necesita deshabilitar dos tablas y dos tipos de origen, use la sintaxis siguiente:

  • Spark: tipo de registro InteractiveHiveMetastoreLog en la tabla HDInsightHiveAndLLAPLogs
  • Hbase: tipo de registro InteractiveHiveHSILog en la tabla HDInsightHiveAndLLAPLogs
  • Hadoop: tabla HDInsightHiveAndLLAPMetrics
  • Hadoop: tabla HDInsightHiveTezAppStats

Separe las tablas con una coma. Denote los orígenes mediante dos puntos después del nombre de la tabla en la que residen.

La sintaxis de parámetros correcta para estos casos sería la siguiente:

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

Pasos siguientes