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的服务发现
分类:
Prometheus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律