更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: LINUX
2021-12-16 14:11:13
在学习或者工作的过程中,很多人应该都听说过“Prometheus”,但因为对它不了解,所以不少人会问:什么是Prometheus?Linux中Prometheus是什么意思?小编特为大家整理了这篇文章,希望对你们有用。
Prometheus由Go语言开发,是一套开源的监控、报警、时间序列数据库的组合,适合监控docker容器。因为K8S的流行带动了Prometheus的发展,它可以监控主机、服务、容器。
时间序列数据:按照时间顺序记录系统、设备状态变化的数据被称为时序数据。这种时序数据,会应用到很多场景,比如:系统日志、无人驾驶车辆运行记录、证券行业实时交易数据等。
时间序列数据库优势
性能好:关系型数据库对于大规模数据的处理性能槽糕,NOSQL可以比较好的处理大规模数据,但依然比不上时间序列数据库。
存储成本低:高效的压缩算法,节省存储空间,有效降低IO。
Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G的空间。
Prometheus的主要特征
1、多维度数据模型;
2、灵活的查询语言;
3、不依赖分布式存储,单个服务器节点是自主的;
4、以HTTP方式,通过pull模型拉取时间序列数据;
5、可以通过中间网关支持push模型;
6、通过服务发现或者静态配置,来发现目标服务对象;
7、支持多种多样的图表和界面展示,可以使用第三方的工具来展示内容,比如:grafana。
Prometheus监控原理
Prometheus Server负责定时在目标上抓取metrics数据;每个抓取目标都需要暴露一个HTTP服务接口用于Prometheus定时抓取。也就是说Prometheus会将获取到的监控数据打包成一个可访问的web页面,通过访问指定的url来确定主机的状态。