ClickHouse для логов Apache.JMeter

Создать базу данных для хранения результатов работы JMeter

clickhouse-client --query="CREATE DATABASE jmeter"

Создать таблицу, в которую будут загружаться исходные данные из csv-лога.

use jmeter

CREATE TABLE `csv` (
    `timeStamp` UInt32,
    `elapsed` UInt32,
    `label` String,
    `responseCode` String,
    `responseMessage` String,
    `threadName` String,
    `dataType` String,
    `success` String,
    `failureMessage` String,
    `bytes` UInt32,
    `sentBytes` UInt32,
    `grpThreads` UInt32,
    `allThreads` UInt32,
    `URL` String,
    `Latency` UInt32,
    `IdleTime` UInt32,
    `Connect` UInt32
) ENGINE = Log

Загрузить в таблицу csv результаты работы Apache.JMeter

cd ~/Project/jmeter-loadtestweb/target/jmeter/results
clickhouse-client --format_csv_delimiter="," --query="INSERT INTO jmeter.csv FORMAT CSVWithNames" < jmeter-loadtestweb.csv

Создать таблицу, с дополнительными колонками time и date

CREATE TABLE `jmeter` (
    `time` DateTime,
    `date` Date,
    `timeStamp` UInt32,
    `elapsed` UInt32,
    `label` String,
    `responseCode` String,
    `responseMessage` String,
    `threadName` String,
    `dataType` String,
    `success` String,
    `failureMessage` String,
    `bytes` UInt32,
    `sentBytes` UInt32,
    `grpThreads` UInt32,
    `allThreads` UInt32,
    `URL` String,
    `Latency` UInt32,
    `IdleTime` UInt32,
    `Connect` UInt32
) ENGINE = MergeTree("date", ("time", "timeStamp", "label", "threadName"), 8192)

Перелить в таблицу jmeter содержимое таблицы csv

insert into "jmeter" 
    select 
        toDateTime("timeStamp" / 1000) as time, 
        toDate("timeStamp" / 1000) as date, 
        *  
    from "csv"

Теперь таблицу jmeter можно использовать в Grafana для выполнения запросов и отображения графиков

Редактирование графика
Отображение графика

Готовый плагин от Александра Бабаева

cloud.testload:jmeter.pack-listener

Нашел ещё готовое решение для Apache.JMeter и ClickHouse.

Проект плагина: https://gitlab.com/testload/jmeter-listener

Доска Grafana: https://grafana.com/dashboards/956

Подробная инструкция по настройке есть на странице доски для Grafana по ссылке выше.

Собранный плагин для Apache.JMeter: https://mvnrepository.com/artifact/cloud.testload/jmeter.pack-listener

<dependency>
    <groupId>cloud.testload</groupId>
    <artifactId>jmeter.pack-listener</artifactId>
    <version>1.4</version>
</dependency>

wiki проекта: https://gitlab.com/testload/jmeter-listener/wikis/home

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

Create a website or blog at WordPress.com Тема: Baskerville 2, автор: Anders Noren.

Вверх ↑

%d такие блоггеры, как: