1、scrape_configs 参数介绍
# 默认的全局配置
global:
scrape_interval: 15s # 采集间隔15s,默认为1min一次
evaluation_interval: 15s # 计算规则的间隔15s默认为1min一次
scrape_timeout: 10s # 采集超时时间,默认为10s
external_labels: # 当和其他外部系统交互时的标签,如远程存储、联邦集群时
prometheus: monitoring/k8s # 如:prometheus-operator的配置
prometheus_replica: prometheus-k8s-1
alerting:
alertmanagers:
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
# Prometheus的自身监控 将在采集到的时间序列数据上打上标签job=xx
remote_write:
127.0.0.1:8090
remote_read:
127.0.0.1:8090
2、scrape_configs配置案例
prometheus的配置中,最常用的就是scrape_configs配置,比如添加新的监控项,修改原有监控项的地址频率等。
最简单配置为:
scrape_configs:
完整配置为(附prometheus-operator的推荐配置):
job_name: node-exporter
scrape_interval: 30s
scrape_timeout: 10s
metrics_path: /metrics
scheme: https
params:
name: demo
honor_labels: false
basic_auth:
username: admin
password: admin
password_file: /etc/pwd
bearer_token: kferkhjktdgjwkgkrwg
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
tls_config:
# insecure_skip_verify: true
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
server_name: kubernetes
insecure_skip_verify: false
proxy_url: 127.9.9.0:9999
azure_sd_configs:
consul_sd_configs:
dns_sd_configs:
ec2_sd_configs:
openstack_sd_configs:
file_sd_configs:
gce_sd_configs:
marathon_sd_configs:
nerve_sd_configs:
serverset_sd_configs:
triton_sd_configs:
kubernetes_sd_configs:
static_configs:
如将原始的__meta_kubernetes_namespace直接写成namespace,简洁明了
relabel_configs:
metric_relabel_configs:
3、常见案例
1.获取集群中各节点信息,并按可用区或地域分类
如使用k8s的role:node采集集群中node的数据,可以通过"meta_domain_beta_kubernetes_io_zone"标签来获取到该节点的地域,该label为集群创建时为node打上的标记,kubectl decribe node可以看到。
然后可以通过relabel_configs定义新的值
relabel_configs:
后面可以直接通过node{zone="XX"}来进行地域筛选
2.过滤信息,或者按照职能(RD、运维)进行监控管理
对于不同职能(开发、测试、运维)的人员可能只关心其中一部分的监控数据,他们可能各自部署的自己的Prometheus Server用于监控自己关心的指标数据,不必要的数据需要过滤掉,以免浪费资源,可以最类似配置;
metric_relabel_configs:
action: drop代表丢弃掉符合条件的指标,不进行采集。
3.搭建prometheus联邦集群,管理各IDC(地域)监控实例
如果存在多个地域,每个地域又有很多节点或者集群,可以采用默认的联邦集群部署,每个地域部署自己的prometheus server实例,采集自己地域的数据。然后由统一的server采集所有地域数据,进行统一展示,并按照地域归类
配置:
scrape_configs:
4、服务发现
[root@VM_0_14_centos prometheus]# cat prometheus.yml
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
alerting:
alertmanagers:
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
# The job name is added as a label `job=
job_name: 'prometheus'
static_configs:
job_name: 'harbor_server'
file_sd_configs: ####基于文件的发现
job_name: 'container'
static_configs:
配置文件:
[root@VM_0_14_centos prometheus]# cat /opt/prometheus/file_sd_configs/harbor_monitor.json
[
{
"targets": ["172.19.0.14:9100","124.156.173.164:9100"]
}
]
手机扫一扫
移动阅读更方便
你可能感兴趣的文章