外部普米集中监控多个Prometheus实例
Prometheus Agent 模式-使用推送方式来监控
1.外部Prometheus配置
1.需要开放端口,在启动时,需要配置开放监听端口
--web.enable-lifecycle --config.file=/usr/local/prometheus/prometheus.yml --log.level=warn --storage.tsdb.path=/prometheus
--web.listen-address=0.0.0.0:9090
--storage.tsdb.retention=30d
--web.enable-remote-write-receiver
2.添加prometheus启动参数
--enable-feature=remote-write-receiver
, 用于启用 Prometheus 的远程写入接收器功能
该功能使 Prometheus 实例能够接收来自其他 Prometheus 实例或监控系统的数据,并将其写入本地时间序列数据库中。通过启用远程写入接收器,可以实现集中式监控数据收集和存储,从而简化监控数据管理和分析过程。
具体来说,启用此功能的目的包括:
- 数据聚合和中心化 :通过远程写入接收器,多个 Prometheus实例或其他监控系统可以将监控数据发送到单个集中式存储位置。这样可以更轻松地聚合和管理监控数据,并为用户提供统一的监控数据视图。
- 数据备份和冗余 :将监控数据发送到多个 Prometheus 实例或存储系统可以提供数据备份和冗余。如果一个实例或存储系统发生故障,仍然可以从其他实例或系统中检索数据,确保数据的可用性和持久性。
- 跨数据中心或云环境的监控 :在分布式环境中,可能存在多个数据中心或云环境,各自运行着不同的 Prometheus实例。启用远程写入接收器可以轻松地将不同地理位置或不同云环境中的监控数据集中到单个存储位置,实现统一的跨数据中心或云环境的监控管理。
- 实现监控数据的归档和长期存储 :集中式存储位置可以更好地支持监控数据的归档和长期存储需求。通过启用远程写入接收器,可以将监控数据发送到专门的存储系统或服务,实现对监控数据的有效管理和利用。
3.修改配置后重启prometheus即可
docker restart prometheus
2.各个节点的普米配置
1.修改prometheus.yml
vi prometheus.yml
remote_write:
- url: http://192.168.1.1:9090/api/v1/write
# 标签替换配置
write_relabel_configs:
- source_labels: [instance] # 要替换的源标签
target_label: instance # 替换后的目标标签
replacement: "192.168.1.91" # 替换后的值,可以使用正则表达式
192.168.1.1:9090 外部普米的地址
write_relabel_configs的作用:在 Prometheus 的配置文件中,用于远程写入(remote_write)时对标签进行替换。具体来说,它可以用于以下情况:
- 标签重命名 :有时,当将监控数据写入到远程存储或其他 Prometheus 实例时,可能需要对标签进行重命名以符合目标系统的要求。例如,源系统使用的标签名与目标系统不一致,需要将其映射到目标系统所需的标签名上。
- 标签值替换 :在某些情况下,需要修改标签的值。例如,源系统中的标签值包含了敏感信息或不合规定的内容,需要在写入到远程存储之前将其替换为合适的值
- 标签值修正 :有时,需要根据特