Бөлісу құралы:


Использование функции выборочного ведения журнала с действием скрипта в Azure HDInsight

Журналы Azure Monitor — это служба Azure Monitor, которая наблюдает за облачными и локальными средами. Мониторинг помогает поддерживать их доступность и производительность.

Журналы Azure Monitor собирают данные, создаваемые ресурсами в облачных и локальных средах, а также другими средствами мониторинга. На основе этой информации служба предоставляет аналитические сведения, используя несколько источников. Для получения аналитики включите функцию выборочного ведения журнала с помощью действия скрипта для HDInsight на портале Azure.

Сведения о выборочном ведении журнала

Выборочное ведение журнала является элементом общей системы мониторинга Azure. После подключения кластера к рабочей области Log Analytics и включения выборочного ведения журнала вы можете просматривать журналы и метрики, такие как журналы безопасности HDInsight, Yarn Resource Manager и системные метрики. Можно отслеживать рабочие нагрузки и видеть, как они влияют на стабильность кластера.

Выборочное ведение журнала позволяет включить или отключить все таблицы в рабочей области Log Analytics либо включить лишь некоторые таблицы. Вы можете настроить тип источника для каждой таблицы.

Примечание.

В случае повторной установки Log Analytics в кластере вам потребуется снова отключить все таблицы и типы журналов. Повторная установка восстанавливает исходное состояние для всех файлов конфигурации.

Рекомендации по действиям скрипта

  • Система мониторинга использует управляющую программу сервера метаданных (агент мониторинга) и Fluentd для сбора журналов на базе единого уровня ведения журнала.
  • Для выборочного ведения журнала применяется действие скрипта отключения или включения таблиц и соответствующих типов журналов. Поскольку при этом не открываются новые порты и не изменяются существующие параметры безопасности, изменения в аспекте безопасности отсутствуют.
  • Действие скрипта выполняется параллельно на всех указанных узлах и изменяет файлы конфигурации для отключения или включения таблиц и соответствующих типов журналов.

Необходимые компоненты

  • Рабочая область Log Analytics. Рабочую область можно представить как уникальную среду журналов Azure Monitor с собственным репозиторием данных, источниками данных и решениями. Инструкции см. в руководстве по созданию рабочей области Log Analytics.
  • Кластер Azure HDInsight. В настоящее время можно использовать функцию выборочного ведения журнала со следующими типами кластеров HDInsight:
    • Hadoop
    • HBase
    • Интерактивный запрос
    • Spark

Инструкции по созданию кластера HDInsight см. в руководстве по началу работы с Azure HDInsight.

Включение и отключение журналов с помощью действия скрипта для нескольких таблиц и типов журналов

  1. Перейдите к действиям скрипта в кластере и нажмите кнопку "Отправить новую ", чтобы начать процесс создания действия скрипта.

    Снимок экрана: кнопка, запускающая создание действия скрипта.

    Откроется панель Отправка действия скрипта.

    Снимок экрана: панель отправки действий скрипта.

  2. В поле типа скрипта выберите Пользовательский.

  3. Присвойте скрипту имя. Например, Отключение двух таблиц и двух источников.

  4. URI скрипта Bash должен быть ссылкой на файл selectiveLoggingScript.sh.

  5. Выберите все типы узлов, которые относятся к кластеру. Возможные варианты: головной узел, рабочий узел и узел ZooKeeper.

  6. Задайте параметры. Например:

    • Spark: spark HDInsightSparkLogs:SparkExecutorLog --disable
    • Интерактивный запрос: interactivehive HDInsightSparkLogs:SparkExecutorLog --enable
    • Hadoop: hadoop HDInsightSparkLogs:SparkExecutorLog --disable
    • HBase: hbase HDInsightSparkLogs: HDInsightHBaseLogs --enable

    Дополнительные сведения см. в разделе Синтаксис параметров.

  7. Нажмите кнопку создания.

  8. Через несколько минут рядом с журналом действий скрипта появится зеленая галочка. Это означает, что скрипт успешно запущен.

    Снимок экрана: успешный запуск скрипта, включающего таблицы и типы журналов.

Изменения будут отображаться в рабочей области Log Analytics.

Устранение неполадок

Изменения в рабочей области Log Analytics не отображаются

Действие скрипта отправлено, но изменения в рабочей области Log Analytics отсутствуют.

  1. В разделе Панели мониторинга выберите домашнюю страницу Ambari, чтобы проверить информацию для отладки.

    Снимок экрана: расположение домашней страницы Ambari на панели мониторинга.

  2. Нажмите кнопку Параметры.

    Снимок экрана: кнопка параметров.

  3. Выберите последний запуск скрипта вверху списка фоновых операций.

    Снимок экрана: фоновые операции.

  4. Проверьте состояние выполнения скрипта на всех узлах по отдельности.

    Снимок экрана: состояние выполнения скрипта для узлов.

  5. Проверьте правильность синтаксиса параметров в соответствующем разделе.

  6. Проверьте, подключена ли рабочая область Log Analytics к кластеру и включен ли мониторинг Log Analytics.

  7. Убедитесь, что для выполненного действия скрипта установлен флажок Сохранить этот скрипт для повторного выполнения при добавлении новых узлов в кластер.

    Снимок экрана: флажок для сохранения действия скрипта.

  8. Проверьте, не был ли недавно добавлен в кластер новый узел.

    Примечание.

    Для выполнения в последнем кластере скрипт должен сохраняться.

  9. Убедитесь, что выбраны все необходимые типы узлов для действия скрипта.

    Снимок экрана: выбранные типы узлов.

Сбой действия скрипта

Для действия скрипта отображается состояние "Сбой" в журнале действий скрипта.

  1. Проверьте правильность синтаксиса параметров в соответствующем разделе.
  2. Проверьте правильность ссылки для скрипта. Ее значение должно быть https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScripts/selectiveLoggingScript.sh.

Имена таблиц

Полный список имен таблиц для различных типов журналов (источников) см . в таблицах журналов Azure Monitor.

Синтаксис параметров

Параметры определяют тип кластера, имена таблиц, имена источников и действие.

Снимок экрана: поле синтаксиса параметра.

Параметр содержит три части:

  • Тип кластера
  • Таблицы и типы журналов
  • Действие (--disable или --enable)

Синтаксис для нескольких таблиц

При наличии нескольких таблиц они разделяются запятыми. Например:

spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable

hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable

Синтаксис для нескольких типов источников или типов журналов

При наличии нескольких типов источников или типов журналов они разделяются пробелами.

Чтобы отключить источник, укажите имя таблицы, в которой находятся типы журналов, затем двоеточие, а затем — реальное имя типа журнала.

TableName : LogTypeName

Например, предположим, что spark HDInsightSecurityLogs — таблица с двумя типами журналов: AmbariAuditLog и AuthLog. Чтобы отключить оба типа журналов, следует использовать такой синтаксис:

spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable

Синтаксис для нескольких типов таблиц и источников

Если необходимо отключить две таблицы и два типа источника, используйте следующий синтаксис:

  • Spark: тип журнала InteractiveHiveMetastoreLog в таблице HDInsightHiveAndLLAPLogs
  • Hbase: тип журнала InteractiveHiveHSILog в таблице HDInsightHiveAndLLAPLogs
  • Hadoop: таблица HDInsightHiveAndLLAPMetrics
  • Hadoop: таблица HDInsightHiveTezAppStats

Таблицы разделяются запятыми. Источники обозначаются двоеточием после имени таблицы, в которой они находятся.

Правильный синтаксис параметров для таких случаев будет иметь следующий вид:

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

Следующие шаги