Prometheus基于consul的服务发现


Prometheus添加被监控端支持两种方式:

•静态配置

•服务发现

支持服务发现的来源:

•consul_sd_configs

•openstack_sd_configs

•file_sd_configs

•kubernetes_sd_configs

基于consul的架构图

  1. exporter是提供者,向consul注册,提供ip、端口、metrics等信息;
  2. prometheus是消费者:

 Docker部署Consul:

docker run --name consul -d -p 8500:8500 consul

向Consul注册服务,http://192.168.121.132:8500/v1/agent/service/register是api接口地址:

curl -X PUT -d '{"id": "k8s-2","name": "Linux","address": "192.168.121.132","port": 9100,"tags": ["service"],"checks": [{"http": "http://192.168.121.132:9100","interval": "5s"}]}' http://192.168.121.132:8500/v1/agent/service/register

普罗米修斯配置:

- job_name: 'consul_sd'
basic_auth:
username: prometheus
password: 123456
consul_sd_configs:
- server: 192.168.121.132:8500
services: ['Linux']

检查语法:

root@k8s-1 prometheus]# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: 0 rule files found

重新加载:

[root@k8s-1 prometheus]# ps -ef|grep prom
root 776 1 0 10:43 ? 00:00:27 /opt/monitor/prometheus/prometheus --config.file=/opt/monitor/prometheus/prometheus.yml
root 1753 1556 0 12:03 pts/0 00:00:00 grep --color=auto prom
[root@k8s-1 prometheus]# kill -HUP 776

查看网页,已经能看到consul发现的主机:

增加一台被监控端:

只需要再向Consul注册服务,http://192.168.121.132:8500/v1/agent/service/register是api接口地址:

curl -X PUT -d '{"id": "k8s-3","name": "Linux","address": "192.168.121.133","port": 9100,"tags": ["service"],"checks": [{"http": "http://192.168.121.133:9100","interval": "5s"}]}' http://192.168.121.132:8500/v1/agent/service/register

 看到两台被监控机器:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM