一、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. SQL Server ->> DAC(Dedicated Administrator Connection)专用管理员连接

    专用管理员连接是一种特殊的SQL Server服务器诊断性质的连接,用于在正常或者说标准连接形式无法连接SQL Server服务器的情况下连接到服务器进行服务器性能或者错误诊断.DAC同样支持安全加密 ...

  2. Vue延迟点击

    从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间 fastclick清除点击延迟,让程序更灵敏 1.导出fastclick import Vue from ...

  3. YUM仓库服务与PXE网络装机

    1.yum:基于RPM包构建软件更新机制自动解决依赖关系,软件包由软件包库提供 提供方式:ftp服务:ftp://IP地址/仓库目录 Http服务:http ://  IP地址/仓库目录 本地目录:f ...

  4. 菜鸟水平如何在Android Studio中添加uiautomator测试框架

    1.启动AS,弹出创建Android Studio项目 2.选择 "Start a new Android Studio project",输入 application name ...

  5. .whl文件打开方式 Python

    wheel文件本质上就是zip或者rar,只不过他更加方便python的安装以及使用.在之前的图片中我们只要使用pip install wheel 就可以安装wheel. 在安装了wheel之后我们可 ...

  6. 洛谷P2057 【SHOI2007】善意的投票

    洛谷P2057 [SHOI2007]善意的投票 题目链接 这道题是最小割的一个经典应用:划分集合. 题目的意思就是就是将所有的小朋友分为两个集合:同意睡觉和不同意睡觉的.不同的集合之间的边都要断开. ...

  7. centos7下安装docker(9容器对资源的使用限制-内存)

                  一个docker Host上面会运行若干容器,每个容器都需要CPU,内存和IO资源.容器提供了控制分配多少CPU,内存给每个容器的机制,避免摸个容器因占用太多资源而影响其他 ...

  8. 【转】字符编码笔记:ASCII、Unicode、UTF-8 和 Base64

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一 ...

  9. jQuery添加自定义函数的三种方法

    原文链接:http://caibaojian.com/284.html 方法一: jQuery.fn.setApDiv=function () { //apDiv浮动层显示位置居中控制 var whe ...

  10. nodejs-stream部分

    参考: https://blog.csdn.net/eeewwwddd/article/details/81042225 http://nodejs.cn/api/stream.html#stream ...