• docker安装grafana,prometheus,exporter以及springboot整合详细教程(GPE)


    springboot项目ip:192.168.168.1

    测试服务器ip:192.168.168.81

    文章来自互联网,自己略微整理下,更容易上手,方便自己,方便大家

    最终效果:

    node

    springboot

    1.下载镜像

    docker pull prom/node-exporter
    docker pull prom/mysqld-exporter
    docker pull google/cadvisor
    docker pull prom/prometheus
    docker pull grafana/grafana
     

    2.启动

    2.1node-exporter

    1. docker run -d -p 19100:9100 \
    2. -v /proc:/host/proc:ro \
    3. -v /sys:/host/sys:ro \
    4. -v /:/rootfs:ro \
    5. prom/node-exporter

    访问url:
    http://192.168.168.81:19100/metrics

    2.2启动mysqld-exporter:

    docker run -d --name mysqld_exporter -p 19104:9104 -e DATA_SOURCE_NAME="数据库用户:数据库密码@(数据库ip:端口)/" prom/mysqld-exporter

    ps:经过测试需要指定版本,最新的版本不识别配置

    指定版本

    1. docker run -d --name mysqld_exporter \
    2. -p 19104:9104 \
    3. -e DATA_SOURCE_NAME="root:123456@(192.168.168.81:3306)/" \
    4. prom/mysqld-exporter:v0.14.0

    访问url:
    http://192.168.168.81:19104/metrics

    2.3启动cadvisor

    docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 18080:8080 -d --name=cadvisor --restart=always google/cadvisor:latest

    访问url:
    http://127.0.0.1:18080/metrics

    2.4启动prometheus
    新建prometheus目录,并编辑prometheus.yml文件

    1. mkdir  -p /opt/prometheus/data
    2. cd /opt/prometheus/data
    3. vim prometheus.yml

    配置如下内容:

    1. global:
    2.   scrape_interval:     60s
    3.   evaluation_interval: 60s
    4. scrape_configs:
    5.   - job_name: prometheus
    6.     static_configs:
    7.       - targets: [192.168.168.81:19090']
    8.         labels:
    9.           instance: prometheus
    10.   - job_name: node
    11.     static_configs:
    12.       - targets: ['192.168.168.81:19100']
    13.         labels:
    14.           instance: node
    15.   - job_name: cadvisor
    16.     static_configs:
    17.       - targets: ['192.168.168.81:18080']
    18.         labels:
    19.           instance: cadvisor
    20.   - job_name: mysqld
    21.     static_configs:
    22.       - targets: ['192.168.168.81:19104']
    23.         labels:
    24.           instance: mysqld
    25.   - job_name: springboot-prometheus
    26.     metrics_path: '/actuator/springboot-prometheus/prometheus'
    27.     static_configs:
    28.       - targets: ['192.168.168.1:8080']
    29.         labels:
    30.           instance: springboot-prometheus

    启动prometheus:

    sudo docker run -d -p 19090:9090 --name prom -v /usr/local/prometheus/data:/data  prom/prometheus --config.file=/data/prometheus.yml



    访问url:
    http://192.168.168.81:19090/

    2.5、启动grafana

    1. 创建文件夹并设置权限:
    2. mkdir /opt/grafana-storage
    3. chmod 777 -R /opt/grafana-storage

    启动grafana:

    1.   docker run -d \
    2.   -p 13000:3000 \
    3.   --name=grafana \
    4.   -v /opt/grafana-storage:/var/lib/grafana \
    5.   grafana/grafana

    3.使用

    访问url:
    http://192.168.168.81:13000/
    账号:admin/admin
    跳转到登录页面后,默认的用户名和密码都是admin,第一次登陆可重置密码后进去首页

    设置data source:

    点击Save & Test按钮,出现绿色提示,说明配置成功


    3.1、docker模板


    搜索导入193模板

    3.2、springboot模板


    搜索导入4701/6756模板


    3.3、主机监控


    搜索导入9276/8919模板

    3.4、mysql模板


    搜索导入7362模板

    4、springboot 集成prometheus


    4.1、引入依赖


    在spring boot工程中引入actuator以及micrometer-registry-prometheus的依赖

    1. <dependency>
    2.         <groupId>org.springframework.boot</groupId>
    3.         <artifactId>spring-boot-starter-actuator</artifactId>
    4. </dependency>
    5. <dependency>
    6.         <groupId>io.micrometer</groupId>
    7.         <artifactId>micrometer-registry-prometheus</artifactId>
    8. </dependency>


     

    4.3、配置文件


    暴露prometheus的接口,暴露metrics.tags,和spring.application.name一致

    1. spring:
    2. application:
    3. name: springboot-prometheus
    4. management:
    5. endpoints:
    6. web:
    7. exposure:
    8. include: 'prometheus'
    9. base-path: /actuator/${spring.application.name}
    10. metrics:
    11. tags:
    12. application: ${spring.application.name}

    项目指标访问地址是:192.168.168.1:8080/actuator/springboot-prometheus/prometheus

    这个路径是项目路径+"management.endpoints.web.exposure.base-path"+prometheus

  • 相关阅读:
    Android Kotlin 协程详解
    Pytorch学习(四)
    《Hidden Markov Map Matching Through Noise and Sparseness》读书笔记
    python操作mysql数据库
    Redis分布式锁的实现、优化与Redlock算法探讨
    基于springboot+vue+mysql的新能源充电系统--前后端分离(内含源码+报告+部署教程)
    xxl-job源码解读:触发器Trigger
    小样本相关论文复现—2-全局印象
    Vega Prime入门教程12.10:DevToolCRO与部署
    NNDL实验 优化算法3D轨迹 pytorch版
  • 原文地址:https://blog.csdn.net/wangwenzhe222/article/details/132585538