Prometheus

从Prometheus架构图中就可以看出,他的数据源来源于各个target以及Pushgateway。
Prometheus_第1张图片

一、部署

  1. 下载
    下载地址
  2. 配置

Prometheus_第2张图片
配置信息详解
3. 启动

./prometheus --config.file=prometheus.yml
  1. 数据访问

学习表达式语法

  1. 监控targets
    Prometheus_第3张图片
  2. 配置聚合规则
    prometheus.rules.yml
groups:
- name: cpu-node
  rules:
  - record: job_instance_mode:node_cpu_seconds:avg_rate5m
    expr: avg by (job, instance, mode) (rate(node_cpu_seconds_total[5m]))

prometheus.yml:
Prometheus_第4张图片

二、组成

1、数据模型

Prometheus将所有数据存储为时间序列。

组成:

  1. metric:需要度量的参数名称
  2. label:该参数对应的标签名及对应的值,可用于过滤同一个metric下不同情况下对应的不同值;

其命名规则如下:

  • metric名称:满足正则:[a-zA-Z_:][a-zA-Z0-9_:]*
  • metric名称::主要用于用户定义的规则;
  • label名称:满足正则[a-zA-Z_][a-zA-Z0-9_]*
  • label名称:以__开头的label标签名用于系统内部使用;
  • label值:可以任一的unicode字符;

2、Metric类型

  1. Counter:是一个累积度量,表示单个单调递增的计数器,其值只能在重新启动时增加或重置为零。

  2. Gauge:表示可以任意上升和下降的单个数值。

  3. Histogram:例如针对观察的样例(例如针对一段时间的请求或请求返回的大小)可灵活配置和统计。
    一个Histogram metric一次获取数据产生多个时间序列 :

    a. 计数器样式: _bucket{le=""}

    b. 总值:_sum

    c. 条目统计:_count

  4. Summary:与Histogram类似,其可动态随时间更改而变化。

3、Job 和Instance

Instance:可以获取数据的端点称之为Instance;
Job:相同目的Instance集合称之为Job;

你可能感兴趣的:(Prometheus,linux,服务器)