Ведение журнала медленных запросов Cassandra OpsCenter

Мы используем OpsCenter 5.2.4 (DSE 4.8.4 с Cassandra 2.1.12). Мы пытаемся выявить некоторые проблемы и хотели бы регистрировать медленные запросы. Мы пытались включить его через настройки и производительность. У меня есть две проблемы:

  1. TTL застрял на 3600, я пробовал увеличивать и уменьшать значение TTL, но он всегда записывает данные с 3600. Почему это? Я попытался установить пороговое значение 16 мс, чтобы я мог быстро выполнять некоторые запросы в dse_perf.node_slow_log и получил мало результатов, когда я выполняю запрос типа SELECT source_ip, TTL(source_ip) FROM dse_perf.node_slow_log;, он всегда возвращает TTL этого поля 3600, даже если я установил его на 900 или 7200 с. Когда я изменяю этот параметр в OpsCenter, я проверяю, что значение действительно изменяется на узле в dse.yaml, и это так, но в таблице мои данные всегда записываются с TTL 3600s.

  2. Экран медленных запросов в OpsCenter не работает, я пытался запросить таблицу, как упоминалось ранее, и у меня там есть результаты (15 медленных запросов), но когда я пытаюсь увидеть запросы из OpsCenter, у меня есть один запрос SELECT COUNT, которого я не вижу в таблицах, и ни один из 15 медленных запросов, которые я вижу при просмотре данных из cqlsh. Откуда считываются данные, просматриваемые на панели медленных запросов в OpsCenter?


person Nenad Bozic    schedule 25.03.2016    source источник
comment
У вас есть пример того, как вы вставляете данные с TTL?   -  person Alexis Wilke    schedule 26.03.2016
comment
Какая версия cassandra или dse?   -  person Chris Lohfink    schedule 27.03.2016
comment
Это DSE 4.8.4. с Кассандрой 2.1.12. Вставка данных TTL является функцией DSE и находится вне нашего контроля, вы можете просто установить значение TTL и порог в мс, выше которого DSE будет регистрировать медленные запросы.   -  person Nenad Bozic    schedule 28.03.2016


Ответы (1)


1) Изменение TTL не меняет ttl уже записанных данных. Он изменяет TTL любых будущих записываемых данных. После того, как мутация отправлена, она записывается в sstable и неизменяемая и остается там до тех пор, пока не будет проверена сборщиком мусора.

2) Для каких таблиц медленные запросы? Медленные запросы в OpsCenter и пространства ключей dse_perf отфильтровываются в пользовательском интерфейсе, поскольку они находятся вне вашего контроля. Вы можете обновить это в slow_query_ignore. опция в агентах address.yaml. Документировано как:

Список пространств ключей, которые следует игнорировать в журнале медленных запросов службы производительности. По умолчанию: ["OpsCenter" "dse_perf"].

Они по-прежнему записываются в таблицу для службы производительности медленных запросов DSE, но OpsCenter их не отображает.

person Chris Lohfink    schedule 27.03.2016
comment
По поводу вашего первого ответа, может быть я недостаточно ясно выразился, TTL на новых данных застрял на 3600, пробовал ставить выше и ниже и всегда 3600мс - person Nenad Bozic; 28.03.2016