互联网级监控系统必备-时序数据库之Influxdb技术
时间序列数据库,简称时序数据库,Time Series?Database,一个全新的领域,最大的特点就是每个条数据都带有Time列。 时序数据库到底能用到什么业务场景,答案是:监控系统。 Baidu一下,互联网监控系统,大家会发现小米、饿了吗等互联网巨头都在用时序数据库实现企业级的互联网监控系统。 很多人会说,用Zabbix不就搞定了,其实不是这样的,简单的主机资源监控、网络监控、小规模的部署环境,Zabbix能搞定。 如果在IDC 上千台服务器环境下,分布式应用架构、各种中间件,这种情况下我们要监控上千台服务的主机资源、网络、按不同纬度监控服务的性能、TPS,监控各类中间件,程序监控埋点。Zabbix就无法 满足需要了。此时,我们要独立搭建自己的监控体系了。说到这,每一个监控图表的背后,都有什么? 1. 时间轴 2. 数据值(不同指标纬度) 例如,一段时间内CPU使用率 这时,各种Google、Baidu之后,你肯定会搜索到Influxdb、OpenTSDB等时序数据库。 Influxdb我们研究了很长的时间,准备用2篇文章,推荐给大家,本文中,我们分享一下Influxdb的关键特性、查询语法和使用场景。 一、Influxdb关键特性 1. 支持类似SQL的查询语法 2.提供了Http Api直接访问 3.存储超过10亿级别的时间序列数据 4.灵活的数据保留策略,可以定义到Database级别(只保留最热的数据) 5.内置管理接口和CMD 6.飞一般速度的聚合查询 7.按不同时间段进行聚合查询 8.内置持续查询功能,定时计算指定时间段的数据,插入到指定表中,可以理解为定时归集数据 9. 水平扩展,支持集群模式 二、Influxdb 版本和.Net支持 1. 根据我们的使用经验,V0.10版本是非常稳定的,V0.9.6我们用过,有内存泄漏问题 2. GitHub上有非常多的.Net Libraby,方便我们写入和读取数据 三、数据写入Write Data(Points) Http API: 支持批量写入 四、查询Query Http API: 支持算术计算: 聚合函数、选择函数、转换函数 五、持续查询(Continuous Queries) 持续查询是Influxdb自动、周期的运行的查询,结果自动存储 设计持续查询的目的是为了规则采样数据,比如按天、按月采样数据 CREATE CONTINUOUS QUERY <cq_name> ON <database_name> [RESAMPLE [EVERY <interval>] [FOR <interval>]] BEGIN SELECT <function>(<stuff>)[,<function>(<stuff>)] INTO <different_measurement> FROM <current_measurement> [WHERE <stuff>] GROUP BY time(<interval>)[,<stuff>] END 六、 监控应用场景 通过上面几个部分的介绍,Influxdb的基本语法就可以掌握了。有什么作用: 1. 实时采集监控数据,按时间写入Influxdb 2. 按不同纬度聚合查询监控数据,用于监控展现 3. 持续查询,定时归集指定时间的数据,用于更大时间范围监控数据的展现 总结一下,场景结合实践,通过实际监控系统的应用,和大家分享了Influxdb的使用和技能。我们自己的监控系统就是通过这个套路一点点搭建起来的。 目前,我们的监控平台,2500个监控项,500台服务器实时监控,每日处理上T数据,几百个监控图表,Influxdb满足了我们日常超大规模监控的需要。 同时,Influxdb在大数据展现领域,也有不俗的表现,Druid的集成也很棒的。 ? 周国庆 2017/7/11 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 新的ASP.NET Web应用程序:有一个Login按钮可以执行某些操作
- asp.net – Automapper ninject依赖项
- angular-JS模仿Form表单提交
- asp.net-web-api – 使用apicontroller对odata EntitySetCo
- asp.net – 如何尊重“从无Cookie域中提供静态内容”IIS6中
- asp.net-mvc-3 – 以下部分已定义,但尚未为布局页面呈现
- ASP.net MVC 4是否有一些标准化的方式来引用JavaScript中的
- 武装你的WEBAPI-OData入门
- asp.net-mvc-3 – ASP.NET MVC 3.0构建视图为64位
- 看看.NET Core几个Options的简单使用
- asp.net-mvc – ASP.NET MVC 4,如何在将视图模型
- asp.net-mvc – 有什么图形设计器ASP.NET MVC吗?
- asp.net – 从ItemDataBound事件中的转发器控件中
- asp.net – UpdatePanel似乎重新编码页面标题中的
- asp.net-mvc – 如何在ASP.NET MVC应用程序中使用
- C#使用Linq to csv读取.csv文件数据
- 【译】ASP.NET Core在 .NET Core 3.1 Preview 1中
- asp.net-mvc-2 – ASP.NET MVC 2 Area文件夹中有
- asp.net简单生成XML文件的方法
- Response.Flush不工作ASP.NET