请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

本文来自

安全运维工具

安全运维工具

人已关注

请添加对本版块的简短描述

Zabbix 监控 ClickHouse

[复制链接]
4090 abc 发表于 2019-11-5 17:52:38
转载本文请注明出处:https://www.cnblogs.com/skyflask/p/10557162.html

    目录
    一、ClickHouse介绍
    二、ClickHouse监控
    三、源码

一、ClickHouse介绍
Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。
传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足够高的情形下能正常提供服务。但残酷的是,这种理想情形最终会随着业务的增长走到尽头,查询会变得越来越慢。你可能通过增加更多的内存,订购更快的磁盘等等来解决问题(纵向扩展),但这只是拖延解决本质问题。如果你的需求是解决怎样快速查询出结果,那么ClickHouse也许可以解决你的问题。
应用场景:

    1.绝大多数请求都是用于读访问的
    2.数据需要以大批次(大于1000行)进行更新,而不是单行更新;或者根本没有更新操作
    3.数据只是添加到数据库,没有必要修改
    4.读取数据时,会从数据库中提取出大量的行,但只用到一小部分列
    5.表很“宽”,即表中包含大量的列
    6.查询频率相对较低(通常每台服务器每秒查询数百次或更少)
    7.对于简单查询,允许大约50毫秒的延迟
    8.列的值是比较小的数值和短字符串(例如,每个URL只有60个字节)
    9.在处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行)
    10.不需要事务
    11.数据一致性要求较低
    12.每次查询中只会查询一个大表。除了一个大表,其余都是小表
    13.查询结果显著小于数据源。即数据有过滤或聚合。返回结果不超过单个服务器内存大小



相应地,使用ClickHouse也有其本身的限制:

    1.不支持真正的删除/更新支持 不支持事务(期待后续版本支持)
    2.不支持二级索引
    3.有限的SQL支持,join实现与众不同
    4.不支持窗口功能
    5.元数据管理需要人工干预维护


二、ClickHouse监控

本文不介绍ClickHouse的具体功能,只是讨论监控。牛逼的Altinity公司提供了,clickhouse zabbix监控的脚本及模板,但是导入模板时,发现是3.4版本的,里面有些参数不支持,所以重新制作了3.0版本的模板。

废话不多说,直接说监控过程。

1、前提条件

    确保xmllint已经安装.
    确保clickhouse-client已经安装.
    编辑 /etc/zabbix/zabbix_agentd.conf. 添加内容:

        UserParameter=ch_params
  • ,sh /PATH/TO/zbx_clickhouse_monitor.sh "$1" "HOST_WHERE_CH_IS_RUNNING"

    2、说明

        /PATH/TO/zbx_clickhouse_monitor.sh 取决于你存放的位置
        HOST_WHERE_CH_IS_RUNNING是个可选参数,如果没有指定,localhost是默认使用的。

    3、导入模板

    导入模板:zbx_clickhouse_template.xml

    4、数据展示



    5、图表展示








    三、源码

    附上源码和模板:

    https://github.com/loveqx/zabbix ... template-clickhouse

    另外一个https://github.com/Altinity/clickhouse-zabbix-template
    但目前缺少graphs


  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表