prometheus

Metrics 类型

  • Counter:  单调递增,例如请求的数量或错误的次数

    例如:http_requests_total 记录了HTTP请求的总数

  • Gauge:可以任意递增递减,适合表示瞬时值
  • Histogram  
    • 用于记录观察结果的分布情况,例如请求的响应时间。

      数据类型可以收集不同区间的数据,并自动计算总和、计数和量化值。

      例如:request_duration_seconds 可以记录不同响应时间区间的请求数量

  • Summary相比Histogram允许自定义量化值

 

配置文件

 1 global:
 2   scrape_interval: 30s        # 抓取间隔
 3   scrape_timeout: 30s         # 单次抓取超时时长
 4   evaluation_interval: 30s    # 告警规则评估间隔
 5 scrape_configs:
 6 - job_name: kubernetes-service-endpoints
 7   honor_timestamps: true      # prometheus使用目标提供的时间戳(如果存在)而不是抓取的时间戳
 8   scrape_interval: 30s        # job的抓取间隔
 9   scrape_timeout: 30s         
10   metrics_path: /metrics      # 默认指标路径
11   scheme: http                # 使用http协议进行抓取
12   follow_redirects: true
13   relabel_configs:
14   - source_labels:
15     - __meta_kubernetes_service_annotation_prometheus_io_scrape
16     separator: ;
17     regex: 'true'             # 抓取特定注释的服务,例如k8s服务中xxxx_prometheus_io_scrape: true
18     replacement: $1
19     action: keep
20   - source_labels:
21     - __meta_kubernetes_service_annotation_prometheus_io_scheme
22     separator: ;
23     regex: (https?)         # 将k8s服务注释中的io_schema值(https/http)映射到prometheus的_scheme标签
24     target_label: __scheme__
25     replacement: $1
26     action: replace
27   - source_labels:
28     - __meta_kubernetes_service_annotation_prometheus_io_path
29     separator: ;
30     regex: (.+)
31     target_label: __metrics_path__      # 同上映射path
32     replacement: $1
33     action: replace
34   - source_labels:
35     - __address__
36     - __meta_kubernetes_service_annotation_prometheus_io_port
37     separator: ;
38     regex: ([^:]+)(?::\d+)?;(\d+)
39     target_label: __address__
40     replacement: $1:$2                # 拼抓取地址
41     action: replace
42   - separator: ;
43     regex: __meta_kubernetes_service_label_(.+)   # 映射所有prometheus服务的标签
44     replacement: $1
45     action: labelmap
46   - source_labels:
47     - __meta_kubernetes_namespace                 # 映射namespace
48     separator: ;
49     regex: (.*)
50     target_label: kubernetes_namespace
51     replacement: $1
52     action: replace
53   - source_labels:
54     - __meta_kubernetes_service_name
55     separator: ;
56     regex: (.*)
57     target_label: kubernetes_name                 # 映射kubernetes的名字
58     replacement: $1
59     action: replace
60   kubernetes_sd_configs:
61   - role: endpoints
62     follow_redirects: true

 

 

 
posted @ 2024-09-06 16:16  fanrucong  阅读(41)  评论(0)    收藏  举报