docker prometheus 单机搭建(随笔)

文章详细介绍了如何通过Docker拉取Prometheus镜像,创建配置文件来监控Nacos服务,利用nacos-consul-adapter将Nacos伪装成Consul,以便Prometheus通过网关发现并监控服务。同时,文中提到了在Java网关微服务中引入相关依赖,配置暴露监控端点以及添加MeterRegistryCustomizer以支持Prometheus监控。
摘要由CSDN通过智能技术生成

1、拉取Prometheus镜像

docker search prometheus
docker pull prometheus

2、创建挂载文件

mkdir /app/prometheus
cd /app/prometheus

3、创建修改配置文件
vim prometheus.yml

一下是配置文件内容:

global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:

  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

    #这是新增的监控job,是配置nacos-consul-adapter适配器的服务,也就是我的网关
  - job_name: 'consul-prometheus'
    metrics_path: '/actuator/prometheus'
    consul_sd_configs:
    #这里是nacos-consul-adapter适配器的服务,也就是我的网关的ip和端口号
    - server: '127.0.0.1:8888'   # 这两个都是网关地址
      services: []
    - server: '127.0.0.1:8889'   # 这两个都是网关地址
      services: []

PS:以上配置文件是将naocs伪装成consul,然后讲consul集成在网关,这样Prometheus就可以通过网关注册的nacos服务来发现监控服务信息

4、启动Prometheus

docker run  -d --name prometheus --restart=always -p 9090:9090 -v /app/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

5、题外话,讲nacos伪装成consul实现Prometheus自动监控

1、java网关微服务中引入
<dependency>
    <groupId>io.github.chen-gliu</groupId>
    <artifactId>nacos-consul-adapter</artifactId>
    <version>version</version>
</dependency> 

PS:如果拉取不到包,在maven的setting中加入
<mirror>
    <id>mvnrepository</id>
    <mirrorOf>*</mirrorOf>
    <name>仓库</name>
    <url>https://repo1.maven.org/maven2</url>
</mirror>

2、查看Prometheus的配置文件中是否有(以下内容),如果没有。就加上
#这是新增的监控job,是配置nacos-consul-adapter适配器的服务,也就是我的网关
  - job_name: 'consul-prometheus'
    metrics_path: '/actuator/prometheus'
    consul_sd_configs:
    #这里是nacos-consul-adapter适配器的服务,也就是我的网关的ip和端口号
    - server: '127.0.0.1:8888'   # 这两个都是网关地址
      services: []
    - server: '127.0.0.1:8889'   # 这两个都是网关地址
      services: []

3、所有需要监控的服务必须添加如下内容:
3.1:配置文件中加入
management.endpoints.web.exposure.include=*
3.2 pom.xml 中引入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
 <dependency>
       <groupId>io.micrometer</groupId>
       <artifactId>micrometer-registry-prometheus</artifactId>
  </dependency>
  
3.3 监控的服务上加入
@Bean
    MeterRegistryCustomizer<MeterRegistry> configurer(
            @Value("${spring.application.name}") String applicationName) {
        return (registry) -> registry.config().commonTags("application", applicationName);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值