文章目录 事前思考 Prometheus 普罗米修斯 Grafana可视化 数据库读写分离 实战1-Prometheus+Grafana+springboot
事前思考
需要了解清楚:需要从哪些角度去分析实现?使用了缓存,就需要把缓存命中率数据进行收集;使用了数据库连接池,就把连接池的参数给暴露出来;
Prometheus 普罗米修斯
概述
定义:Prometheus 作为一个开源的监控和告警工具,具有强大的数据采集、存储和查询能力;
介绍:它通过采集和存储指标(metrics),提供了强大的数据查询语言,可以帮助我们分析和理解应用程序的行为。Prometheus 的核心组件是 Prometheus Server ,它负责采集监控指标并提供查询接口。Prometheus 监控服务基于 Spring Actuator 机制采集 JVM 等数据,结合配套提供的 Grafana Dashboard 可以方便地监控 Spring Boot 应用的状态。
特点:易于管理:Prometheus 核心部分只有一个单独的二进制文件;Prometheus 基于 Pu 模型的架构方式;监控服务的内部运行状态:基于 Prometheus 丰富的 Client 库,用户可以轻松的在应用程序中添加对 Prometheus 的支持;强大的数据模型:所有采集的监控数据均以指标( metric) 的形式保存在内置的时间序列数据库当中(TSDB)。强大的查询语言PromQL :通过 PromQL 可以实现对监控数据的查询、聚合。同时 PromQL 也被应用于数据可视化( 如 Grafana ) 以及告警当中;高效:可以处理数以百万的监控指标;可扩展性:当单例Prometheus Server 处理的任务量过大时,通过使用功能分区( sharding) + 联邦集群( federation) 可以对其进行扩展;易于集成:使用 Prometheus 可以快速搭建监控服务,并且可以非常方便地在应用程序中进行集成;可视化:Prometheus Server 中自带的 Prometheus Ul ,可以方便地直接对数据进行査询;开放性:支持在外部创建单独的服务来适配不同的监控系统;
架构
它是一个维度存储模型,
安装及使用
参考:普通安装 https: / / blog. csdn. net/ dazhong2012/ article/ details/ 139288005 docker安装 https: / / www. cnblogs. com/ sheepboy/ p/ 17242916. html
Grafana可视化
数据库读写分离
实战1-Prometheus+Grafana+springboot
Prometheus 监控项目执行的情况,即执行环境的情况(指标采集);
Grafana 将监控情况进行展现;
睿象云 实现异常报警;思考1 :Premetheus 是否可以检测到项目运行是否正常,是否可以评估当前系统前后阶段是否数量一致?
整体操作步骤:
1. 在springboot项目中添加Springboot Actuator 和Micrometer prometheus Registry 依赖;
2. 下载镜像包prometheus并完成安装,在docker中; 参考https: / / blog. csdn. net/ qq_44246980/ article/ details/ 119981183 该方案失败。参考 https: / / blog. csdn. net/ dazhong2012/ article/ details/ 139288005 该方案失败,目前该方案进展。参考 https: / / blog. csdn. net/ 2403_87851141 / article/ details/ 142733680 替换镜像,成功。
docker命令行启动,下载镜像包prometheus,并完成安装;
方法1 :
直接通过docker pull 下载,由于网络超时问题,会导致下载异常;故此采用博客中提供的网盘链接下载 ;
解压:tar - xvf images_prmetheus. tar. gz ;
采用docker实现xxx. tar. gz导入docker中:一种for 命令 一种脚本方式for 循环方式不能实现执行:for % % i in ( * ) do @docker load - i "%%i" 脚本方式执行:执行脚本方法也不可行;
方法2 :
更换镜像;执行后续操作;
docker pull prom/ prometheus
docker run -- name prometheus - d - p 9090 : 9090 prom/ prometheus docker run - d -- name prometheus - p 9090 : 9090 - v D : \soft\Prometheus \prometheus. yml: / etc/ prometheus/ prometheus. yml prom/ prometheus
浏览器访问:http: / / localhost: 9090 结果可以看到下图;
docker cp prometheus: / etc/ prometheus/ prometheus. yml D : \soft\Prometheus \prometheus. yml拷贝后结果为空?
@echo off
setlocal enabledelayedexpansion
cd / d D : \soft\Prometheus \gz\images_prometheus
for % % i in ( * . tar) do ( echo Loading % % i. . . docker load - i "%%i"
)
endlocal