第一节:Prometheus 简介

发布于 2019-06-10  3 次阅读


什么是TSDB?

TSDB(Time Series Database) 时间序列数据库,简称时序数据库,简单理解就是一个用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引。

时序数据库的特点

1.大部分时间都是写入操作

2.写入操作几乎是顺序添加,大多数时候数据到达后都以时间排序

3.写操作很少写入很久之前的数据,也很少更新数据,大多数情况在数据被采集到数秒挥着数分钟后都会被写入数据库。

4.删除操作一般为区块删除,选定开始的离职时间并指定后续的区块,很少单独删除某个时间或者断开的随机时间的数据。

5.基本数据大,一般超过内存大小,一般选取得只是其中一小部分且没有规律,缓存几乎不起任何作用。

6.读操作是十分典型得升序或者降序的顺序度(顺序读效率高)

7.高并发的读操作十分常见

常见的时间序列数据库

什么是Prometheus?

Prometheus是由前Google工程师从2012年开始再Soundcloud以开源软件的形式进行研发的系统监控和告警工具包,他现在是一个独立的开源项目,可以独立与任何公司进行维护,为了证明这一点,Prometheus于2016年5月加入CNCF基金会,成为继kubernetes之后的第二个CNCF托管项目。

Prometheus 的优势

1.由指标名称和key/value键值对标签标识的时间序列数据组成的多维数据模型

2.强大的查询语言PromQL

3.不依赖分布式存储,单个服务节点具有自治能力。

4.时间序列数据是服务端通过http协议主动拉取获得的,也可以通过中间网关来推送时间序列数据。

5.可以通过静态配置文件或者服务发现来获取监控目标

6.支持多种类型的图表和仪表盘。

Prometheus的组件

Prometheus生态系统由东哥组件组成,其中有许多组件是可选的:

1.Prometheus Server作为服务端,用来存储时间序列数据。

2.客户端用来检测应用程序代码,用于支持临时任务的推送网关

3.Exporter用来监控haproxy,statsD,Graphite等特殊的监控目标,并向Prometheus提供标准格式的监控样本数据

4.alartmanager用来处理告警

5.其他周边可选工具

其中大多数组件都是用go语言编写,因此很容易构建和部署静态二进制文件。

Prometheus的架构


一个幽默,喜欢动漫,音乐,爱小动物,逐渐成为二次元肥宅的LINUX运维工程师,我会用心写博客,刚开始写的不太好。但是我会不断进步的!。就像我的博客下面写的。我宁愿做错,也不愿什么都不做 ps:好像是伊泽瑞尔说的,看来你游戏没少玩啊 23333333333333