Prometheus配置remote_read读取自定义指标返回405 Method Not Allowed排查
问题核心原因
你混淆了Prometheus的两个不同配置项的用途,405报错完全是配置用错导致的:
remote_read是Prometheus用于从兼容的远程存储系统读取已采集完成的历史指标的配置,该配置触发的请求默认是POST方法,而你开发的接口仅支持GET方法,所以直接返回405 Method Not Allowed。- 你需要的是让Prometheus定时主动拉取暴露的指标,应该用
scrape_configs配置项,而非remote_read。
你之前用curl、浏览器访问接口正常,是因为这两类客户端默认发的都是GET请求,和地址写localhost还是主机名没有关联。
正确配置方式
修改prometheus.yml,删除你之前加的remote_read配置,在scrape_configs节点下新增如下抓取任务:
scrape_configs: # 原有其他抓取任务保留不要删除 - job_name: "scaler01" scrape_interval: 15s # 可根据需求调整抓取频率 metrics_path: "/scaler" static_configs: - targets: ["localhost:8080"]
配置修改完成后重启Prometheus即可正常拉取指标。
内容的提问来源于stack exchange,提问作者Swaraj Shekhar
相关产品推荐
相关产品推荐

