Clickhouse 集群监控(Prometheus+Grafana)
Posted 羲凡丞相
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
|
|
|
====================================================================
@羲凡——只为了更好的活着
若对博客中有任何问题,欢迎留言交流
以上是关于Clickhouse 集群监控(Prometheus+Grafana)的主要内容,如果未能解决你的问题,请参考以下文章
Clickhouse 集群监控(Prometheus+Grafana)
#yyds干货盘点#Prometheus 之 Kubernetes 监控
20210810-基于CentOS7/Linux Grafana 集成 Prometheus并实现对ClickHouse监控