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

复制代码
docker run -d -p 19100:9100 \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /:/rootfs:ro \
  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:经过测试需要指定版本,最新的版本不识别配置

指定版本

Swift 复制代码
docker run -d --name mysqld_exporter \
-p 19104:9104 \
-e DATA_SOURCE_NAME="root:123456@(192.168.168.81:3306)/" \
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文件

复制代码
mkdir  -p /opt/prometheus/data
cd /opt/prometheus/data
vim prometheus.yml

配置如下内容:

复制代码
global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: [192.168.168.81:19090']
        labels:
          instance: prometheus

  - job_name: node
    static_configs:
      - targets: ['192.168.168.81:19100']
        labels:
          instance: node

  - job_name: cadvisor
    static_configs:
      - targets: ['192.168.168.81:18080']
        labels:
          instance: cadvisor

  - job_name: mysqld
    static_configs:
      - targets: ['192.168.168.81:19104']
        labels:
          instance: mysqld

  - job_name: springboot-prometheus
    metrics_path: '/actuator/springboot-prometheus/prometheus'
    static_configs:
      - targets: ['192.168.168.1:8080']
        labels:
          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

复制代码
创建文件夹并设置权限:
mkdir /opt/grafana-storage
chmod 777 -R /opt/grafana-storage

启动grafana:

复制代码
  docker run -d \
  -p 13000:3000 \
  --name=grafana \
  -v /opt/grafana-storage:/var/lib/grafana \
  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的依赖

复制代码
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

4.3、配置文件

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

复制代码
spring:
  application:
    name: springboot-prometheus
management:
  endpoints:
    web:
      exposure:
        include: 'prometheus'
      base-path: /actuator/${spring.application.name}
  metrics:
    tags:
      application: ${spring.application.name}

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

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

相关推荐
cui_win1 天前
Docker Compose 部署一个完整的Prometheus监控告警系统
docker·容器·prometheus
Connie14511 天前
记一次K8s故障告警排查(Grafna告警排查)
云原生·容器·kubernetes·grafana
3***16103 天前
【监控】Spring Boot+Prometheus+Grafana实现可视化监控
spring boot·grafana·prometheus
努力发光的程序员4 天前
互联网大厂Java面试场景:微服务与Spring Cloud技术点解析
spring cloud·grafana·prometheus·微服务架构·jwt·api网关·jaeger
熊文豪4 天前
无需公网 IP,用 cpolar 让 Prometheus 监控随时随地可及
prometheus·cpolar
梁正雄5 天前
扩展1-node_exporter使用
prometheus·监控·node_exporter
天生励志1236 天前
【Linux系统运维】软件安装部署实战--软件安装4-运维监控
运维·zabbix·grafana
h***01546 天前
【prometheus】Pushgateway安装和使用
prometheus
优质&青年7 天前
【Operator prometheus监控系列三---业务监控】
运维·云原生·kubernetes·自动化·prometheus
DreamLife☼8 天前
Docker-日志与监控:集中采集与性能分析实战
docker·grafana·efk·可观测性·容器监控·cadvisor·prometheus 监控