ClickHouse对接Prometheus
【摘要】 ClickHouse对接Prometheus
一 、Prometheus简介
普罗米修斯是为大型环境设计的开源监控和警报解决方案,通常用于包含容器和容器化工作负载的环境中。它以较低的系统资源要求实现了丰富的自定义和灵活的查询。如果需要,它还可以通过一台服务器同时从数千台计算机中获取大量数据。
其架构如下:
其中:
- 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
cd prometheus-2.28.1.linux-arm64/
./prometheus --config.file=prometheus.yml
vim prometheus.yml
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
cd node_exporter-1.2.0.linux-arm64/
./node_exporter --web.listen-address 10.244.225.120:8080
三、对接ClickHouse远端存储
1、安装prom2click
unzip prom2click-0.2.zip
cd prom2click-0.2/
make get-deps
make build
./bin/prom2click
修改主机名端口号
vim main.go
make build
./bin/prom2click
报错:
【解决方法】:
设置glide镜像源
glide mirror set https://golang.org/x/time https://github.com/golang/time --vcs git
修改glide.lock
2)make build报错:
【解决方法】:
export GOPATH=/opt/prometheus/chen/prom2click-0.2/vendor/
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
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');
(
`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');
数据已被存储
MRS 8.1.2.2之前版本仅支持普通模式,安全模式现象如下:
MRS 8.1.2.2版本之后支持安全模式下对接非SSL加密端口
【参考博客】
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)