Prometheus实战篇:Prometheus简介

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。

什么是Prometheus

    Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。

Prometheus的特点

多维数据模型:由度量名称和键值对标识的时间序列数据
时序数据,是在一段时间内通过重复测量(measurement)而获得的观测值的集合;将这些观测值绘制于图形之上,它会有一个数据轴和一个时间轴;

服务器指标数据、应用程序性能监控数据、网络数据等也都是时序数据;

1.内置时间序列(pime series)数据库:Prometheus;外置的远端存储通常会用:InfluxDB、openTsDB等
2.promQL一种灵活的查询语言,可以利用多维数据完成复杂查询
3.基于HTTP的pull(拉取)方式采集时间序列数据
4.同时支持PushGateway组件收集数据
5.通过服务发现或者静态配置,来发现目标服务对象
6.支持作为数据源接入Grafana

核心组件

Prometheus Server,主要用于抓取数据和存储时序数据,另外还提供查询和Alert Rule配置管理

client libraies,用于检测应用程序代码的客户端库

push gateway,用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等

exporters,收集监控样本数据,并以标准格式向Prometheus提供.例如:收集服务器系统数据的node_exporters,收集Mysql监控样本数据的Mysql exporters等等

用于告警通知管理的alertmanager

关于Zabbix

    zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。

Prometheus与Zabbix的对比

Prometheus对比Zabbix
Zabbix Prometheus
后端用C开发,界面用PHP开发,定制化难度很高 后端用golang开发,前端是Grafana,JSON编辑即可解决定制化难度较低
6.0支持单个Zabbix实例监控超过10万个业务场景 支持更大的集群规模,速度也更快
更适合监控物理机环境(物理主机,交换机,网络等监控) 更适合云环境的监控,对OpenStack,k8s有更好的集成
监控数据存储在关系数据库内,如Mysql,很难从现有数据中拓展维度 监控数据存储在基于时间序列的数据库内,便于对已有数据进行新的聚合.十万级监控数据,Prometheus数据查询速率比Zabbix更快
安装简单,zabbix-server一个软件包中包括了所有的服务端功能 安装相对复杂,监控,告警,和界面部分都属于不同的组件
图形化界面比较成熟,界面上基本上都能完成全部的配置操作 界面相对较弱,很多配置需要修改配置文件
发展时间更长,对于很多监控场景,都有现成的解决方案 2015年后开始快速发展,发展时间短,但现在也非常成熟
相关文章
|
3月前
|
Prometheus Cloud Native 机器人
Prometheus告警简介
Prometheus告警简介
|
4月前
|
消息中间件 Prometheus 监控
Prometheus实战篇:什么是Exporter
所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter.而Exporter的一个实例称为target,如图下所示, Prometheus通过轮询的方式定期从这些target中获取样本数据
|
2月前
|
Prometheus Kubernetes 监控
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus实战篇:Prometheus监控docker
Prometheus实战篇:Prometheus监控docker
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus实战篇:Prometheus监控mongodb
Prometheus实战篇:Prometheus监控mongodb
|
3月前
|
消息中间件 Prometheus 监控
Prometheus实战篇:Prometheus监控rabbitmq
Prometheus实战篇:Prometheus监控rabbitmq
|
3月前
|
Prometheus 监控 Cloud Native
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus实战篇:Prometheus监控nginx
在此专栏的前几篇文章中已经准备了一台服务器作为我们进行环境的准备.大家也可以通过虚拟机创建俩台服务器,一台作为Prometheus的安装另外一台进行其他软件安装并且进行监控的服务器.
|
4月前
|
存储 Prometheus 监控
prometheus实战篇:prometheus相关概念
在安装好Prometheus后,会暴露一个/metrics的http服务(相当于安装了prometheus_exporter),通过配置,Prometheus就可以采集到这个/metrics下的所有监控样本数据.
|
4月前
|
Prometheus Cloud Native 数据安全/隐私保护
Prometheus实战篇:docker安装Prometheus
Docker搭建Prometheus监控系统