ClickHouse对接Prometheus

我貂蝉贼6 发表于 2021/08/22 16:59:31 2021/08/22
【摘要】 ClickHouse对接Prometheus

一 、Prometheus简介

普罗米修斯是为大型环境设计的开源监控和警报解决方案,通常用于包含容器和容器化工作负载的环境中。它以较低的系统资源要求实现了丰富的自定义和灵活的查询。如果需要,它还可以通过一台服务器同时从数千台计算机中获取大量数据。
其架构如下:

b1021d5914f0bfb25bd0eeebdc68f06a_1066x678.png@900-0-90-f.png

其中:

  • Prometheus Server: 用数据的采集和存储,PromQL查询,报警配置。
  • Push gateway: 用于批量,短期的监控数据的汇报总节点。
  • Exporters: 各种汇报数据的exporter,例如汇报机器数据的node_exporter,汇报MondogDB信息的 MongoDB_exporter 等等。
  • Alertmanager: 用于高级通知管理。

二、安装Prometheus

1、安装go和glide环境

2、安装Prometheus,修改配置文件
获取安装包:https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-arm64.tar.gz
tar -zxvf prometheus-2.28.1.linux-arm64.tar.gz
cd prometheus-2.28.1.linux-arm64/
./prometheus --config.file=prometheus.yml
vim prometheus.yml

31127a32275b4f8bc4472c76451d8ffd_931x413.png

3、安装node_exporter,采集本地数据到Prometheus
tar -zxvf node_exporter-1.2.0.linux-arm64.tar.gz
cd node_exporter-1.2.0.linux-arm64/
./node_exporter --web.listen-address 10.244.225.120:8080

acc20f5a37f5420863f723a72979fff4_1311x942.png@900-0-90-f.png

三、对接ClickHouse远端存储

1、安装prom2click
unzip prom2click-0.2.zip
cd prom2click-0.2/
make get-deps
make build
./bin/prom2click

修改主机名端口号
vim main.go

41c5f142634a848dc980577088680aab_944x302.png@900-0-90-f.png



make build
./bin/prom2click

报错:


1)make get-deps报错:
6a68aac3a4f0d1bbc1e0c8fd86b8d8fc_1023x817.png@900-0-90-f.png
【解决方法】:
设置glide镜像源
glide mirror set https://golang.org/x/time https://github.com/golang/time --vcs git
修改glide.lock

f0b98f55d03568b6c0edbe27090b2957_565x183.png@900-0-90-f.png

3794223df541804afdd4672f6d2f663a_490x57.png@900-0-90-f.png

2)make build报错:

780b0470fa5f7282f848c27f7321812c_949x249.png@900-0-90-f.png

【解决方法】:
export GOPATH=/opt/prometheus/chen/prom2click-0.2/vendor/

2、修改ClickHouse配置,重启实例
修改ClickHouse配置文件
vim /opt/huawei/Bigdata/FusionInsight_ClickHouse_8.1.2/1_1_ClickHouseServer/etc/config.xml

efc22beab5ac9f7533e2c98731c77cce_699x560.png@900-0-90-f.png

3、链接客户端创建表
1)登录ClickHouse客户端
source /opt/client/bigdata_env
kinit ck_user
clickhouse client --host CLICKHOUIP --secure -m
2) 创建存储表
CREATE DATABASE IF NOT EXISTS metrics;
CREATE TABLE IF NOT EXISTS metrics.samples
(
`date` Date DEFAULT toDate(0),
`name` String,
`tags` Array(String),
`val` Float64,
`ts` DateTime,
`updated` DateTime DEFAULT now()
)
ENGINE = GraphiteMergeTree(date, (name, tags, ts), 8192, 'graphite_rollup');

数据已被存储


b76076c2a3c66b6412386da036810925_1410x520.png@900-0-90-f.png

当前仅支持普通模式,安全模式现象如下:

6c33c21aa857ae834cf16c9c6d2ac0b1_483x263.png@900-0-90-f.png

fb2572b9da65e248773419986e86cac0_1257x88.png@900-0-90-f.png



经分析,由于安全模式存在使用kerberos认证,tcp链接时,客户端发送请求必须带有认证的字段。因此,暂不支持安全模式下的对接。


【参考博客】
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。