Prometheus 监控微服务jvm情况

1.通过spring-actuator监控jvm数据并开放监控数据

1.1引入依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>log4j-api</artifactId>
            <groupId>org.apache.logging.log4j</groupId>
        </exclusion>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
            <artifactId>log4j-to-slf4j</artifactId>
            <groupId>org.apache.logging.log4j</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

1.2 开放监控数据的接口

management:
  endpoints:
    web:
      exposure:
        include: prometheus  # 打开 Prometheus 的 Web 访问 Path
  metrics:
    # 下面选项建议打开,以监控 http 请求的 P99/P95 等,具体的时间分布可以根据实际情况设置
    distribution:
      sla:
        http:
          server:
            requests: 1ms,5ms,10ms,50ms,100ms,200ms,500ms,1s,5s
    # 在 Prometheus 中添加特别的 Labels
    tags:
      # 必须加上对应的应用名,因为需要以应用的维度来查看对应的监控
      application: ${spring.application.name}

2.通过Prometheus 抓取数据并在grafa配置显示的大屏

2.1 prometheus 安装

Prometheus 安装准备
    上传路径:/usr/local
    tar -xzvf prometheus-2.38.0.linux-amd64.tar.gz
    mv prometheus-2.38.0.linux-amd64 /usr/local/prometheus
    cd /usr/local/prometheus
    useradd -M -s /sbin/nologin prometheus
    mkdir -p /data/prometheus
    chown -R prometheus:prometheus /usr/local/prometheus /data/prometheus
    cp prometheus /usr/local/bin/
    chmod 777 /usr/local/prometheus/ /data/prometheus

配置启动文件
    vi /etc/systemd/system/prometheus.service

    文件内容:
    [Unit]
    Description=Prometheus
    After=network.target

    [Service]
    Type=simple
    Environment="GOMAXPROCS=4"
    User=prometheus
    Group=prometheus
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStart=/usr/local/bin/prometheus \
      --config.file=/usr/local/prometheus/prometheus.yml \
      --storage.tsdb.path=/data/prometheus \
      --storage.tsdb.retention=30d \
      --web.console.libraries=/usr/local/prometheus/console_libraries \
      --web.console.templates=/usr/local/prometheus/consoles \
      --web.listen-address=0.0.0.0:9090 \
      --web.read-timeout=5m \
      --web.max-connections=10 \
      --query.max-concurrency=20 \
      --query.timeout=2m \
      --web.enable-lifecycle
    ReadWriteDirectories=/data/prometheus
    ProtectSystem=full

    [Install]
    WantedBy=multi-user.target

刷新文件
    systemctl daemon-reload
启动命令   
    systemctl start prometheus  #启动
    systemctl stop prometheus     #停止
    systemctl restart prometheus  #重启
    systemctl status prometheus  #查看状态
    ./promtool check config prometheus.yml #检查配置文件

2.1 大屏配置

待配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值