标题一 Prometheus - k8s 自动发现
前提
很多同学搭建完Prometheus Operator(不是operater部署的,operator部署的是monitoraccount来对接svc)后,并不知道Prometheus是如何发现Kubernetes提供的Metrics接口
Prometheus 配置方式有两种
命令行: 用来配置不可变命令参数,主要是Prometheus运行参数,比如数据存储位置、数据存储时长 (命令行这里就不讲了)
配置文件: 用来配置Prometheus应用参数,比如数据采集、报警对接
服务重载方式
对进程发送信号SIGHUP
HTTP POST请求,需要开启–web.enable-lifecycle选项,curl -X POST http://localhost:9091/-/reload
配置文件
使用yaml格式,下面是文件中一级配置项。自动发现K8s Metrics接口是通过scrape_configs:配置
————————————————
版权声明:本文为CSDN博主「YP小站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24794401/article/details/103245784
标题二 Prometheus - consul自动发现
原文:
https://blog.csdn.net/ichen820/article/details/120203453
Consul 是基于 GO 语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul 提供服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等功能。之前我们通过 Prometheus 实现监控,当新增一个 Target 时,需要变更服务器上的配置文件,即使使用 file_sd_configs 配置,也需要登录服务器修改对应 Json 文件,会非常麻烦。不过 Prometheus 官方支持多种自动服务发现的类型,其中就支持 Consul。
普通安装:
wget https://releases.hashicorp.com/consul/1.6.1/consul_1.6.1_linux_amd64.zip
unzip consul_1.5.3_linux_amd64.zip
./consul agent -dev
docker安装
docker run --name consul -d -p 8500:8500 consul
注册本机服务
curl -X PUT -d '{"id": "node-exporter","name": "node-exporter-127.0.0.1","address": "127.0.0.1","port": 9100,"tags": ["test"],"checks": [{"http": "http://127.0.0.1:9100/metrics", "interval": "5s"}]}' http://127.0.0.1:8500/v1/agent/service/register
web界面打开查看:

注销服务:
curl -X PUT http://172.30.12.167:8500/v1/agent/service/deregister/node-exporter
配置Prometheus关联 consul:
...
- job_name: 'consul-prometheus'
consul_sd_configs:
- server: '172.30.12.167:8500'
services: []
说明一下:这里需要使用 consul_sd_configs 来配置使用Consul服务发现类型,server 为 Consul 的服务地址,这里跟上边要对应上。 配置完毕后,重启 Prometheus 服务,此时可以通过 Prometheus UI 页面的 Targets 下查看是否配置成功。

遗留问题请查看原文:
1.会发现 Prometheus 同时加载出来了默认服务 consul,这个是不需要的。
2.默认只显示 job 及 instance 两个标签,其他标签都默认属于 before relabeling 下,有些必要的服务信息,也想要在标签中展示,该如何操作呢?
3.如果需要自定义一些标签,例如 team、group、project 等关键分组信息,方便后边 alertmanager 进行告警规则匹配,该如何处理呢?
4.所有 Consul 中注册的 Service 都会默认加载到 Prometheus 下配置的 consul_prometheus 组,如果有多种类型的 exporter,如何在 Prometheus 中配置分配给指定类型的组,方便直观的区别它们?
原文链接:https://blog.csdn.net/ichen820/article/details/120203453

6796

被折叠的 条评论
为什么被折叠?



