一、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

Zabbix实战-简易教程--DB类--ClickHouse的更多相关文章

  1. Zabbix实战-简易教程--WEB类--Nginx

    一.开启Nginx status状态 1.在默认主机里面加上location添加ngx_status 如下操作: server { listen 127.0.0.1:8080; server_name ...

  2. Zabbix实战-简易教程--业务类

    一.需求 项目要求对线上服务器进行监控,包括服务器本身状态.进程相关数据.业务相关数据. 服务器本身状态可以通过基础模板即可获取数据(CPU.内存.网络.磁盘): 进程相关数据,前面也有相关文章专门监 ...

  3. Zabbix实战-简易教程--订阅类

    一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务 ...

  4. Zabbix实战-简易教程--日志类

    一.主动模式和被动模式介绍 要监控日志,必须使用主动模式,那么,什么是主动模式?什么是被动模式呢? 1.主动模式和被动模式 主动模式 主动模式通讯过程: ● Agent打开TCP连接(主动检测变成Ag ...

  5. Zabbix实战-简易教程系列

    一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...

  6. Zabbix实战-简易教程(6)--Server端高可用

    3.4 server前端高可用    至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的s ...

  7. Zabbix实战-简易教程(3)--DB安装和表分区

    一.DB安装环境 主机角色 主机IP VIP 操作系统版本 软件版本 DB Master A 192.168.1.97 (主从) CentOS 6.5 64bit mysql-5.6.21 DB Sl ...

  8. Zabbix实战-简易教程--技巧一(操作类技巧)

    一.常用操作技巧 1.克隆 监控项.模板.触发器都可以进行克隆.其中,模板克隆又分为克隆和完全克隆.完全克隆会将LLD也一起复制一份,就是和之前的模板一模一样,而模板的克隆只是克隆监控项,不复制低层次 ...

  9. Zabbix实战-简易教程--大型分布式监控系统实现Agent批量快速接入

    一.分布式架构 相信使用zabbix的大神都熟悉他的分布式架构,分布式的优势相当明显,分而治之.比如目前我的架构图如下: 那么,对将要接入监控系统的任何一个agent如何快速定位,并进行接入呢?  问 ...

随机推荐

  1. (网页)textarea去掉回车换行

    转自CSDN: 1,把textarea内输入的内容中有回车换行的转成<br />传给后台, var content = $("#text").val().replace ...

  2. [20180413]热备模式相关问题2.txt

    [20180413]热备模式相关问题2.txt --//上午测试热备模式相关问题,就是如果打开热备模式,如果中间的归档丢失,oracle在alter database end   backup ;时并 ...

  3. [20180319]直接路径读特例12c.txt

    [20180319]直接路径读特例12c.txt --//昨天的测试突然想起以前遇到的直接路径读特例,在12c重复测试看看. 1.环境:SCOTT@test01p> @ ver1 PORT_ST ...

  4. sqlserver序列定时初始化

    1.创建序列 2.序列初始化存储过程 create procedure proDemo as begin alter sequence dbo.序列名 restart with 0; end 3.创建 ...

  5. knockoutjs关于ko.bindingHandlers的updata订阅

    ko.bindingHandlers是先执行init进行初始化数据的绑定(如果需要执行updata进行数据更新可以不用初始化); init: function(element, valueAccess ...

  6. 实验吧web题(26/26)全writeup!超详细:)

    #简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...

  7. Eclipse中定位当前文件在项目中的位置

    点击红色框内的按钮,就能定位当前文件在项目中的位置, 另外, 找到位置后记得再点击一下这个按钮, 要不然每次打开一个文件都会自动定位

  8. iOS解析XML实现省市区选择

    1.具体内容就不再赘述了.直接看关键代码. viewController.h // // ViewController.h // ParseXmlToRealizeChooseCityDemo // ...

  9. WebStorm如何分配运行内存?The IDE is running low on memory...

    vue项目做的后台管理系统做得差不多了,安装的依赖包也越来越大,就在春节放假的前两天,突然发现我的电脑居然带不动WebStorm了,查改一些代码,WebStorm运行迟钝,鼠标滑动严重“掉帧”,让我非 ...

  10. Linux Java 环境配置及内置tomcat部署

    tar zxvf jdk-8u101-linux-x64.tar.gz vi /etc/profile JAVA_HOME=/home/puma/jdk1.8.0_111JAVA_BIN=/home/ ...