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

相关推荐
qq_312920118 小时前
Proxmox VE 监控:把集群指标秒级推送到 InfluxDB 2.x,Grafana 大屏一步到位
运维·grafana
牛奶咖啡1311 小时前
Prometheus+Grafana构建云原生分布式监控系统(十二)_基于DNS的服务发现
云原生·prometheus·dns·搭建自己的dns服务器·使用bind搭建dns服务器·配置正向解析·基于dns的服务发现
A-刘晨阳1 天前
Prometheus + Grafana + Alertmanager 实现邮件监控告警及配置告警信息
运维·云计算·grafana·prometheus·监控·邮件
饺子大魔王的男人1 天前
告别服务器失联!Prometheus+Alertmanager+cpolar 让监控告警不局限于内网
运维·服务器·prometheus
电话交换机IPPBX-3CX2 天前
如何使用 Grafana 可视化你的 3CX 呼叫中心电话系统
grafana·ip pbx·电话交换机·企业电话系统
牛奶咖啡132 天前
Prometheus+Grafana构建云原生分布式监控系统(十一)_基于consul的服务发现
云原生·prometheus·consul的安装部署·consul服务自动发现·consul服务的注册删除·consul服务的更新·实现自动去consul注册服务
Otto_10273 天前
在 OpenStack Rocky 中部署 Prometheus + Grafana
openstack·grafana·prometheus
牛奶咖啡133 天前
Prometheus+Grafana构建云原生分布式监控系统(十)_prometheus的服务发现机制(一)
云原生·prometheus·prometheus服务发现·静态服务发现·动态服务发现·基于文件的服务发现配置实践·prometheus标签重写
玄德公笔记3 天前
Prometheus监控k8s的metric详解(第二版)-01-scrape 指标抓取
kubernetes·k8s·prometheus·监控·metric·scrape·k8s监控
小北方城市网3 天前
Spring Boot Actuator+Prometheus+Grafana 生产级监控体系搭建
java·spring boot·python·rabbitmq·java-rabbitmq·grafana·prometheus