prometheus概述
所属分类 prometheus
浏览量 1457
https://prometheus.io/docs/introduction/overview/
Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
开源系统监控和警报工具包,最初在SoundCloud上构建
Since its inception in 2012, many companies and organizations have adopted Prometheus,
and the project has a very active developer and user community.
To emphasize this, and to clarify the project's governance structure,
Prometheus joined the Cloud Native Computing Foundation in 2016 as the second hosted project, after Kubernetes.
为了强调这一点,并阐明该项目的治理结构,普罗米修斯于2016年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。
main features
a multi-dimensional data model with time series data identified by metric name and key/value pairs
PromQL, a flexible query language to leverage this dimensionality
no reliance on distributed storage; single server nodes are autonomous
time series collection happens via a pull model over HTTP
pushing time series is supported via an intermediary gateway
targets are discovered via service discovery or static configuration
multiple modes of graphing and dashboarding support
多维数据模型,包含由度量名称和键/值对标识的时间序列数据
PromQL是一种灵活的查询语言,可以利用这种维度
不依赖分布式存储;单个服务器节点是自治的
时间序列收集通过HTTP pull方式进行
推送时间序列是通过一个中间网关来支持的
目标是通过服务发现或静态配置发现的
多种模式的图形和仪表盘支持
Components
The Prometheus ecosystem consists of multiple components, many of which are optional:
the main Prometheus server which scrapes and stores time series data
client libraries for instrumenting application code
a push gateway for supporting short-lived jobs
special-purpose exporters for services like HAProxy, StatsD, Graphite, etc.
an alertmanager to handle alerts
various support tools
大部分组件是可选的
server 抓取和存储时序数据
检测应用代码的客户端库
推送网关支持短任务
专用数据导出服务
报警工具
多种支持工具
Most Prometheus components are written in Go, making them easy to build and deploy as static binaries.
大部分组件用Go编写,静态二进制文件易于构建和部署。
Prometheus scrapes metrics from instrumented jobs,
either directly or via an intermediary push gateway for short-lived jobs.
It stores all scraped samples locally and runs rules over this data to either aggregate
and record new time series from existing data or generate alerts.
Grafana or other API consumers can be used to visualize the collected data.
抓取指标 ,直接或通过网关推送
本地存储 ,根据规则聚合 生成新的时序数据或生成报警
Grafana或其他API使用者可用于可视化收集的数据。
When does it fit?
Prometheus works well for recording any purely numeric time series.
It fits both machine-centric monitoring as well as monitoring of highly dynamic service-oriented architectures.
In a world of microservices, its support for multi-dimensional data collection and querying is a particular strength.
Prometheus is designed for reliability,
to be the system you go to during an outage to allow you to quickly diagnose problems.
Each Prometheus server is standalone, not depending on network storage or other remote services.
You can rely on it when other parts of your infrastructure are broken,
and you do not need to setup extensive infrastructure to use it.
适用场景
纯数字时序数据
以机器为中心的监控 动态的面向服务的监控
在微服务的世界中,它对多维数据收集和查询的支持是一个特别的优势。
为可靠性而设计
每台服务器是独立的,不依赖网络存储或其他远程服务
When does it not fit?
Prometheus values reliability.
You can always view what statistics are available about your system, even under failure conditions.
If you need 100% accuracy, such as for per-request billing,
Prometheus is not a good choice as the collected data will likely not be detailed and complete enough.
In such a case you would be best off using some other system to collect and analyze the data for billing,
and Prometheus for the rest of your monitoring.
不适用的场景
不适合用于 百分百准确的,按请求计费的场景
收集的数据不够详细和完整
上一篇
下一篇
时间序列数据库要点整理
内核参数设置及优化
高可用架构简单介绍
linux内核版本与系统版本查看以及x86与x86_64的区别
prometheus FAQ 要点整理
prometheus使用入门