一、介绍
1.基本概念
prometheus是一种时间序列的数据库,适合应用于监控以及告警,但是不适合100%的准确计费,因为采集的数据不一定很准确,主要是作为监控以及收集内存、CPU、硬盘的数据。
前身是SoundCloud警告工具包,在2016年继Kubernetes之后,加入了 Cloud Native Computing Foundation
1.1 主要特征
多维数据模型(时序数据由 metric名和一组 key/value组成)
在多维度上灵活的查询语言(PromQI)
不依赖分布式存储,单主节点工作
通过基于HTTP的pull方式采集时序数据
也通过中间网关进行时序数据推送(pushing)
通过服务发现或静态配置,来发现目标服务对象
多种可视化和仪表盘支持,如grafana
1.2 核心组件
1.3 整体架构
Prometheus vs Zabbix
Zabbix 使用的是 C 和 PHP, Prometheus 使用 Golang, 整体而言 Prometheus 运行速度更快一点。
Zabbix 属于传统主机监控,主要用于物理主机,交换机,网络等监控,Prometheus 不仅适用主机监控,还适用于 Cloud, SaaS, Openstack,Container 监控。
Zabbix 在传统主机监控方面,有更丰富的插件
Zabbix 可以在 WebGui 中操作配置,Prometheus 需要手动修改文件配置。
总结
Prometheus 属于一站式监控告警平台,依赖少,功能齐全
Prometheus 支持对云或容器的监控,其他系统主要对主机监控
Prometheus 数据查询语句表现力更强大,内置更强大的统计函数
Prometheus 在数据存储扩展性以及持久性上没有 InfluxDB,OpenTSDB,Sensu 好