jmeter-maven-plugin для использования logback.xml для загрузки логов в Elastic в обход конфигураций Logstash - PullRequest
0 голосов
/ 14 октября 2019

У меня есть сценарий использования, в котором мне нужно загрузить журналы Jmeter для упругого поиска без конфигураций хранилища журналов.

Пример теста производительности вызывается с использованием цели pom.xml jmeter-maven-plugin.

Я хотел, чтобы нижеуказанное сообщение было отправлено в Elastic,

[INFO] summary =    180 in 00:00:01 =  182.6/s Avg:     0 Min:     0 Max:     0 Err:   180 (100.00%)

Я попробовал нижеприведенное в документации, вместо log4j2xml я использовал logback.xml.

( ссылка )

Расширенная конфигурация журнала Если вы добавите log4j2.xml в (по умолчанию $ {project.base.directory} / src / test / conf), он будетТеперь скопируйте в папку / bin. Если он не существует, вместо него будет использоваться стандартный, поставляемый с JMeter.

Я также попытался предоставить файл конфигурации как

 mvn -X -DAPPCONFIG=home/App1 -Dlogback.configurationFile=file:path/to/conf/logback.xml -Duser.timezone=GMT com.lazerycode.jmeter:jmeter-maven-plugin:jmeter -Dtest=TestClass#testmethod

В обоих случаях был выполнен обратный вызов. XML не используется. Но я заметил, что в git pom.xml включает в себя зависимости logback.

Любые входные данные, как настроить logback.xml вместо log4j2.xml в плагине jmeter-maven-plugin?

1 Ответ

1 голос
/ 15 октября 2019

Просмотр Отправка журналов приложения Java в Elastic Stack кажется, что вам нужно:

  1. Добавить logstash-logback-encoder в JMeter Classpath , добавив следующую строку в pom.xml файл:

    <testPlanLibraries>
         <artifact>net.logstash.logback:logstash-logback-encoder:6.2</artifact>
    </testPlanLibraries>
    
  2. Поместите копию log4j2.xml файл - src/test/conf папка вашего проекта Maven и настройка ведения журнала JMeter в соответствии с вашими требованиями. Обязательно добавьте к нему приложение Logstash, например:

    <appender name="STASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/desired/location/of/the/log/file</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/desired/location/of/the/log/file.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>
    <root level="DEBUG">
        <appender-ref ref="STASH"/>
    </root>
    
  3. Это должно быть так, вы не можете указать logback.xml, чтобы прочитать настроенный файл (ы), преобразовать выводв JSON и передать стек ELK с данными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...