1.概述

转载:ClickHouse运行时状态监控

类似:【clickhouse】docker 下 搭建 clickhouse 监控

Clickhouse 在运行时会将一些运行装白保存到系统表中,在对 clickhouse 进行监控时也会从这些系统表中获取数据了解 clickhouse 的运行状态。

clickhouse 元数据表中系统监控相关的表

但是直接查询这些系统表不能够直观的看到当前系统的状态,另外 clickhouse 外部的一些服务器相关的指标也查看不到,例如 CPU、IO 等信息。

推荐使用Prometheus + Grafana 的组合进行 clickhouse 监控,这个组合可以继承很多框架,并且Prometheus可以收集很多服务器的负载信息,Grafana 则负责对收集到的数据进行可视化的展示。

ClickHouse 从 v20.1.2.4 开始,内置了对接 Prometheus 的功能,配置的方式也很简单, 可以将其作为 Prometheus 的 Endpoint 服务,从而自动的将 metrics 、events 和 asynchronous_metrics 三张系统的表的数据发送给 Prometheus。

2. 配置 Clickhouse

vim /etc/clickhouse-server/config.xml# 将下面内容的注释打开
<prometheus><endpoint>/metrics</endpoint><port>9363</port><metrics>true</metrics><events>true</events><asynchronous_metrics>true</asynchronous_metrics><status_info>true</status_info></prometheus># 如果有多个节点,需要在每个节点都进行配置

配置完成之后需要重启 clickhouse

安装 Prometheus

3.1 介绍

Prometheus 是基于 Golang 语言编写,编译后的软件包,不依赖于任何的第三方依赖。只需要 下载对应平台的二进制包,解压并且添加基本的配置即可正常启动 Prometheus Server。

3.2 下载 Prometheus

Prometheus 下载地址:https://prometheus.io/download/

3.3 上传安装文件

scp prometheus-2.30.3.linux-amd64.tar.gz root@node2:/opt/

3.4 解压安装文件

# 解压
tar -zxvf prometheus-2.30.3.linux-amd64.tar.gz# 改名
mv prometheus-2.30.3.linux-amd64 prometheus

3.5 修改配置文件

# 切换路径
cd prometheus
# 编辑配置文件
vim prometheus.yml# 控制 Prometheus 服务器的全局配置
global:scrape_interval: 15s # 将抓取间隔设置为每 15 秒一次。 默认为每 1 分钟一次。evaluation_interval: 15s # 每 15 秒评估一次规则。 默认为每 1 分钟一次# scrape_timeout 设置为全局默认值(10 秒)。# 警报配置
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# 规则配置文件
# 加载规则并根据全局 "evaluation_interval" 定期评估
rule_files:# - "first_rules.yml"# - "second_rules.yml"# 配置采集目标相关, prometheus 监视的目标。
# Prometheus 自身的运行信息可以通过 HTTP 访问,所以 Prometheus 可以监控自己的运行数据。
scrape_configs:# 监控作业的名称 - job_name: "prometheus"# metrics_path defaults to '/metrics'# 表示静态目标配置,就是固定从某个 target 拉取数据# 默认方案为 HTTPstatic_configs:- targets: ["localhost:9090"]# 添加如下 clickhouse 监控- job_name: "clickhouse"static_configs:- targets: ['node2:9363'] # 默认端口号为 9396,要跟 clickhouse 的配置相同

3.6 启动

# 前台启动
./prometheus --config.file=prometheus.yml# 后台启动
nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &

3.7 访问 webUI 页面

http://node2:9090

4. 安装Grafana

4.1 介绍

Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

4.2 下载安装文件

Grafana 下载地址:https://grafana.com/grafana/download

4.3 上传安装文件

scp grafana-enterprise-8.2.1.linux-amd64.tar.gz root@node2:/opt/

4.4 解压安装文件

bash

# 解压
tar zxvf grafana-enterprise-8.2.1.linux-amd64.tar.gz

4.5 启动 Grafana

bash

# 转到 grafana 文件夹
cd grafana-8.2.1/# 前台启动
bin/grafana-server web# 后台启动nohup ./bin/grafana-server web > ./grafana.log 2>&1 &
4.6 打开 web UI

http://node2:3000

账号名与密码默认 admin

5. 配置Grafana

5.1 添加Prometheus数据源





5.2 配置 Dashboard

可以自己创建 Dashboard 添加需要监控的指标




但是手动添加指标太慢了,需要很久才能将所需的指标都添加完成,并且需要一定的经验,否则会遗漏一些重要指标,这里推荐使用clickhouse监控模板,可以到 https://grafana.com/dashboards 网站,找到大量可直接使用的 Dashboard 模板。

5.3 通过模板添加Dashboard

Grafana 中所有的 Dashboard 通过 JSON 进行共享,下载并且导入这些 JSON 文件,就可 以直接使用这些已经定义好的 Dashboard。





【Clickhouse】Clickhouse 整合 Prometheus 监控 运行时状态相关推荐

  1. android运行时状态,Android 如何保存Android 运行时状态

    Android 如何保存Android 运行时状态 使用 SaveInstanceState去保存运行时数据 首先,我们需要重写一下系统的public void onSaveInstanceState ...

  2. FreeRtos 获取任务运行时状态以及实现方式分析

    一.获取全部任务的状态 1.1 系统API函数 void vTaskList( char * pcWriteBuffer ) 1.2 函数功能 返回所有任务的: 任务名 任务当前运行状态 任务优先级 ...

  3. pytorch保存模型运行时状态,记录点checkpoint

    文章目录 保存 加载 案例 保存 torch.save({'epoch': epoch, # 保存迭代次数'model_state_dict': model.state_dict(), # 模型的状态 ...

  4. 解决windows10事件日志占满硬盘的问题...程序包 Microsoft.SkypeApp_*** 的 AppModel 运行时状态时失败...

    一步解决 使用管理员身份运行Windows PowerShell 输入"Get-AppxPackage -allusers *SkypeApp* | Remove-AppxPackage&q ...

  5. [Objective C] 获取类和对象的运行时状态

    1. -(BOOL) isKindOfClass: <class> 判断该对象是否为<class>类或其子类的实例 2. -(BOOL) isMemberOfClass: &l ...

  6. Prometheus监控系统

    Promethus监控系统 一.普罗米修斯概述 二.时间序列 1.什么是序列数据 2.基于时间序列数据特点 3.普罗米修斯特征 4.普罗米修斯原理架构图 三.实验环境准备 四.安装普罗米修斯 1.下载 ...

  7. Prometheus 监控实践

    监控作为底层基础设施的一环,是保障生产环境服务稳定性不可或缺的一部分,线上问题从发现到定位再到解决,通过监控和告警手段可以有效地覆盖了「发现」和「定位」,甚至可以通过故障自愈等手段实现解决,服务开发和 ...

  8. 分析解决Java运行时异常

    1 ,基础知识    http://my.oschina.net/u/140462/blog/421128    JVM运行时内存结构 2 ,相关命令    http://www.open-open. ...

  9. 【翻译】使用PowerShell获取网站运行时数据

    原文链接:PowerShell Provider: Run-time Data 介绍 站点的启动,停止, 应用程序池的回后或过期(time out), 接受的请求和发送的响应, AppDomains( ...

最新文章

  1. 小程序云开发,订阅消息定时批量发送实现代码
  2. 趣题:寻找出现了奇数次的数
  3. 【Windows Server 2019】 Windows Admin Center 4 添加服務器
  4. HashMap 散列初体验
  5. Redis笔记之基本数据结构 动态字符串SDS
  6. python实现逐步回归分析_Python实现逐步回归(stepwise regression)
  7. 如何破解Mac并为其提供真正应得的精美壁纸
  8. mysql逻辑读高影响_运维日记| MySQL/Oracle深度解析之一:逻辑读
  9. EnterCriticalSection 多线程操作相同数据遇到的问题(线程锁)
  10. 学习笔记TF065:TensorFlowOnSpark 1
  11. 机器学习数学基础--偏导数
  12. Linux 安装SNMPWALK工具
  13. 八卦罗盘动态时钟(C语言)
  14. NPOI导出EXCEL 合并单元格、统计列、单元格样式设置
  15. EasyRTMP手机直播推流到EasyDSS进行RTMP直播过程中分辨率反复切换崩溃问题解决
  16. Parellel TSP
  17. PWM呼吸灯之三角波、锯齿波、正弦函数波
  18. 蜗牛星际修改82583V网卡MAC地址
  19. 基层管理者的第一步——从“我”变成“我们”
  20. 【软考点点】软件开发模型

热门文章

  1. 上市之前再被爆出安全问题 卫龙辣条被爆吃出“锁精环”
  2. Meta宣布将关闭面部识别系统 删除超10亿用户面部扫描数据
  3. 三星Galaxy S22系列国行版获3C认证:依旧祖传25W快充
  4. 支付巨头Visa宣布计划在巴西将加密货币服务引入传统银行
  5. 蔚来事件后 理想和小鹏改了“辅助驾驶系统”官方宣传用词
  6. 小鹏汽车港股上市发售价定为每股165港元
  7. 不到2公里要价5400元,货拉拉还能拉多久?
  8. 近40万辆奥迪车被召回,有你的吗?
  9. 拼多多:永远不会对孵化品牌“二选一” 扶持千家工厂触达4.4亿消费者
  10. 特斯拉最廉价车型——基础版Model 3将取消网售