• Docker安装Prometheus + Grafana


    一、安装Prometheus + Grafana

    1、拉取镜像

    1. # 下载grafana镜像
    2. docker pull grafana/grafana:9.1.8
    3. # 下载promethues镜像
    4. docker pull prom/prometheus:v2.39.1

     

    2、Prometheus 搭建

    1. # 创建外部挂载目录
    2. mkdir -p /docker/prometheus/server
    3. # 进入目录
    4. cd /docker/prometheus/server
    5. # 创建文件
    6. touch rules.yml
    7. touch prometheus.yml
    8. # 修改文件
    9. vim prometheus.yml
    10. scrape_configs:
    11. # prometheus配置
    12. - job_name: 'prometheus'
    13. static_configs:
    14. - targets: ['localhost:9090']
    15. # 本地启动的Spring Boot项目配置
    16. - job_name: 'learning-prometheus'
    17. metrics_path: '/actuator/prometheus'
    18. static_configs:
    19. - targets: ['10.95.33.37:8080']
    20. # 启动prometheus
    21. docker run -d --name prometheus -p 9090:9090 --restart=always \
    22. -v /docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml \
    23. -v /docker/prometheus/server/rules.yml:/etc/prometheus/rules.yml \
    24. prom/prometheus:v2.39.1 \
    25. --config.file=/etc/prometheus/prometheus.yml \
    26. --web.enable-lifecycle
    27. ------------------------------------------------------------------------------------
    28. 注:启动时加上
    29. --web.enable-lifecycle: 启用远程热加载配置文件
    30. --config.file:启动时加载配置文件

    prometheus.yml配置文件中targets:本地启动的Spring Boot项目请求地址

     3、Grafana 搭建

    1. # 先启动下(一会还要启动一次,这里启动是为了拷贝文件)
    2. docker run --name=grafana -d -p 3000:3000 -itd grafana/grafana:9.1.8
    3. # 创建外部挂载目录
    4. mkdir -p /docker/prometheus/grafana
    5. mkdir -p /docker/prometheus/grafana/data
    6. # 修改配置文件grafana.ini,配置smtp邮件报警信息(报警会用到)
    7. docker cp grafana:/etc/grafana/grafana.ini /docker/prometheus/grafana/
    8. docker rm -f grafana
    9. #防止grafana生成文件权限受阻,全开放
    10. chmod 777 -R /docker/prometheus/
    11. # 正式启动
    12. docker run -d -p 3000:3000 --name grafana --restart=always \
    13. -v /docker/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini \
    14. -v /docker/prometheus/grafana/data:/var/lib/grafana \
    15. -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
    16. grafana/grafana:9.1.8
    17. ------------------------------------------------------------------------------------
    18. 注:-e "GF_SECURITY_ADMIN_PASSWORD=XXXXX"
    19. 是设置grafana登陆页面的密码,如不添加这条,默认账号密码为admin/admin

     

    4、验证

     

    二、数据源接入

    1、测试源代码

    https://gitee.com/xiaxinyu3_admin/learning-prometheus.githttps://gitee.com/xiaxinyu3_admin/learning-prometheus.git

     

    2、配置grafana

     

    3、配置数据源

     

     4、导入模版

     

     5、输入模版ID,直接获取JVM监控大屏模版

    点击这里,查看所有官方模版:

    Dashboards | Grafana LabsBrowse a library of official and community-built dashboards.https://grafana.com/grafana/dashboards/推荐:4701,12856 

     

     6、查看仪表盘 

     

    三、 多个Spring Boot如何加入监控? 

    1、分析
    主要是修改prometheus的配置文件,然后要让promethues加载此配置,使其有效。

    2、解决方法

    • 通过shell或者程序动态修改prometheus.yml,shell比较适合在jenkins当中,或者CICD平台通过Python直接修改目标机器的prometheus.yml 配置。
    • 加载的话,可以通过一行curl命令执行,如下:
    1. # 配置修改后,执行这个,就无需重启promethues了
    2. curl -X POST http://IP:9090/-/reload
    3. # 当重载充公后,prometheus日志会打印类似下面的信息
    4. ... msg="Loading configuration file" filename=prometheus.yml ...

  • 相关阅读:
    服务器数据恢复-V7000存储2块磁盘故障脱机的数据恢复案例
    (附源码)springboot自律健身房会员管理系统 毕业设计456466
    Lodash初识
    小程序入门笔记(一) 黑马程序员前端微信小程序开发教程
    leetcode-136. 只出现一次的数字
    数据结构题型17-树、森林
    C语言童年生活二三事(ZZULIOJ1091:童年生活二三事(多实例测试))
    基于CentOs7使docker容器通过桥接模式被外部访问
    记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
    C# 将HTML转为XML
  • 原文地址:https://blog.csdn.net/summer_fish/article/details/127736056