ClickHouse监控系统Prometheus+Grafana

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: ClickHouse监控系统Prometheus+Grafana

1 Prometheus+Grafana概述

ClickHouse 运行时会将一些个自身的运行状态记录到众多系统表中( system.*)。所以我们对于 CH 自身的一些运行指标的监控数据,也主要来自这些系统表。

但是直接查询这些系统表会有一些不足之处:


这种方式太过底层,不够直观,我们还需要在此之上实现可视化展示;

系统表只记录了 CH 自己的运行指标,有些时候我们需要外部系统的指标进行关联分析,例如 ZooKeeper、服务器 CPU、IO 等等。

现在 Prometheus + Grafana 的组合比较流行,安装简单易上手,可以集成很多框架,包括服务器的负载, 其中 Prometheus 负责收集各类系统的运行指标; Grafana 负责可视化的部分。

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


2 安装Prometheus + Grafana

下载地址

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

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


安装Prometheus

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


将已下载好的prometheus-2.30.3.linux-amd64.tar.gz上传到/opt/software/,然后解压更名:

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

修改配置文件:

# 切换路径
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 拉取数据
    # 默认方案为 HTTP
    static_configs:
      - targets: ['localhost:9090']
  # 添加如下 clickhouse 监控
  - job_name: 'clickhouse-1'
    static_configs:
    - targets: ['node2:9363'] 
# 默认端口号为 9396,要跟 clickhouse 的配置相同

因为是yml文件,所以缩进特别严格,每个缩进代表不同层级,需要注意。

启动:

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

访问 webUI 页面:

http://node2:9090

安装Grafana

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

将grafana-enterprise-8.2.1.linux-amd64.tar.gz上传到/opt/software/,然后解压、更名:

tar zxvf grafana-enterprise-8.2.1.linux-amd64.tar.gz

启动 Grafana:

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

打开 web UI:

http://node2:3000

账号名与密码默认 admin

3 配置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生效。


网页访问hadoop1:9363/metrics,能看到相关信息就说明好了。当然显示的数据不方便看,这也是使用Prometheus+Grafana的意义所在。

4 配置Grafana

添加Prometheus数据源

点击左侧齿轮logo,选择Data sources,点击Add data source

之后在搜索框中搜索Prometheus,然后点击select


然后参考下图进行配置修改:

提示Data source is working则说明正常。

接下来创建可视化页面,可以自己创建 Dashboard 添加需要监控的指标:

左侧点击加号,选择Dashboard


添加一个新的仪表板:

添加监控指标:

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

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

下载模板:

注意不一定下载量越多越好,还要注意一下更新日期

导入模板:

设置数据源:

可以看到模板中的监控指标:

目录
相关文章
|
17天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
95 3
|
19天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
53 2
|
16天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
82 0
|
3月前
|
Prometheus 监控 Cloud Native
自定义grafana_table(数据源Prometheus)
综上所述,自定义 Grafana 表格并将 Prometheus 作为数据源的关键是理解 PromQL 的查询机制、熟悉 Grafana 面板的配置选项,并利用 Grafana 强大的转换和自定义功能使数据展示更为直观和有洞见性。随着对这些工具更深入的了解,您将可以创建出更高级的监控仪表盘,以支持复杂的业务监控需求。
278 1
|
2月前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
290 0
|
3月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
8天前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 监控关注的核心指标包括 Master 和 RegionServer 的进程存在性、RPC 请求数、JVM 内存使用率、磁盘和网络错误、延迟和吞吐量、资源利用率及 JVM 使用信息。通过 Grafana 可视化和告警规则,帮助管理员实时监控集群性能和健康状况。
|
2月前
|
Prometheus 监控 Cloud Native
介绍如何使用Prometheus进行监控
介绍如何使用Prometheus进行监控
200 3
|
2月前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
3月前
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
404 1

热门文章

最新文章