Перейти к содержанию

Журнал Glarus BI

По умолчанию Glarus BI выводит в журналы довольно много информации. Для логирования используется Log4j 2 (англ.). Вы можете самостоятельно настроить уровень детальности журналов.

Просмотр и скачивание журналов Glarus BI

Журналы доступны в Управление > Решение проблем > Журналы. Вы можете фильтровать журналы по ключевым словам (например, "sync") и скачать их как текстовый файл.

Если вы запускаете self-hosted Glarus BI, вы также сможете видеть журналы в терминале.

Как читать журналы Glarus BI

См. Как читать журналы Glarus BI.

Настройка уровня логирования

Glarus BI, как и Metabase, использует log4j 2 для настройки логирования. Вот конфигурация логирования по умолчанию (ссылка на GitHub):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT" follow="true">
      <PatternLayout pattern="%date %level %logger{2} :: %message %notEmpty{%X}%n%throwable">
        <replace regex=":basic-auth \\[.*\\]" replacement=":basic-auth [redacted]"/>
      </PatternLayout>
    </Console>

    <!-- This file appender is provided as an example -->
    <!--
    <RollingFile name="FILE" fileName="${logfile.path}/metabase.log" filePattern="${logfile.path}/metabase.log.%i">
      <Policies>
        <SizeBasedTriggeringPolicy size="500 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="2"/>
      <PatternLayout pattern="%d [%t] %-5p%c - %m%n">
        <replace regex=":basic-auth \\[.*\\]" replacement=":basic-auth [redacted]"/>
      </PatternLayout>
    </RollingFile>
    -->
  </Appenders>

  <Loggers>
    <Logger name="com.mchange" level="ERROR"/>
    <Logger name="liquibase" level="INFO"/>
    <Logger name="metabase" level="INFO"/>
    <Logger name="metabase-enterprise" level="INFO"/>
    <Logger name="metabase.metabot" level="DEBUG"/>
    <Logger name="metabase.plugins" level="DEBUG"/>
    <Logger name="metabase.query-processor.async" level="DEBUG"/>
    <Logger name="metabase.server.middleware" level="DEBUG"/>
    <Logger name="org.quartz" level="INFO"/>
    <Logger name="net.snowflake.client.internal.jdbc.SnowflakeConnectString" level="ERROR"/>
    <Logger name="net.snowflake.client.internal.core.SessionUtil" level="FATAL"/>

    <Root level="WARN">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>

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

Временное переопределение конфигурации логирования

Чтобы временно изменить конфигурацию логирования, перейдите в Управление > Решение проблем > Журналы и нажмите Загрузить предустановку.

Вы можете выбрать один из пресетов для типичных задач диагностики (например, при проблемах синхронизации) или указать свою конфигурацию в формате JSON. Например, вот конфигурация, которая повышает уровень логирования для диагностики связанных фильтров:

{
  "metabase.parameters.chain-filter": "debug",
  "metabase.parameters.chain-filter.dedupe-joins": "debug"
}

Переопределение из настроек администратора будет временным. Вы можете выбрать, как долго оно будет действовать (например, 60 минут). Когда время истечёт, конфигурация логирования вернётся к конфигурации по умолчанию (или к пользовательской — если вы используете пользовательский log-файл).

Использование пользовательского файла конфигурации логирования

Вы можете указать Glarus BI пользовательский файл конфигурации логирования.

  1. Сделайте копию файла log4j2.xml по умолчанию (ссылка на GitLab).

  2. Настройте его под свои нужды.

    Вы можете задавать разные уровни логирования для разных частей приложения, например:

<Loggers>
    <Logger name="metabase" level="INFO"/>
    <Logger name="metabase-enterprise" level="INFO"/>
    <Logger name="metabase.plugins" level="DEBUG"/>
    <Logger name="metabase.server.middleware" level="DEBUG"/>
    <Logger name="com.mchange" level="ERROR"/>

    <!-- Example: Add trace logging to the Metabase analysis process, which can help debugging trouble with syncing, fingerprinting and scanning -->
    <Logger name="metabase.sync" level="TRACE"/>

    <Root level="WARN">
      <AppenderRef ref="STDOUT"/>
    </Root>
</Loggers>
  1. Остановите Glarus BI и запустите его снова, указав пользовательский файл конфигурации логирования:

    • Если вы запускаете Glarus BI в Docker, можно указать пользовательский log-файл через переменную окружения JAVA_OPTS=-Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml:
    docker run -p 3000:3000 -v $PWD/my_log4j2.xml:/tmp/my_log4j2.xml -e JAVA_OPTS=-Dlog4j.configurationFile=file:/tmp/my_log4j2.xml metabase/metabase`
    
    • Если вы запускаете Glarus BI как JAR-файл, можно передать аргумент -Dlog4j.configurationFile. Например, если ваш XML-файл находится по пути /path/to/custom/log4j2.xml, используйте:
    java -Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml -jar metabase.jar
    

Настройка журналов Jetty

Вы можете настроить веб-сервер Glarus BI так, чтобы он писал больше деталей в журналы, установив уровень логирования DEBUG. Имейте в виду, что debug-журналы Jetty могут быть очень «шумными», и в них может быть сложно найти нужные данные.

Чтобы включит DEBUG в Jetty, добавьте следующие строки в XML Log4J2 в узел <Loggers>:

<Logger name="org.eclipse.jetty" level="DEBUG"/>

Настройка отображения журналов

Отключение emoji в журналах

По умолчанию Glarus BI добавляет emoji в журналы, например:

2025-06-10 21:43:00,243 INFO sync.analyze :: classify-tables Analyzed [*****************************************·········] 😊   84% Table 6 ''PUBLIC.ACCOUNTS'' {mb-quartz-job-type=SyncAndAnalyzeDatabase}
2025-06-10 21:43:00,244 INFO sync.analyze :: classify-tables Analyzed [***********************************************···] 😎   96% Table 2 ''PUBLIC.ORDERS'' {mb-quartz-job-type=SyncAndAnalyzeDatabase}

Вы можете отключить emoji с помощью переменной окружения MB_EMOJI_IN_LOGS:

export MB_EMOJI_IN_LOGS="false"
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar

Отключение цветного вывода журналов

По умолчанию Glarus BI использует цветное отображение журналов (и в Admin Logs, и в терминале). Отключить цветной вывод можно с помощью переменной окружения MB_COLORIZE_LOGS.

Дополнительная информация: