Prometheus02-服务发现

静态配置

通过在prometheus.yaml文件下添加job_name字段及相应内容

vim /path/to/prometheus.yaml

global:
  scrape_interval: 15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:
 
scrape_configs:
- job_name: "static_node_exporter"
  static_configs:
  - targets:
    - 10.1.1.13:9100
    labels:
      "app": "node_exporter"
      "job": "node"
- job_name: xxx

基于文件的服务发现

将被监控主机的信息写入json文件或yaml文件中,prometheus读取文件获得主机信息
如下提供了两种方式

1.创建json或yaml文件,存放被监控主机信息
mkdir -p /usr/local/prometheus/files_sd/targets

# 以下为yaml格式
vim nodes.yaml
- targets:
  - 192.168.13.140:9100
  - 192.168.13.120:9100
  labels:
    app: node-exporter
    job: node

# 以下为json格式
vim nodes.json
[{
    "targets": [
        "192.168.13.140:9100",
        "192.168.13.141:9100",
    ],
    "labels": {
        "datacenter": "beijing"
    }
}]


2.修改prometheus配置文件
vim prometheus.yml
scrape_configs:
  - job_name: 'prometheus'
    file_sd_configs:
    - files:  # 自定义的和Prometheus程序同级目录的targets目录
      - targets/prometheus-server.yaml # 指定服务发现的文件
      refresh_interval: 5m

  - job_name: 'node'
    file_sd_configs:
    - files:
      - targets/nodes.yaml # 可以使用json或yaml格式
      refresh_interval: 5m

3.检查配置文件
promtool check config /apps/prometheus/prometheus.yml

4.重启prometheus

基于DNS的服务发现

对DNS域名进行定期扫描,发现待监控的主机
DNS服务器由/etc/resolv.conf文件指定
该机制依赖于A、AAAA、SRV记录

基于DNS的服务发现
- job_name: webapp
  dns_sd_configs:
    - name: [ 'prometheus.example.com' ]
      type: A
      port: 91

默认情况下, Prometheus的DNS服务发现假定你会查询SRV或服务记录。
服务记录是一种在DNS配置中定义服务的方法,服务通常由运行服务的一个或多个目标主机和端口组合组成。

DNS SRV条目的格式如下所示:
_service._proto.name. TTL class SRV priority weight port target

_service     服务名称,前缀 _ 是为了防止与DNS 标签(域名)冲突
proto        服务使用的通讯协议 通常是 tcp udp
name         此记录有效域名
TTL          标准DNS class 字段,通常为IN
priority     记录优先级,数值越小,优先级越高。 [0-65535]
weight       记录权重,数值越大,权重越高。[0-65535]
port         服务使用端口
target       使用服务的主机地址名称

示例SRV记录
_prometheus._tcp.example.com. 300 IN SRV 10 1 9100 webapp1.
_prometheus._tcp.example.com. 300 IN SRV 10 1 9100 webapp2.

基于consul的服务发现

posted @   立勋  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示