Clickhouse 集群监控(Prometheus+Grafana)

@羲凡——只为了更好的活着

Clickhouse 集群监控(Prometheus+Grafana)

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

前期准备

选4台机器安装Clickhouse集群
另选一台机器作为监控机器,先安装Docker

一、修改Clickhouse集群的config.xml,将注释去掉即可,然后重启集群
# 每台机器都操作
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>
# 每台机器都操作
systemctl stop clickhouse-server
systemctl start clickhouse-server
# 下面的换成自己ck集群中的任何一台机器都可以查看,如果能连接说明没问题
curl http://ip2:9363/metrics

二、在监控机器上安装 Prometheus (Docker)
1.docker 拉取镜像
# 拉取最新版本,我用的是这种方式
docker pull prom/prometheus
###### 或者 ####### https://hub.docker.com 自己找一下哈
# 拉取指定版本
docker pull prom/prometheus:v2.24.1
2.创建 prometheus.yml
mkdir -p /opt/modules/prometheus/
vim /opt/modules/prometheus/prometheus.yml
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

alerting:
  alertmanagers:
  - static_configs:
    - targets:

rule_files:
   - "first_rules.yml"
   - "second_rules.yml"

scrape_configs:
  - job_name: 'clickhouse_9363'

    static_configs:
    - targets: ['ip1:9363','ip2:9363','ip3:9363','ip4:9363']
3.启动 Prometheus
cd /opt/modules/prometheus

docker run -d -p 9090:9090 \
-v $PWD/prometheus.yml:/etc/prometheus/prometheus.yml \
-v $PWD/prometheus-data:/prometheus \
--user "root" --name prometheus prom/prometheus
4.浏览器查看启动结果
http://monitor-ip:9090/targets

在这里插入图片描述

三、在监控机器上安装 Grafana (Docker)
1.docker 拉取镜像
# 拉取最新版本,我用的是这种方式
docker pull grafana/grafana
###### 或者 ####### https://hub.docker.com 自己找一下哈
# 拉取指定版本
docker pull grafana/grafana:7.3.7
2.启动 Grafana
cd /opt/modules/

docker run -d -p 3000:3000 \
-v $PWD/grafana:/var/lib/grafana \
--user "root" --name=grafana  grafana/grafana
3.浏览器查看启动结果
// 初始用户名和密码都是 admin,首次登陆会修改密码
http://monitor-ip:3000

在这里插入图片描述

四、配置邮件报警Alerting
1.安装插件
# 拉取最新版本,我用的是这种方式
docker pull grafana/grafana-image-renderer:latest
###### 或者 ####### https://hub.docker.com 自己找一下哈
# 拉取指定版本
docker pull grafana/grafana-image-renderer:2.0.1
# 起个容器,名为 renderer
docker run -d -p 8081:8081 --user "root" --name=renderer grafana/grafana-image-renderer
2.修改grafana配置文件
# 进入docker
docker exec -it grafana_CONTAINER_ID /bin/bash
# 修改配置文件——完成后退出容器
vi conf/defaults.ini

[smtp]
enabled = true
host = Email_server_address:port
user = your_email_address.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = your_password
skip_verify = true
from_address = your_email_address.com
from_name = Grafana

[rendering]
# 下面的ip换成你renderer容器内部的IP
server_url = http://172.17.0.4:8081/render
# 下面的ip换成你grafana容器内部的IP
callback_url = http://172.17.0.3:3000
# render最大请求数
concurrent_render_request_limit = 30
# 重启容器
docker stop grafana_CONTAINER_ID 
docker start grafana_CONTAINER_ID 
3.测试
3.1 检查grafana-image-renderer 是否安装成功:点击任何一个Dashboard 的 Panel title,选择 Share,点击 Direct link rendered image 看看能否生成图片,若能则安装成功.
3.2 在页面添加邮件分组并测试

在这里插入图片描述

在这里插入图片描述

五、使用 Grafana (简述)
1.添加 Data Sources

特别提醒:因为我们是docker安装的grafana,所以添加 Data Sources 的 IP 要写容器里的IP

在这里插入图片描述

2.新建 Dashboard

在这里插入图片描述

|
|
|

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值