Bootstrap

zabbix 6.0 监控clickhouse(单机)

zabbix 6.0 LTS已经包含了clickhouse的监控模板,所以我们可以直接使用自带的模板来监控clickhouse了。

0.前置条件

  • clickhouse 已经安装,我安装的是24.3.5.47
  • zabbix-agent 已经安装并配置。
  • 系统是ubuntu 2204 server

1. 新建监控用户

使用xml的方式为clickhouse新增一个用户,接下来我们会在zabbix中使用这个用户来监控clickhouse的性能。

/etc/clickhouse-server/users.d/目录下新建一个zabbix.xml文件。

vim /etc/clickhouse-server/users.d/zabbix.xml

添加以下内容:

<clickhouse>
    <users>
        <zabbix>
            <password remove='1' />
            <password_sha256_hex>f6e248ea994f3e342f61141b8b8e3ede86d4de53257abc8d06ae07a1da73fb39</password_sha256_hex>
            <allow_databases>
            <database>system</database>
            </allow_databases>
        </zabbix>
    </users>
</clickhouse>
  • password_sha256_hex: 这里使用的加密方式为password_sha256_hex。使用下面的命令生成password_sha256_hex散列值。

    echo -n "your_password" | sha256sum
    

    上述命令会生成以下输出。

    4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc  -
    

    其中"your_password"是你的明文密码,字符串‘4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc’是sha256加密后的字符串。

  • allow_databases:allow_databases标签是指定允许用户访问的数据库,由于clickhouse的监控值保存在system数据库中,这里我们要指定system数据库。

2.在 ClickHouse 上启用 HTTP API

ClickHouse 提供了一个内置的 HTTP API,可以通过它采集 ClickHouse 的性能指标。

2.1启用 ClickHouse HTTP API: ClickHouse 默认通过 8123 端口提供 HTTP API。确保该端口对 Zabbix Server 是开放的:

sudo ufw allow 8123/tcp
sudo ufw reload

2.2验证 ClickHouse HTTP API: 你可以通过以下命令测试是否可以通过 HTTP 访问 ClickHouse:

curl 'http://localhost:8123/?query=SELECT+1'

在这里插入图片描述
如果出现上图所示的响应“1”说明API已经开启。

接下来使用下面的命令检查clickhouse的测量值。

curl 'http://localhost:8123/?query=SELECT+metric,+value+FROM+system.metrics'

在这里插入图片描述
使用zabbix监控时还需要检查能否通过ip地址获取clickhouse的测量值。

在这里插入图片描述
如果使用IP地址无法获取clickhouse的测量值时请检查clickhouse的config.xml配置:

<http_port>8123</http_port>
<http_interface>0.0.0.0</http_interface>

3.为clickhouse主机添加监控模板

进入zabbix的管理页面,找到“配置—–主机”,在右侧列表中点击打开你要配置的clickhouse主机,然后在配置项“主机”中找到模板,并添加Clickhouse by HTTP模板。
在这里插入图片描述
还是在配置页面中,点击“宏”选项卡,添加第一步中我们新增的clickhouse 的zabbix用户及密码。

在这里插入图片描述
完成上面的配置之后,在clickhouse服务器上重启zabbix-agent服务。

systemctl restart zabbix-agent

4.查看监控数据

到监测选项面板中查看clickhouse的监控数据,如果没有数据就等几分钟数据就会出来了。

在这里插入图片描述
好了,我们先配置了单机版的监控,接下来再配置clickhouse集群的监控。有了监控数据,在使用clickhouse时,特别是进行性能优化时会让你有一种如虎添翼的感觉,所有的优化项都有数据支持了。

在这里插入图片描述

;