Использование выборочного ведения журнала с действием скрипта для агента Azure Monitor (AMA) в 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.
Включение и отключение журналов с помощью действия скрипта для нескольких таблиц и типов журналов
Перейдите к действиям скрипта в кластере и нажмите кнопку "Отправить новую ", чтобы начать процесс создания действия скрипта.
Откроется панель Отправка действия скрипта.
В поле типа скрипта выберите Пользовательский.
Присвойте скрипту имя. Например, Отключение двух таблиц и двух источников.
URI скрипта Bash должен быть ссылкой на файл selectiveLoggingScript.sh.
Выберите все типы узлов, которые относятся к кластеру. Возможные варианты: головной узел, рабочий узел и узел ZooKeeper.
Задайте параметры. Например:
- Spark:
spark HDInsightSparkLogs:SparkExecutorLog --disable
- Интерактивный запрос:
interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
- Hadoop:
hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
- HBase:
hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable
Дополнительные сведения см. в разделе Синтаксис параметров.
- Spark:
Нажмите кнопку создания.
Через несколько минут рядом с журналом действий скрипта появится зеленая галочка. Это означает, что скрипт успешно запущен.
Изменения отображаются в рабочей области Log Analytics.
Устранение неполадок
Изменения в рабочей области Log Analytics не отображаются
Действие скрипта отправлено, но изменения в рабочей области Log Analytics отсутствуют.
В разделе Панели мониторинга выберите домашнюю страницу Ambari, чтобы проверить информацию для отладки.
Нажмите кнопку Параметры.
Выберите последний запуск скрипта вверху списка фоновых операций.
Проверьте состояние выполнения скрипта на всех узлах по отдельности.
Проверьте правильность синтаксиса параметров в соответствующем разделе.
Проверьте, подключена ли рабочая область Log Analytics к кластеру и включен ли мониторинг Log Analytics.
Убедитесь, что для выполненного действия скрипта установлен флажок Сохранить этот скрипт для повторного выполнения при добавлении новых узлов в кластер.
Проверьте, не был ли недавно добавлен в кластер новый узел.
Примечание.
Для выполнения в последнем кластере скрипт должен сохраняться.
Убедитесь, что выбраны все необходимые типы узлов для действия скрипта.
Сбой действия скрипта
Для действия скрипта отображается состояние "Сбой" в журнале действий скрипта.
- Проверьте правильность синтаксиса параметров в соответствующем разделе.
- Проверьте правильность ссылки для скрипта. Ее значение должно быть
https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/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