@clickhouse_ru

Страница 717 из 723
Vladimir
24.10.2018
13:19:09
Просто такое ощущение что если указать timestamp то идет фул скан

Mike
24.10.2018
13:19:28
Vladimir
24.10.2018
13:19:37
попробовал на 20 минутах и на 1 дне. Примерно одно и тоже время

Tima
24.10.2018
13:20:06
Просто такое ощущение что если указать timestamp то идет фул скан
Покажите пример запроса. Ключ в ORDER BY сильно зависит от типов запросов и должен выбираться чтобы покрывать большинство ваших запросов (лучше чтобы все)

Google
Denis
24.10.2018
13:20:36
Просто такое ощущение что если указать timestamp то идет фул скан
в запросе в where у вас и datetime и timestamp ? зачем вам два поля?

Vladimir
24.10.2018
13:21:00
Покажите пример запроса. Ключ в ORDER BY сильно зависит от типов запросов и должен выбираться чтобы покрывать большинство ваших запросов (лучше чтобы все)
``` SELECT * FROM book WHERE (datetime >= '2018-10-20 00:00:00') AND (datetime < '2018-10-20 01:00:00') Ok. 0 rows in set. Elapsed: 346.529 sec. Processed 878.07 million rows, 40.65 GB (2.53 million rows/s., 117.31 MB/s.) ```

в запросе в where у вас и datetime и timestamp ? зачем вам два поля?
а как лучше поступить с миллисекундами. Если события у нас с ними и событий много

Denis
24.10.2018
13:21:33
ну храните

зачем вам datetime?

в запросе у вас нету timestamp

Vladimir
24.10.2018
13:22:23
MergeTree можно по произвольному ключу делать? я просто может туплю)

Denis
24.10.2018
13:23:07
и?
order by сделайте тогда datetime

Tima
24.10.2018
13:23:44
``` SELECT * FROM book WHERE (datetime >= '2018-10-20 00:00:00') AND (datetime < '2018-10-20 01:00:00') Ok. 0 rows in set. Elapsed: 346.529 sec. Processed 878.07 million rows, 40.65 GB (2.53 million rows/s., 117.31 MB/s.) ```
Запрос делает фуллскан поскольку ключ партиционирования - PARTITION BY toYYYYMM(datetime) - по дате. А в запросе - по DateTIme. Попробуйте так SELECT * FROM book WHERE toYYYYMM(datetime)='201810' AND(datetime >= '2018-10-20 00:00:00') AND (datetime < '2018-10-20 01:00:00')

Denis
24.10.2018
13:23:58
MergeTree можно по произвольному ключу делать? я просто может туплю)
делать? партиционировать можно как угодно, partition by timestam/1000%(3600*24)

Denis
24.10.2018
13:26:49
ок
и вам нужно понять насколько гранулярные данные вам нужны, и возможно хранить только суммы сгруппированные в 5 минут (по часу) например, или хранить агрегаты в отдельной MV и делать запросы к ней.

Google
Tima
24.10.2018
13:29:33
Тоже медленно...
Насколько изменилась скорость по сравнению с предыдушим запросом? Или прям воообще одни в один?

Denis
24.10.2018
13:30:06
Тоже медленно...
у вас проблема в том что в where нет ограничения по timestapm

Tima
24.10.2018
13:30:43
наверное нужно партицировать по часам
Всё зависит от ваших запросов. Если все ваши запросы имеют фильтр по datetime - тогда лучше по этому полю партициоровать по дням и его как индекс использовать

Vladimir
24.10.2018
13:31:06
у вас проблема в том что в where нет ограничения по timestapm
сейчас сварганю). Глянем. Просто данных очень много.... Примерно несколько сотен тысяч в секунду.

Vladimir
24.10.2018
13:33:23
Kirill
24.10.2018
13:35:36
Если кратко то КХ строит запрос примерно так: сначала выбирает партиции в которых искать по мин/макс ключу партиционирования, в этих партициях хранятся данные отсортированные относительно друг друга по ПК поэтому если у вас запросы в пределах 1-2 х дней партиционируйте по дате. Второе, что логично вытекает из выше сказанного это пихните вах таймстамп в сортировку, он будет сильно (в зависимоти от гранулярности индекса) сужать количество данных которые КХ нужно прочитать

Denis
24.10.2018
13:39:26
как кх понимает в какие партиции заходить? Хранит ли он значения Макс и мин для всех полей как метадата партиции? Или только полей по которым партиции?

Denis
24.10.2018
13:40:10
У вас сравнивается результат от функции с константой, такое не будет нигде работать хорошо
В кх работает. Только для определенных функций, я не понимаю как. Видимо для дат кх умеет выворачивать хешфункцю в диапазон.

Denis
24.10.2018
13:48:16
хотя если можно считать toYYYYMM = subst и делать префиксный поиск ( хотя там же числа под капотом) . Лень читать исходник, надеюсь археологи это опишут когда-нибудь.

Vladimir
24.10.2018
14:05:52
Добрый день Хочу разместить не в качестве рекламы. Может будет кому полезно Мы тут заопенсорсили агента мониторинга своего https://twitter.com/sematext/status/1055095536972451840 Он интересен тем что



Он интересен тем что добавили мониторинг КликХауса.

Если что важное зыбыли - будем рады добавить

Google
Stanislav
24.10.2018
14:09:41
И где его посмотреть не в твиттере?

Vladimir
24.10.2018
14:12:42
К сожалению демо нету, только так можно увидеть https://apps.sematext.com/ui/registration затем поставить наш пакет на линукс где КХ стоит ну и играться 2 недели В блог скоро добавим с картинками, я фальстарт сделал тут :)

Vladimir
24.10.2018
14:13:05
То есть отдает он данные на визуализацию только в ваши платные борды?

Stanislav
24.10.2018
14:13:32
я вообще-то исходники имел ввиду

Vladimir
24.10.2018
14:15:25
За исходники спасибо, однако и про продукт интересно - его можно как-то использовать например с prometheus/любым_другим_сервером_сбора метрик?

Vladimir
24.10.2018
14:16:30
Агент тут https://github.com/sematext/sematext-agent-java

Сча КХ конфиги найду

Вот конфиги для КХ в нашем формате https://github.com/sematext/sematext-agent-integrations/tree/master/clickhouse

Соответственно их можно править локально и агент должен подхватить

Denis
24.10.2018
14:19:28
чем лучше fluentd?

Vladimir
24.10.2018
14:19:42
UI правда пока не подхватит Но где-то через месяц или чуть больше и он должен начать пользовательское подхватывать

чем лучше fluentd?
Мне сложно сказать , я не продавец и необъективен

Vladimir
24.10.2018
14:20:33
Лучше тем что бакенд использует КХ :)

Denis
24.10.2018
14:20:52
а флюент разве в кх лить не умеет?

Vladimir
24.10.2018
14:22:57
Я не знаю умеет ли флюент логи и евенты а также алерты корреляцию и отчеты И вообще я ж говорю не реклама, я разработчик, мы допилили, я поделился.

По поводу интеграции с другими вот You can now use Sematext Monitoring Agent to send metrics to your own InfluxDB, too, not just to Sematext. The connection settings can be configured in the Sematext agent properties, e.g.: server_base_url=https://your-influxdb-server:8086 metrics_endpoint=/write?db=metrics&u=UserName&p=Password

Stanislav
24.10.2018
14:24:48
сколько требует памяти в процессе работы и как переносит кратковременные потери связности?

Vladimir
24.10.2018
14:25:53
потерю связности переносит

Google
Stanislav
24.10.2018
14:26:22
Метрики, собранные во время обрыва теряются?

Vladimir
24.10.2018
14:26:28
по поводу памяти сча ssh гляну

Метрики, собранные во время обрыва теряются?
пока агент не получит 200 от бекенда ничего не теряется

Stanislav
24.10.2018
14:28:40
Хм... Срок актуальности настраивается? А то как-то нехорошо хранить метрики пару суток и упасть из-за невозможности сохранить свежие за 5 минут до восстановления канала.

Vladimir
24.10.2018
14:30:20
по поводу памяти, сча на нашей тачке агент ест 200MB и 0.3% проца сервер с 64ГБ памяти)

Stanislav
24.10.2018
14:31:33
Кстати, а переделать бекенд на кликхаус возможно? А то от influxdb пришлось отказаться из-за некоторых причин типа невозможности переварить нужное количество данных...

Vladimir
24.10.2018
14:31:58
Хм... Срок актуальности настраивается? А то как-то нехорошо хранить метрики пару суток и упасть из-за невозможности сохранить свежие за 5 минут до восстановления канала.
Напишите мне в личку все вопросы. Я спрошу конкретнее. Я бекенд писал на КХ, агента косался не много, нюансов не знаю. Бекенд у нас на проде 3й месяц работает, тьфутьфу все оч круто КМК

Stanislav
24.10.2018
14:33:25
А... Это несколько хуже. Пока придётся остаться на скриптах, запускаемых при помощи telegraf.

Vladimir
24.10.2018
14:33:38
Есть возможность поставить бекенд на стороне заказчика но это недешево (тут не я решаю) А в облако слать не вариант нам?

Stanislav
24.10.2018
14:34:37
Однозначно не вариант. По-крайней мере, с бОльшей части серверов точно.

Denis
24.10.2018
14:34:53
хмм, то есть вы бэкендом принимаете в ормате инфлюкса, но льёте в кх? интересно. вообще, вижу, что в доке агента написано "скоро будет отдача в формате хттп"

Vladimir
24.10.2018
14:35:54
>скоро будет отдача в формате хттп имеется в виду апи для чтения откроем и можно будет не смотреть в UI если он покажется плохим

Kirill
24.10.2018
14:37:35
да принимаем как инфлукс и льем в КХ и в еластиксерч
А какая схема хранения самих метрик в КХ?

Stanislav
24.10.2018
14:38:01
Надо будет попробовать https://github.com/influxdata/telegraf/tree/master/plugins/inputs/influxdb_listener для приёма данных от вашего агента... По-крайней мере, зукипер точно требуется мониторить не так, как у нас сейчас...

Vladimir
24.10.2018
14:39:03
А какая схема хранения самих метрик в КХ?
Такое лучше в личку а то уволят меня:) Строго все у нас

Kirill
24.10.2018
14:39:30
Такое лучше в личку а то уволят меня:) Строго все у нас
Я понял, просто это самое интересное)

Stanislav
24.10.2018
14:39:42
Кстати, jre от openjdk8 достаточно будет?

Google
Vladimir
24.10.2018
14:39:51
Согасен я колдовал месяц почти и тут много помогали

на оракле точно работает у нас на серверах

на 8м

Stanislav
24.10.2018
14:41:20
У меня тут ораклов нет.

Vladimir
24.10.2018
14:41:47
я жду ответа от своих

Stanislav
24.10.2018
14:42:10
Только дебиан и там есть https://packages.debian.org/stretch/openjdk-8-jre

или даже: https://packages.debian.org/stretch/openjdk-8-jre-headless

Denis
24.10.2018
14:46:02
так. вижу, что собирает метрики из джавы, рест, баз. а базовые типа проц/память?

Vladimir
24.10.2018
14:48:56
Да + для этах штук конфиги написаны и UI готов



Раньше на Hbase бекенд был, но жутко не гибкии

Denis
24.10.2018
14:51:20
https://github.com/sematext/sematext-agent-integrations не вижу в списке

Denis
24.10.2018
14:53:52
что написать в ямл, чтобы он собрал базовые метрики (цпу, память, диск)

Vladimir
24.10.2018
14:57:06
Агент это будет собирать и так всегда

Вот нашел блогпост, в запарке пропустил https://sematext.com/product-updates/#/2018/clickhouse-monitoring-released

Думал фальстарт а оказалось вчера уже выложили

Konstantin
24.10.2018
15:00:18
коллеги, есть какой нить параметр для движка Kafka чтоб пропускать битые сообщения? в лог падает 2018.10.24 14:56:08.751404 [ 79 ] <Error> void DB::StorageKafka::streamThread(): Code: 27, e.displayText() = DB::Exception: Cannot parse input… приходится ждать пока данные в топике протухнут по времени или руками править

Alexey
24.10.2018
15:23:25
(мы много шлем некорректных запросов в этот конкретный кластер, но раньше таких утечек не было)
Пока никто не репортил. Интересно, можно ли как-нибудь изолировать причину?

Всем привет. А если сделали огромной табличке optimize final, но спустя 13 часов поняли, что это боль. Можно сделать kill query?
Если MergeTree без репликации, можно сделать kill query. Правда я не помню, есть ли там обработка отмены. Если нет - можно sudo service clickhouse-server restart. Данные не побьются. Если replicated, то для отменить запрос optimize более сложно.

Страница 717 из 723