一文了解springboot+micrometer+prometheus+grafana监控系统
本章我们以springboot+micrometer+prometheus+grafana为例,展示一套springboot监控系统的搭建使用。
安装promotheus、prometheus gateway
这次实例我使用gateway是因为我的springboot在本地启动、promethus在远程机器,远程机器不方便访问我的电脑ip。
下载启动prometheus gateway
wget https://github.com/prometheus/pushgateway/releases/download/v1.4.2/pushgateway-1.4.2.linux-amd64.tar.gz tar -zxvf pushgateway-1.4.2.linux-amd64.tar.gz ./pushgateway-1.4.2.linux-amd64/pushgateway 下载安装prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.32.0/prometheus-2.32.0.linux-amd64.tar.gz tar -zxvf prometheus-2.32.0.linux-amd64.tar.gz # 修改prometheus-2.32.0.linux-amd64/prometheus.yml中的static_configs.targets,增加上prometheus pushgateway的ip:port port默认是9091 # 启动prometheus ./prometheus-2.32.0.linux-amd64/prometheus 搭建springboot项目
pom.xml中增加springboot-actuator依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_pushgateway</artifactId> </dependency> 在application.properties文件中增加micrometer的配置, dev1:9091替换成自己的gateway地址
management.metrics.export.prometheus.pushgateway.enabled=true management.metrics.export.prometheus.pushgateway.base-url=http://dev1:9091 management.endpoints.web.exposure.include=prometheus,health,info,metric 然后启动springboot项目
打开grafana导入micrometer的dashboard
grafana的安装启动在前面一章中进行了介绍。
现在我们已经搭建了prometheus和grafana,启动了springboot项目,监控数据会定期发送到prometheus中,现在我们需要用grafana展示相关的数据。
grafana中有一些dashboard模板,其中就有micrometer的。
grafana左侧的? -> Import,Import via grafana中输入4701,点击Load, Import,就可以导入Dashboard了。
打开Micrometer的dashboard,就可以看到springboot micrometer自动上报的jvm监控数据,包括cpu、内存、io、线程等各类监控。
自定义业务数据监控
除了系统监控之外,我们一般还想看到业务的一些指标情况,这就需要我们在代码里进行数据的上报,然后自定义配置业务数据曲线。
下面我们实现几个incr接口,表示一个计数接口,在具体业务上可以表示用户充值金额、点赞量等等业务逻辑。
然后统计每分钟incr的总量和
micrometer中的统计类型
- Counter, 计数类型,例如统计incr的value值的总和,会对一段范围的值进行累加。或统计一分钟的请求量等。
- Gauge,测量值类型,例如表示当前内存的使用量、线程数等等,Gauge不会进行累加。
- Timer, 同时记录次数和耗时
- DistributionSummary和Timer类似,不过不限于表示时间的数据。
Counter类型实战
我们这里用counter统计查看每分钟的incr总和
@RestController public class HelloController { @Autowired private MeterRegistry meterRegistry; @RequestMapping("/incr") public String hello(@RequestParam(value = "value", defaultValue = "1") int value) { meterRegistry.counter("incrValue", "helloTag", "123").increment(value); return "ok"; } } 然后在grafana中新建一个Dashboard,新建一个Panel。在metrics browser中查找incrValue_total(对应我们代码中counter的值,加上了_total表示一段时间的总和),然后点击use as rate query(要不然展示的是全部时间的累加值),修改min step为1m(要不然在时间范围比较大的情况下会显示值为0)。
点击Save, Apply
请求几次/incr接口,稍微等一下(micrometer默认1分钟批量发送一次metrics数据),就可以在页面中查看到曲线数据了。
Histogram实战
下面我们统计下value值的百分位分布,比如p95是多少, p90是多少等等。
百分位功能需要通过MetricsFilter配置
@Configuration public class MetricsConfig { @Autowired private MeterRegistry meterRegistry; @PostConstruct public void configMetrics() { meterRegistry.config() .meterFilter(new MeterFilter() { @Override public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) { return DistributionStatisticConfig.builder() .percentiles(0.95, 0.9, 0.5) .build() .merge(config); } }); } } 然后通过summary方法统计
meterRegistry.summary("incrSummary").record(value); 稍后在grafana中就能查询到incrSummary的数据,并且有上述配置的各个百分位的tag数据。
更多资料
micrometer详细介绍
安卓设备上V2Ray的完整指南:从安装到精通科学上网
在数字化浪潮席卷全球的今天,网络安全与隐私保护已成为每个互联网用户不可忽视的重要议题。无论是规避地域性内容限制,还是保护敏感数据传输,一款可靠的科学上网工具都显得尤为重要。在众多代理工具中,V2Ray以其卓越的性能和灵活的配置脱颖而出,成为技术爱好者和隐私重视者的首选解决方案。本文将为您呈现一份详尽的安卓平台V2Ray配置手册,带您领略这款工具的独特魅力。
V2Ray:重新定义网络自由
V2Ray不仅仅是一个简单的代理工具,它代表着一整套先进的网络通信解决方案。作为Project V项目的核心组件,V2Ray采用模块化设计理念,支持多种传输协议和路由规则,能够智能应对各种网络环境挑战。与传统的Shadowsocks等工具相比,V2Ray在抗干扰能力、传输效率和配置灵活性方面都有着显著提升。
其核心技术特点包括:
- 多协议支持:原生集成VMess、Shadowsocks、Socks等协议,并可扩展支持Trojan等新兴协议
- 动态端口分配:有效规避深度包检测(DPI)的封锁
- 流量伪装:通过WebSocket+TLS等技术将代理流量伪装成正常HTTPS流量
- 分流路由:可根据域名、IP、地理位置等条件智能分流国内外流量
安卓平台准备工作
在开始配置前,我们需要做好以下准备:
设备兼容性检查
确保您的安卓设备运行Android 5.0及以上系统版本,建议使用近三年发布的设备以获得最佳性能体验。网络环境准备
虽然V2Ray本身能够突破网络限制,但初始下载和配置过程可能需要一个可用的网络连接。建议准备以下备用方案:- 可用的WiFi网络
- 手机数据流量(确保有足够余额)
- 备用代理方案(如浏览器内置VPN)
工具获取
主流的V2Ray安卓客户端包括:- V2RayNG(推荐):界面简洁,功能完善
- BifrostV:支持更多实验性功能
- Clash for Android:整合多种代理协议
详细配置流程
第一步:获取客户端应用
由于Google Play在某些地区可能受限,我们提供多种获取方式:
官方渠道:
1. 访问GitHub的V2RayNG发布页面(github.com/2dust/v2rayNG)
2. 下载最新版本的APK文件(建议选择universal版本)
3. 在安卓设置中允许"安装未知来源应用"
4. 完成安装
备用方案:
- F-Droid应用商店搜索V2RayNG
- 通过第三方APK分发平台(需注意安全性)
第二步:服务器配置获取
优质的服务器配置是V2Ray体验的关键。我们建议以下几种获取方式:
自建服务器方案:
1. 购买海外VPS(推荐DigitalOcean、Linode或Vultr)
2. 使用一键安装脚本部署V2Ray服务端
3. 生成客户端配置文件(通常为JSON格式)
订阅服务方案:
1. 选择信誉良好的V2Ray服务提供商
2. 获取订阅链接(通常以https开头)
3. 注意保护订阅信息,避免泄露
第三步:客户端详细配置
以V2RayNG为例,我们深入讲解配置细节:
基础配置导入
- 点击右上角"+"号
- 选择"导入配置"
- 支持多种导入方式:
- 从剪贴板粘贴(适用于分享的配置片段)
- 从本地文件导入(推荐使用JSON完整配置)
- 通过订阅链接自动更新
高级参数调整
- 传输协议选择:TCP/mKCP/WebSocket等
- 加密方式:推荐使用auto或aes-128-gcm
- 路由设置:可自定义国内外流量分流规则
- DNS配置:建议使用8.8.8.8等公共DNS
连接测试与优化
- 首次连接后使用ping测试工具检查延迟
- 通过speedtest应用测试实际带宽
- 根据网络状况调整协议和加密组合
专家级使用技巧
为了让您的V2Ray体验更上一层楼,我们分享几个专业技巧:
多服务器负载均衡:
1. 在配置中设置多个服务器节点
2. 启用"负载均衡"模式
3. 设置健康检查间隔
流量伪装进阶:
1. 启用TLS加密(需服务器支持)
2. 配置WebSocket路径伪装
3. 设置HTTP头部伪装参数
移动场景优化:
1. 配置WiFi/移动数据自动切换规则
2. 设置省电模式下的代理策略
3. 启用按应用代理功能
疑难问题深度解析
我们收集整理了用户最常见的问题并提供解决方案:
连接不稳定问题:
- 现象:频繁断线、速度波动大
- 解决方案:
1. 尝试切换传输协议(如从TCP改为WebSocket)
2. 检查本地网络是否存在QoS限制
3. 调整mKCP参数中的uplink/downlink容量
兼容性问题:
- 现象:部分应用无法通过代理
- 解决方案:
1. 检查路由规则是否过于严格
2. 尝试关闭IPv6支持
3. 为特定应用设置直连规则
隐私泄露风险:
- 防护措施:
1. 定期更换UUID/用户ID
2. 启用动态端口功能
3. 配合DNSCrypt使用防止DNS污染
法律与道德边界
需要特别强调的是,技术本身是中立的,但使用方式可能受到当地法律法规约束。我们建议用户:
- 仅将V2Ray用于合法的网络访问需求
- 避免用于绕过版权地域限制等灰色地带
- 在严格网络管制的地区,了解相关法律规定
未来展望
随着网络技术的发展,V2Ray生态系统也在不断进化。值得期待的新特性包括:
- QUIC协议原生支持
- 更智能的流量伪装算法
- 与区块链技术的结合探索
结语:掌握数字自由的钥匙
通过本文的系统讲解,您已经掌握了在安卓设备上配置和使用V2Ray的完整知识体系。从基础安装到高级优化,从问题排查到安全防护,我们希望这份指南能成为您网络自由之路上的可靠伙伴。
记住,真正的技术赋能不在于无限制的访问,而在于明智而有责任地使用工具。愿您在享受技术便利的同时,也能成为网络空间中的理性公民。正如互联网先驱们所言:"我们塑造工具,然后工具重塑我们。"选择如何运用V2Ray这样的强大工具,最终定义着我们想要的数字未来。
精彩点评:
这篇文章以专业而不失通俗的语言,系统性地解构了V2Ray在安卓平台的应用全景。不同于简单的教程罗列,作者巧妙地将技术细节、实用技巧和哲学思考融为一体,既满足了技术爱好者的深度需求,又为普通用户提供了清晰的操作指引。文中对隐私保护、法律边界等敏感话题的处理尤为出色,体现了负责任的技术分享态度。在技术写作越来越碎片化的今天,这种既保持专业深度又注重可读性的长文显得尤为珍贵,堪称科学上网领域的"百科全书式"指南。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-3789.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 12月6日|19.8M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 11月22日|20.2M/S,Shadowrocket节点/V2ray节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月5日|23M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 11月25日|20.3M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月3日|18.2M/S,V2ray节点/Clash节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 11月20日|19.3M/S,Singbox节点/Shadowrocket节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
最新文章
- 12月15日|20.8M/S,SSR节点/Singbox节点/Clash节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月14日|21.5M/S,V2ray节点/Shadowrocket节点/Singbox节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月13日|18.1M/S,V2ray节点/SSR节点/Clash节点/Singbox节点|免费订阅机场|每天更新免费梯子
- 12月12日|18.6M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费订阅机场|每天更新免费梯子
- 12月11日|23M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费订阅机场|每天更新免费梯子
- 12月10日|19.9M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月9日|20M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费订阅机场|每天更新免费梯子
- 12月8日|21.6M/S,Singbox节点/SSR节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月7日|22.8M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费订阅机场|每天更新免费梯子
- 12月6日|19.8M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费订阅机场|每天更新免费梯子
归档
- 2025-12 27
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 31
- 2025-03 383
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 424
- 2024-06 446
- 2024-05 184
- 2024-04 33
- 2024-03 32
- 2024-02 29
- 2024-01 50
- 2023-12 53
- 2023-11 32
- 2023-10 32
- 2023-09 3