likes
comments
collection
share

Clickhouse 监控之 Prometheus+Grafana

作者站长头像
站长
· 阅读数 5

作者: LemonNan

原文地址: mp.weixin.qq.com/s/fb63XndhU…

注: 转载需注明作者及原文地址

介绍

监控原理:clickhouse 监控的原理为 Clickhouse 本身的一些系统指标会存入它自己的 system.events 和 system.metrics 表中,所以在做监控的时候,只需要把这两个表的数据通过接口暴露出去即可。

本文将基于此介绍如何 轻松搭建 Clickhouse + Prometheus + Grafana 的监控

友情提醒:本篇组件均使用 docker 进行部署

先来几张效果图:

Clickhouse 监控之 Prometheus+Grafana

Clickhouse 监控之 Prometheus+Grafana

操作流程

修改 Clickhouse 配置

将 clickhouse 本身的配置从容器内复制出来,容器内的路径为 /etc/clickhouse-server 然后在 config.xml 中搜索 prometheus, 将前后的注释去掉。

Clickhouse 监控之 Prometheus+Grafana

配置说明

这里的 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 进行本机验证,如果成功的话,会输出很多下面的数据

Clickhouse 监控之 Prometheus+Grafana

增加 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,出现下面的界面表示正确安装

Clickhouse 监控之 Prometheus+Grafana

安装 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

Clickhouse 监控之 Prometheus+Grafana

Grafana 配置 Prometheus

进入到 Grafana后添加 Data Source,选择 Prometheus,配置如下

172.16.16.4 为本机内网地址

Clickhouse 监控之 Prometheus+Grafana

添加指标并测试

这里设置的指标为 SelectQuery - Select的次数 ,时间跨度 1min

在执行几个查询后,界面上会出现次数变更

Clickhouse 监控之 Prometheus+Grafana 将指标改成 InsertBytes 后,观察插入数据前和插入数据后的区别

插入前

Clickhouse 监控之 Prometheus+Grafana 插入后

Clickhouse 监控之 Prometheus+Grafana 可以看到因为刚才的文件导入,插入的字节数急速飙升。

插件

一个个指标查找以及页面布局,确实会令人头非常的大,幸好还有 插件大法

在 Grafana 中安装一个 Clickhouse 插件

在 Plugin 中搜索 Clickhouse 会搜到两个插件,本文用的是 Vertamedia 那个,安装完之后设置 Clickhouse 地址就完成数据源创建,接着通过 “+” 的 Import,输入 ID 13606,就能出现开头的效果。

Clickhouse 监控之 Prometheus+Grafana

总结

到这里,Clickhouse 基于 Prometheus 和 Grafana 的监控就大致搭建完毕了,大家可以根据自己的需求监控不同的指标。

最后

欢迎扫描下方二维码或搜索公众号 LemonCode , 一起交流学习!

Clickhouse 监控之 Prometheus+Grafana