prometheus的远程存储到clickhouse里面,prometheus store clickhouse

目录

一、现状介绍

1、背景

2、组件

二、配置

1、clickhouse配置

2、prometheus配置

3、prome2click配置

4、grafana配置

三、安装

四、测试

五、问题

1、make get-deps 报错如下

2、make build 报错如下

3、./bin/prom2click 报错如下


一、现状介绍

1、背景

用es作为prometheus的远程存储时,发现es特别的消耗磁盘内存,同时对于数据存入es,查看时也不太容易,es的查询语句比较特殊,一般人还真不会写。后期存储的prometheus数据主要是想做统计汇总用的,感觉es做统计汇总也不太方便(可能自己不会吧),总其所有的原因,最后改用clickhouse作为prometheus的远程存储。

2、组件

  1. prometheus-2.15.1.linux-amd64.tar.gz
  2. clickhouse-client-19.13.3.26-2
  3. prom2click
  4. grafana-6.2.5-1.x86_64.rpm

以上官网都有配置和简单教程,自己安装官网安装即可。以下步骤,是在默认你已安装好以上组件的基础上进行的。

二、配置

1、clickhouse配置

需要将prometheus的metric数据存入到clickhouse里面,首先需要做的是创建一张表,将metric数据存入到表内,所以要现在clickhouse里面创建数据库和表格。prometheus的数据格式是key-value格式的,如下所示:

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'
    );
  • name用于存储 key值,例如:jvm_gc_collection_seconds_count
  • tags用于存储Label值,例如:gc="ParNew" 
  • val用于存储value值,例如:1297.0

关于clickhouse的创建表的语句,使用的是GraphiteMergeTree执行引擎,该执行引擎需要配置一个graphite_rollup,实话说本人看了很久也不懂什么意思,如果不配置的话,创表语句会执行失败的。需要先配置然后重启clickhouse,再执行创表语句。需要改的地方是:/etc/clickhouse-server/config.xml....    配置参考

    
                tags
                ts
                val
                updated
                
                        avg
                        
                                0
                                10
                        
                        
                                86400
                                30
                        
                        
                                172800
                                300
                        
                
        

2、prometheus配置

这个就是指定将数据写出的端口,注意ip需要写prome2click安装机器的ip。

# Remote write configuration (for Graphite, OpenTSDB, InfluxDB or Clickhouse).
remote_write:
    - url: "http://localhost:9201/write"
remote_read:
    - url: "http://localhost:9201/read"

3、prome2click配置

官网给的安装就三句话:......................................前提是需要安装go语言环境,glide环境

$ make get-deps
$ make build
$ ./bin/prom2click

首先将源码下载下来:wget  https://github.com/iyacontrol/prom2click.git 

执行第一句:make get-deps 报错如下:问题1

执行第二句:make build 报错如下:问题2

执行第三句:./bin/prom2click 报错如下:问题3

 

4、grafana配置

 

三、安装

四、测试

五、问题

1、make get-deps 报错如下

prometheus的远程存储到clickhouse里面,prometheus store clickhouse_第1张图片

#解决方法:执行
$ glide mirror set https://golang.org/x/time https://github.com/golang/time --vcs git
$ glide mirror set https://golang.org/x/crypto https://github.com/golang/crypto --vcs git 
$ glide mirror set https://golang.org/x/net https://github.com/golang/net --vcs git
$ glide mirror set https://golang.org/x/tools https://github.com/golang/tools --vcs git
$ glide mirror set https://golang.org/x/text https://github.com/golang/text --vcs git
$ glide mirror set https://golang.org/x/image https://github.com/golang/image --vcs git
$ glide mirror set https://golang.org/x/sys https://github.com/golang/sys --vcs git

2、make build 报错如下

prometheus的远程存储到clickhouse里面,prometheus store clickhouse_第2张图片

解决方法:将prom2click/vendor文件夹下的所有文件,拷贝到/data/home/bgypub/apps/go/src/目录下

3、./bin/prom2click 报错如下

可能会报连接被拒绝,而且显示的ip也并不是我们的ip和端口号

需要修改prom2click/main.go文件,修改里面clickhouse的ip和端口号,然后重新执行make build,再执行./bin/prom2click 出现如下,表示启动成功。。。。

欢迎留言评论!

prometheus的远程存储到clickhouse里面,prometheus store clickhouse_第3张图片

 

你可能感兴趣的:(monitor,监控系统,prometheus,clickhouse,prome2click,远程存储)