prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)

监控主机信息和容器

  • 配置node_exporter

    node_exporter --help # 获取帮助信息
    node_exporter --web.listen-address=":9100" --web.telemetry-path="/metrics" # 默认的监听端口、metrics路径
    –no-collector.arp # 禁用收集器

    textfile 加载自定义metrics
    /usr/sbin/node_exporter --collector.textfile.directory="" --collector.systemd --collector.systemd.unit-whitelist="(docker|ssh|rsyslog).service"

    限制收集指标类型
    a) 方式1:启动参数配置,通过配置白名单、禁用收集器、ignore过滤等方式
    b) prometheus.conf添加特定收集器列表

    - job_name: 'node'
      static_configs:
          - targets: [...:9100]
            params:
                collect[]:
                    - cpu
                    - meminfo
                    - diskstats
                    - netdev
    测试:curl -g -X GET http://...:9100/metrics?collect[]=cpu
    
  • 监控docker容器

    /usr/bin/cadvisor -logtostderr --logtostderr --docker_only=true --disable_metrics=process,udp,tcp,percpu,process,sched --housekeeping_interval=10s

    配置prometheus.conf
    kubernetes_sd_configs模块加载k8s或者使用static_configs:

抓取的生命周期

覆盖scheme和metrics_path参数配置
prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)_第1张图片
抓取生命周期简化版本:

  • 此处需要注意:relable_configs是在抓取前配置(针对所有指标),metrics_relabel_configs是在抓取之后、保存到时序数据库前配置,可以再次过滤(针对特定metrics)
    prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)_第2张图片

  • 删除指标

    _name_是普罗米修斯预留的标签,表示metrics的名字;
    删除匹配的metrics名称;keep是保留匹配metrics,其他都删除
    prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)_第3张图片

    • 多个source_labels标签值需要用’;'分割开:替换标签值
      prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)_第4张图片

    • 删除标签值

      labelkeep:保留匹配的标签值
      在这里插入图片描述

USE方法获取指标

USE方法:使用率、饱和度和错误指标.

  • cpu指标

    a) 使用率
    在这里插入图片描述
    b) 饱和度
    cpu负载大于cpu核数的2倍
    在这里插入图片描述

  • 内存指标

    a) 内存使用率
    在这里插入图片描述
    b) 内存饱和度

    ·node_vmstat_pswpin:系统每秒从磁盘读到内存的字节数
    ·node_vmstat_pswpout:系统每秒从内存写到磁盘的字节数
    乘以1024表示MB
    prometheus: exporter启动、抓取生命周期、向量匹配、路由(分组、去重、静匿)_第5张图片

  • 磁盘指标

    磁盘类似上面,特别注意磁盘有一个predict_linear,可以预测磁盘使用趋势.
    此处事件跨度是1h,预测时间范围是4h.
    在这里插入图片描述

向量匹配

  • 分组匹配

    操作符 备注
    by 通过某些标签分组
    without 去除某些标签分组
  • 多对一和一对多匹配

    group_right和group_left决定那边标签多;on和ignoring表示匹配/忽略某些标签 on和ignoring也可以用在一对一中
    在这里插入图片描述
    路由(分组、去重、静匿)

    路由:route,支持子路由(routes)
    分组:group_by,根据标签分组

    告警发送需要注意下面3个参数含义:
    group_wait:第一次告警触发等待时间
    group_interval:同一分组内告警下次发送需等待时间(按照分组标签决定)
    repeat_interval:单个告警重复发送时间

你可能感兴趣的:(#,prometheus)