51 lines
1.2 KiB
Bash
51 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ "${EUID}" -ne 0 ]]; then
|
|
echo "[ERROR] please run as root"
|
|
exit 1
|
|
fi
|
|
|
|
CH_LOG_LEVEL="${CH_LOG_LEVEL:-warning}"
|
|
CH_DIR="/etc/clickhouse-server"
|
|
CH_CONFIG_D_DIR="${CH_DIR}/config.d"
|
|
OVERRIDE_FILE="${CH_CONFIG_D_DIR}/waf-runtime.xml"
|
|
|
|
case "${CH_LOG_LEVEL}" in
|
|
none|fatal|critical|error|warning|notice|information|debug|trace|test)
|
|
;;
|
|
*)
|
|
echo "[ERROR] invalid CH_LOG_LEVEL: ${CH_LOG_LEVEL}"
|
|
echo " allowed: none,fatal,critical,error,warning,notice,information,debug,trace,test"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
mkdir -p "${CH_CONFIG_D_DIR}"
|
|
|
|
echo "[INFO] writing ClickHouse runtime override config ..."
|
|
cat >"${OVERRIDE_FILE}" <<EOF
|
|
<clickhouse>
|
|
<logger>
|
|
<level>${CH_LOG_LEVEL}</level>
|
|
</logger>
|
|
|
|
<text_log remove="1"/>
|
|
<part_log remove="1"/>
|
|
<metric_log remove="1"/>
|
|
<asynchronous_metric_log remove="1"/>
|
|
<trace_log remove="1"/>
|
|
</clickhouse>
|
|
EOF
|
|
|
|
echo "[INFO] restarting clickhouse-server ..."
|
|
systemctl restart clickhouse-server
|
|
sleep 2
|
|
|
|
echo "[INFO] service status ..."
|
|
systemctl --no-pager -l status clickhouse-server | sed -n '1,15p'
|
|
|
|
echo "[OK] ClickHouse runtime config applied"
|
|
echo " file : ${OVERRIDE_FILE}"
|
|
echo " logger level: ${CH_LOG_LEVEL}"
|