【ClickHouse系列】基于clickhouse-exporter的ClickHouse监控搭建

本文是想让快速搭建这一套监控组件,让大家看到最终效果,所以各个组件均采用docker的方式启动,其实使用docker-compose会更快,单考虑到熟悉成本,以及个组件的关系,本文分组件一一进行说明并启动,最后显示效果。

编译构建clickhouse-exporter镜像

clickhouse_exporter组件是Percona-Lab提供的,原理是依赖clickhouse自身完善的指标系统表实现的,本质上就是去查询了clickhouse的system.metrics等系统表获取到所需的信息,所以源码很简单,一部分是查询系统表构,另一部分就是构造prometheus数据格式,有兴趣可以自行看下源码。

言归正传,首先就是要下载源码,通过自带的Dockerfile构建即可,

[root@k8s-master test]# git clone https://github.com/Percona-Lab/clickhouse_exporter.git
[root@k8s-master clickhouse_exporter]# cd clickhouse_exporter
[root@k8s-master clickhouse_exporter]# docker build -t xiedeyantu/clickhouse_exporter .

这里注意下,如果你的系统centos,可能会由于docker版本比较低出现以下错误

[root@k8s-master clickhouse_exporter]# docker build -t xiedeyantu/clickhouse_exporter .
Sending build context to Docker daemon 6.638 MB
Step 1/10 : FROM golang:1.11 AS BUILD
Error parsing reference: "golang:1.11 AS BUILD" is not a valid repository/tag: invalid reference format

具体升级方法参考:docker版本升级

[root@k8s-master clickhouse_exporter]# docker -v
Docker version 19.03.11, build 42e35e61f3

由于go编译需要依赖一些golang.org的包,所以网络受限的可以直接使用f1yegor/clickhouse-exporter镜像

启动clickhouse-server

docker run -d \
--name clickhouse \
--hostname clickhouse \
-p 8123:8123 \
yandex/clickhouse-server:20.4.4.18

确认clickhouse正常启动即可

启动clickhouse-exporter

clickhouse-exporter需要配置clickhouse的ip和port,对应参数为scrape_uri,使用docker命令查询

[root@k8s-master clickhouse_exporter]# docker inspect -f='{{.NetworkSettings.IPAddress}} {{.Config.Hostname}}' $(sudo docker ps -a -q)
172.17.0.2 clickhouse

创建clickhouse-exporter docker实例

docker run -d \
--name clickhouse-exporter \
--hostname clickhouse-exporter \
-p 9116:9116 \
f1yegor/clickhouse-exporter \
-scrape_uri=http://172.17.0.2:8123/

查看metrics

curl http://192.168.80.139:9116/metrics

# HELP clickhouse_arena_alloc_bytes_total Number of ArenaAllocBytes total processed
# TYPE clickhouse_arena_alloc_bytes_total counter
clickhouse_arena_alloc_bytes_total 4096
# HELP clickhouse_arena_alloc_chunks_total Number of ArenaAllocChunks total processed
# TYPE clickhouse_arena_alloc_chunks_total counter
clickhouse_arena_alloc_chunks_total 1
# HELP clickhouse_background_buffer_flush_schedule_pool_task Number of BackgroundBufferFlushSchedulePoolTask currently processed
# TYPE clickhouse_background_buffer_flush_schedule_pool_task gauge
......

启动prometheus

首先要配置prometheus的targets,让其能知道在哪个target拉取,配置文件如下,其中172.17.0.3是同样方法取到的clickhouse-exporter的ip

global:
  scrape_interval:     15s
  evaluation_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'clickhouse_exporter'
    scrape_interval: 5s
    static_configs:
    - targets: ['172.17.0.3:9116']

启动prometheus docker实例

docker run -d \
  --name prometheus \
  -p 9090:9090 \
  -v /opt/monitor/prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus

浏览器打开http://192.168.80.139:9090/targets

在这里插入图片描述

可见clickhouse_exporter可正常拉取到

启动grafana

docker run -d \
  -p 3000:3000 \
  --name=grafana \
  grafana/grafana

登陆grafana,账号密码是admin/admin

配置grafana数据源,查询prometheus的ip地址(同上)

在这里插入图片描述

点击Data & Test,显示working即为成功

在这里插入图片描述

添加dashboard,通过import方式,直接使用882模板

在这里插入图片描述

选则Prometheus数据源

在这里插入图片描述

最后即可看到监控dashboard

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
数据分析职业是一个多金的职业,数据分析职位是一个金饭碗的职位,前景美好,但是要全面掌握大数据分析技术,非常困难,大部分学员的痛点是不能快速找到入门要点,精准快速上手。本课程采用项目驱动的方式,以Spark3和Clickhouse技术为突破口,带领学员快速入门Spark3+Clickhouse数据分析,促使学员成为一名高效且优秀的大数据分析人才。学员通过本课程的学习,不仅可以掌握使用Python3进行Spark3数据分析,还会掌握利用Scala/java进行Spark数据分析,多语言并进,力求全面掌握;另外通过项目驱动,掌握Spark框架的精髓,教导Spark源码查看的技巧;会学到Spark性能优化的核心要点,成为企业急缺的数据分析人才;更会通过Clickhouse和Spark搭建OLAP引擎,使学员对大数据生态圈有一个更加全面的认识和能力的综合提升。真实的数据分析项目,学完即可拿来作为自己的项目经验,增加面试谈薪筹码。课程涉及内容:Ø  Spark内核原理(RDD、DataFrame、Dataset、Structed Stream、SparkML、SparkSQL)Ø  Spark离线数据分析(千万简历数据分析、雪花模型离线数仓构建)Ø  Spark特征处理及模型预测Ø  Spark实时数据分析(Structed Stream)原理及实战Ø  Spark+Hive构建离线数据仓库(数仓概念ODS/DWD/DWS/ADS)Ø  Clickhouse核心原理及实战Ø  Clickhouse engine详解Ø  Spark向Clickhouse导入简历数据,进行数据聚合分析Ø  catboost训练房价预测机器学习模型Ø  基于Clickhouse构建机器学习模型利用SQL进行房价预测Ø  Clickhouse集群监控,Nginx反向代理Grafana+Prometheus+Clickhouse+node_exporterØ  Spark性能优化Ø  Spark工程师面试宝典       课程组件:集群监控:福利:本课程凡是消费满359的学员,一律送出价值109元的实体书籍.
Prometheus Black-exporter 是一个用于监控黑名单端口的工具。它可以通过监听网络流量,并根据设定的黑名单规则来检测是否存在未授权的端口访问。 当监控到黑名单中的端口被访问时,Prometheus Black-exporter 会触发告警,通知管理员或相关团队。这样可以帮助及时发现并应对潜在的安全威胁。 该工具可以与 Prometheus 监控系统结合使用,通过将监控数据导入到 Prometheus 中,可以更加灵活地处理告警信息并进行可视化展示。 为了配置并启动 Prometheus Black-exporter 监控端口,我们可以按照以下步骤进行操作: 1. 首先,在服务器上安装并配置 Prometheus 和 Black-exporter。可以通过下载官方提供的二进制文件或使用包管理工具进行安装。 2. 接下来,编辑 Black-exporter 的配置文件,设置黑名单规则和要监听的端口。 3. 启动 Black-exporter 服务,并确保其正常运行。可以通过查看日志文件或进行端口扫描来验证。 4. 在 Prometheus 的配置文件中,添加 Black-exporter监控目标,并指定其相关信息,例如 IP 地址和端口号。 5. 重启 Prometheus 服务,使其加载新的配置文件,并开始收集和处理 Black-exporter 提供的监控数据。 6. 最后,设置 Prometheus 的告警规则,定义当监控数据中出现黑名单端口访问时触发告警的条件和动作。 通过以上步骤的配置和使用,我们可以实现对黑名单端口的实时监控和告警。及时发现和处理未授权的端口访问,有助于提高网络安全性,防止潜在的安全漏洞和攻击。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只努力的微服务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值