prometheus
(非必需)node_exporter
(非必需)nacos
(>1.4
)(非必需)zookeeper
(>3.6.0
, 推荐 )mysql
(当持久化策略设置为mysql
时必需)
zookeeper
集群是clickhouse
实现分布式集群的重要组件,需要提前搭建好。由于clickhouse
数据量极大,避免给zookeeper
带来太大的压力,最好给clickhouse
单独部署一套集群,不要和其他业务公用。
本文默认zookeeper
集群已经搭建完成。我们需要在zk各节点的zoo.cfg
配置文件里加上如下配置:
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpPort=7000 #暴露给promethues的监控端口
admin.enableServer=true
admin.serverPort=8080 #暴露给四字命令如mntr等的监控端口,3.5.0以上版本支持
然后依次重启zookeeper
各个节点。
ckman
部署的clickhouse
集群默认监听了9363
端口上报metric
给prometheus
,因此无需做任何配置。
如果集群是导入的,请确保/etc/clickhouse-server/config.xml
中有以下配置内容:
<!-- Serve endpoint for Prometheus monitoring. -->
<!--
endpoint - mertics path (relative to root, statring with "/")
port - port to setup server. If not defined or 0 than http_port used
metrics - send data from table system.metrics
events - send data from table system.events
asynchronous_metrics - send data from table system.asynchronous_metrics
status_info - send data from different component from CH, ex: Dictionaries status
-->
<prometheus>
<endpoint>/metrics</endpoint>
<port>9363</port>
<metrics>true</metrics>
<events>true</events>
<asynchronous_metrics>true</asynchronous_metrics>
<status_info>true</status_info>
</prometheus>
node_exporter
是用来监控clickhouse
节点所在机器的一些系统指标的一款工具,因此需要安装在ck
节点所在的机器,默认监听9100
端口。
安装步骤略。
- job_name: 'node_exporter'
scrape_interval: 10s
static_configs:
- targets: ['192.168.0.1:9100', '192.168.0.2:9100', '192.168.0.3:9100', '192.168.0.4:9100']
- job_name: 'clickhouse'
scrape_interval: 10s
static_configs:
- targets: ['192.168.0.1:9363', '192.168.0.2:9363', '192.168.0.3:9363', '192.168.0.4:9363']
- job_name: 'zookeeper'
scrape_interval: 10s
static_configs:
- targets: ['192.168.0.1:7070', '192.168.0.2:7070', '192.168.0.3:7070']
rpm
安装直接使用命令安装即可:
rpm -ivh ckman-1.3.1.x86_64.rpm
安装完成后,在/etc/ckman
目录下,会生成工作目录(日志和配置文件等都在该目录下)。
rpm
方式安装的ckman
有两种启动方式:
/usr/local/bin/ckman -c=/etc/ckman/conf/ckman.hjson -p=/run/ckman/ckman.pid -l=/var/log/ckman/ckman.log -d
systemctl start ckman
可以在任意目录进行安装。安装方式为直接解压安装包即可。
tar -xzvf ckman-1.3.1-210428.Linux.x86_64.tar.gz
进入ckman
的工作目录,执行:
cd ckman
bin/start
启动之后,在浏览器输入 http://localhost:8808 跳出如下界面,说明启动成功:
ckman
默认的登录用户为ckman
,密码为Ckman123456!
。
从v1.2.7
版本开始,ckman
支持从docker
镜像启动。启动命令如下所示:
docker run -itd -p 8808:8808 --restart unless-stopped --name ckman quay.io/housepower/ckman:latest
但是需要注意的是,搭建promethues
和nacos
并不属于ckman
程序自身的范畴,因此,从容器启动ckman
默认是关闭nacos
的,且前台Overview
监控不会正常显示。
如果想自己配置nacos
和prometheus
,可以进入容器自行配置。