您好,登录后才能下订单哦!
prometheus 介绍
Prometheus是一个开源的系统监控和报警工具包,普罗米修斯在2016年加入了云原生计算基金会,成为继Kubernetes之后的第二个项目。
普罗米修斯的主要特征是:
多维数据模型,时间序列数据由度量名称和键/值对标识
PromQL是一种灵活的查询语言,可以利用这种维度
不依赖分布式存储;单个服务器节点是自治的
时间序列收集通过HTTP上的拉模型进行
通过中间网关支持时间序列的推送
通过服务发现或静态配置发现目标
多种模式的绘图和仪表板的支持
架构图
组件
prometheus server 端 负责定时在目标上抓取metrics(指标)数据,每个抓取目标都需要暴露一个http 服务接口用于 prometheus 定时抓取,这种调用监控对象获取监控数据的方式称为pull
prometheus client 端 为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server
Push Gateway:主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在
Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
Exporters:支持如 HAProxy,StatsD,Graphite,Redis 一类的服务;
Alertmanager:从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
prometheus 核心概念
1、指标
prometheus 所有的监控指标(Metric) 被统一定义为
<metric name >{<label name>=<label value>, ...}
指标名称说明指标的含义,例如 tcp_request_total 代表 tcp 的请求总数
指标名称必须由 字母、数值下画线或者冒号组成,符合正则表达式
如 [a-zA-Z:][a-zA-Z0-9:]*。
标签(label) 用于过滤和聚合
2、数据采集
prometheus 采用pull 方式采集监控数据,和采用push 方式采集监控数据不同,
push 方式,agent 主动上报数据,可以将采集的数据立即上报到监控中心,push 方式本地不会保存采集的数据,agent 本身是无状态的服务,master 需要维护各种agent 状态
pull 方式 master 主动拉取 agent 的数据,周期性采集,采集时间为30s 或者更长时间,
agent 本身需要一定的数据存储能力,master 只负责简单的数据拉取
3、数据处理
prometheus 支持数据处理,主要包括 relabel 、replace、keep、drop
4、数据存储
prometheus 支持本地存储和远程存储两种方式
5、数据查询
prometheus 使用promQL 查询
6、告警
prometheus 本身不会对报警进行处理、需要借助一个组件alertmanager ,prometheus 会配置alertmanager 地址,这样prometheus 发出的告警记录变可以发送到alertmanager 进行处理
部署方式
二进制部署
下载
wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz
tar zxf prometheus-2.14.0.linux-amd64.tar.gz && cd prometheus
修改配置文件
scrape_configs:
The job name is added as a label job=<job_name>
to any timeseries scraped from this config.
job_name: 'prometheus'
metrics_path defaults to '/metrics'
scheme defaults to 'http'.
static_configs:
targets: ['localhost:9090'] # 默认localhost
启动 prometheus
nohup /opt/prometheus/prometheus --config.file=prometheus.yml &
访问
http://localhost:9090/graph
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。