Clickhouse 监控之 Prometheus+Grafana
作者: LemonNan
原文地址: mp.weixin.qq.com/s/fb63XndhU…
注: 转载需注明作者及原文地址
介绍
监控原理:clickhouse 监控的原理为 Clickhouse 本身的一些系统指标会存入它自己的 system.events 和 system.metrics 表中,所以在做监控的时候,只需要把这两个表的数据通过接口暴露出去即可。
本文将基于此介绍如何 轻松搭建 Clickhouse + Prometheus + Grafana
的监控
友情提醒:本篇组件均使用 docker 进行部署
先来几张效果图:
操作流程
修改 Clickhouse 配置
将 clickhouse 本身的配置从容器内复制出来,容器内的路径为 /etc/clickhouse-server
然后在 config.xml
中搜索 prometheus
, 将前后的注释去掉。
配置说明
这里的 metrics 是 Clickhouse 的 system.metrics 表记录
events 是 Clickhouse 的 system.events 表记录
启动 Clickhouse 容器
{localConfig} 为你的 Clickhouse 配置文件路径
# 9363 为 prometheus 的访问端口
docker run -d --name clickhouse -p 9363:9363 -v {localConfig}:/etc/clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server
验证 Clickhouse 的 prometheus 端口
启动容器后,因为映射了9363端口,所以可以使用 curl localhost:9363
进行本机验证,如果成功的话,会输出很多下面的数据
增加 Prometheus 配置
创建 prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
- "test.yml"
scrape_configs:
- job_name: 'ckServer_9363'
static_configs:
- targets: ['172.16.16.4:9363']
启动 Prometheus
{localConfig} 为 prometheus.yml
路径
{localData} 为存放数据路径
注意:这里要使用 root 用户,否则会出现无权限启动失败
# 启动 prometheus
docker run -d --name mypro -p 9090:9090 -v {localConfig}:/etc/prometheud.yml -v {localData}:/prometheus --user "root" prom/prometheus
验证 prometheus
访问地址: {ip}:9090/targets
,出现下面的界面表示正确安装
安装 Grafana
{localData} 为本地存放 grafana 数据的地方
注:这里依旧使用 root 用户
# 由于 3000端口有其他应用,使用3999端口
docker run -d --name mygra -p 3999:3000 -v {localData}:/var/lib/grafana --user "root" grafana/grafana
访问: {ip}:3999
,出现如下界面则表示正常安装,默认账号密码都是 admin
Grafana 配置 Prometheus
进入到 Grafana后添加 Data Source,选择 Prometheus,配置如下
172.16.16.4 为本机内网地址
添加指标并测试
这里设置的指标为 SelectQuery - Select的次数 ,时间跨度 1min
在执行几个查询后,界面上会出现次数变更
将指标改成 InsertBytes 后,观察插入数据前和插入数据后的区别
插入前
插入后
可以看到因为刚才的文件导入,插入的字节数急速飙升。
插件
一个个指标查找以及页面布局,确实会令人头非常的大,幸好还有 插件大法
。
在 Grafana 中安装一个 Clickhouse 插件
在 Plugin 中搜索 Clickhouse 会搜到两个插件,本文用的是 Vertamedia
那个,安装完之后设置 Clickhouse 地址就完成数据源创建,接着通过 “+” 的 Import,输入 ID 13606
,就能出现开头的效果。
总结
到这里,Clickhouse 基于 Prometheus 和 Grafana 的监控就大致搭建完毕了,大家可以根据自己的需求监控不同的指标。
最后
欢迎扫描下方二维码或搜索公众号 LemonCode , 一起交流学习!
转载自:https://juejin.cn/post/7073700414423564318