clickcheck 0.2.0

Tool to analyze ClickHouse system tables, to detect potential issues for DBAs.
Documentation

clickcheck

clickcheck — инструмент для анализа ClickHouse: Помогает DBA быстро обнаруживать и устранять проблемы.

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


🚀 Ключевые возможности

  • Анализ query_log: группировка запросов по fingerprint
  • Многоформатный вывод: текст, JSON, YAML
  • Управление профилями подключения (контексты)
  • Сбор данных со всех нод кластера (или указанных) с последующей агрегацией на стороне clickcheck

🛠️ Установка

cargo install clickcheck

⚙️Использование

Используйте --help для подробной справки по каждой команде:

clickcheck --help
clickcheck queries --help
clickcheck errors --help
clickcheck context --help

Пример

clickcheck context set profile ch-hello -U 'https://my-ch-hello-node-1:8443' -U 'https://my-ch-hello-node-2:8443' -u 'hello_user' -i
# Вводим ClickHouse hello_user password:
clickcheck context set profile ch-bye -U 'https://my-ch-bye-node-1:8443' -u 'bye_user' -i
# Вводим ClickHouse bye_user password:

# Выставляем context по умолчанию
clickcheck context set current ch-hello

# Смотрим топ 5 тяжелых запросов на кластере ch-hello
clickcheck queries --last 1hour
# Смотрим топ 5 ошибок на ch-hello
clickcheck errors

# Смотрим топ 5 тяжелых запросов на кластере ch-bye
clickcheck queries --last 1hour --context ch-bye

🎯 Roadmap

В разработке и планах

  • “Get” & “Stats” Subcommands on queries
    • clickcheck queries get
    • clickcheck queries stats: Single aggregated query
  • Advanced Analysis Modes
    • Unstable queries: high-variance detection
    • Burst detection: spikes in query frequency
    • Anomaly detection: statistical outliers, unusual patterns
  • Beyond Query Logs
    • Storage growth: inspect system.parts to find largest tables/partitions and predict growth
    • Merge spikes: analyze system.part_log for merge bursts
  • Export Integrations
    • Flamegraph integration: generate per-query flamegraphs or CPU profiles