Skip to content
Roman Lomonosov edited this page Feb 28, 2018 · 15 revisions

Параметры соединения с ClickHouse

В адрес clickhouse.url можно вписать любые параметры соединения, логин и пароль пользователя:

[clickhouse]
url = "http://graphite:qwerty@localhost:8123/?max_query_size=2097152&readonly=2&log_queries=1"

Наиболее полезные параметры:

  • readonly=2 - Просто на всякий случай
  • max_query_size=2097152
  • max_ast_elements=1000000
  • max_execution_time=60
  • max_rows_to_read=200000000 - Полезно чтобы избежать выполнения ну очень больших запросов (на большое количество метрик и длительный промежуток времени)

Параметры graphite-web

Параметры указаны для graphite-web 1.1.2. В более ранних версиях они назывались по другому

CLUSTER_SERVERS = ['127.0.0.1:9090']
# Не отключать хождение в graphite-clickhouse при ошибках или таймаутах
REMOTE_RETRY_DELAY = 0
# Увеличить таймауты
FETCH_TIMEOUT = 60
FIND_TIMEOUT = 10

Параметры carbonapi

С параметрами по-умолчанию carbonapi может разрезать один большой запрос на много маленьких. Это очень плохо работает с ClickHouse. Надо обязательно выставлять параметры:

sendGlobsAsIs: true
maxBatchSize: 1000000

Но даже с этими параметрами carbonapi делает лишний запрос к /metrics/find/ перед /render/. Сейчас можно отключить только патчем (в будущем появится возможность сделать это и через конфиг):

diff -Naur carbonapi/http_handlers.go carbonapi-render-find/http_handlers.go
--- carbonapi/http_handlers.go	2018-02-26 11:59:25.996573711 +0300
+++ carbonapi-render-find/http_handlers.go	2018-02-26 21:17:35.676513385 +0300
@@ -297,7 +297,7 @@

 			if haveCacheData {
 				apiMetrics.FindCacheHits.Add(1)
-			} else {
+			} else if false {
 				apiMetrics.FindCacheMisses.Add(1)
 				var err error
 				apiMetrics.FindRequests.Add(1)
Clone this wiki locally