2017年10月16日:

使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana

---------

两个月前试用了基于 elasticsearch + xpack (watch) 的监控系统,发现了一个问题:elasticsearch 作为时序数据库使用时性能较差,在我目前的硬件配置下(es 主机内存 8G),使用 grafana 展示两个月以上的数据时,在读取数据的过程中出现明显卡顿,es 的资源占用率几乎到100%。因此,我又试用了 基于 influxdb+kapacitor 的监控系统。

1. 数据搜索性能

初步印象:搜索大量时序数据时 influxdb 的性能强于 es。可能是 es和 influxdb的定位本来就不同,一个是全文搜索引擎,一个是时序数据库,术有专攻。

2. 资源占用率

influxdb 资源占用率显著低于 es,可能与它用 go 语言编写有关

3. 报警功能

influx 的 kapacitor 功能与 es 的 watch (在 x-pack 包中) 类似,都可以用作报警,influx 还提供了 ui 系统 chronograf 来管理 kapacitor,借助 chronograf 可以无障碍的编写报警监控任务。这一点比 es 的 watch 方便多了。

kapacitor 支持 http post 方式发送报警信息,数据是 json 格式,其中 "message" 键的值可以自定义。为了能通过 http post  发送 短信报警,我另外编写了一个 restful 的短信发送服务器,可以接收包含 "message" 键值的 json 数据,( "message" 的值包含手机号码和短信内容,用 | 隔开),并发送短信:

{“message”:"138000000,156000000 | 短信报警内容"}

附1:kapacitor http post 发送的数据内容

{
"id":"...",
"message":"值可以在chronograf ui上自定义",
"details":"...",
"time":"...",
"duration":..,
"level":"...",
"data":...
}

附2:通过 chronograf 创建 kapacitor 监控报警任务

* 选择时序数据

* 设置报警条件

* 设置报警信息

[经验交流] 试用基于 influxdb+kapacitor 的监控系统的更多相关文章

  1. 项目-基于视频压缩的实时监控系统--tiny6410

    项目-基于视频压缩的实时监控系统--tiny6410 @国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 st ...

  2. 【监控】使用 Grafana、collectd 和 InfluxDB 打造现代监控系统

    参考资料:Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器:http://www.oschina.net/p/grafana 使用 Grafana.collectd 和 ...

  3. 嵌入式应用开发第四阶段-基于rk3399的视频监控系统

    一.需求分析 伴随着嵌入式技术.图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身的不足,已经无法满足现代社会应用中不断涌现出来的新需求,于是基于嵌入式技术 ...

  4. lite-monitor 一款基于shell命令的监控系统

    介绍 lite-monitor 一款基于shell命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息. lite-monitor能做什么: 定时监控某个服务进程是否 ...

  5. 手把手搭建一套基于 Sentry 的异常监控系统

    手把手搭建一套基于 Sentry 的异常监控系统 Sentry 开源版 DevOps refs https://github.com/getsentry/sentry sentry-anomaly-m ...

  6. 使用 Grafana、collectd 和 InfluxDB 打造现代监控系统

    想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数 ...

  7. [经验交流] 试用 grafana 报警功能

    1. grafana 概述 grafana 是一款优秀的数据展示工具,几乎是各类时序数据库的前端标配系统.grafana 在V4版本中已经加入了报警功能. 2. influxdb 概述 influxd ...

  8. 基于视频压缩的实时监控系统-sprint1基于epoll架构的采集端程序设计

    part1:产品功能 part2:epoll机制   select与epoll区别 1.select与epoll没有太大的区别.除了select有文件描述符限制(1024个),select每次调用都需 ...

  9. \阶段4-独挡一面\项目-基于视频压缩的实时监控系统\Sprint2-采集端图像采集子系统设计

    1.在编写程序前有一个流程,思维导图: 初始化:包括初始化摄像头:注册事件到epoll 然后是开始启动采集:一旦开始采集我们的摄像头就会有数据了,它会触发事件处理函数:我们在这里的处理是保存这个图像: ...

随机推荐

  1. django捡破烂

      一 Django的model form组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库 ...

  2. Web项目中的 /

    如果 /  出现在路径的前面: web.xml中:http://loclalhost:8080/项目名称/      在项目的根路径下面 jsp中: http://localhost:8080/    ...

  3. python中的线程技术

    #!/user/bin/env python # @Time :2018/7/7 11:42 # @Author :PGIDYSQ #@File :DaemonTest.py import threa ...

  4. 软工+C(9): 助教指南,持续更新...

    上一篇:提问与回复 下一篇:从命令行开始逐步培养编程能力(Java) 目录: ** 0x00 Handshake ** 0x01 点评 ** 0x02 评分 ** 0x03 知识储备 ** 0x04 ...

  5. jmeter学习记录--04--Beanshell

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanSh ...

  6. AOP - 2 实例(SpringBoot 注解方式)

    1.创建Spring Boot项目 创建一个Spring Boot 项目,然后pom中引入web 模块与AOP相关依赖. <dependency> <groupId>org.s ...

  7. 一、操作m'y's'ql

    一.创建framework框架的控制台默认不支持mysql

  8. AB PLC教程

      把文档贴到Blog.BBS或个人站等: 复制 预览 普通尺寸(450*500pix) 较大尺寸(630*500pix)

  9. MySQL架构备份之M-S-S级联备份

    M--S1--S2 级联复制 master—>slave1—>slave2 master需要开启二进制日志 中间的slave1也需要打开二进制日志,但是它默认不把应用master的操作记录 ...

  10. 小白月赛13 小A与小B (双向BFS)

    链接:https://ac.nowcoder.com/acm/contest/549/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...