• Zabbix实战-简易教程--DB类--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-doc/tree/master/zabbix-scripts/zabbix-template-clickhouse

  • 相关阅读:
    poj 2002 Squares 几何二分 || 哈希
    hdu 1969 Pie
    hdu 4004 The Frog's Games 二分
    hdu 4190 Distributing Ballot Boxes 二分
    hdu 2141 Can you find it? 二分
    Codeforces Round #259 (Div. 2)
    并查集
    bfs
    二维树状数组
    一维树状数组
  • 原文地址:https://www.cnblogs.com/skyflask/p/10557162.html
Copyright © 2020-2023  润新知