by @Claudia
文章目录
简介
oshi是Java的免费基于JNA的(本机)操作系统和硬件信息库。它不需要安装任何其他本机库,并且旨在提供一种跨平台的实现来检索系统信息,例如操作系统版本,进程,内存和CPU使用率,磁盘和分区,设备,传感器等。本文主要介绍 SpringBoot 集成 oshi 实现对服务器及应用的监控。
特性
使用oshi我们可以对应用程序进行监控,可以对应用程序所在的服务器资源进行监控,可以监控到很多的指标,如下:
1 计算机系统和固件,底板
2 操作系统和版本/内部版本
3 物理(核心)和逻辑(超线程)CPU,处理器组,NUMA节点
4 系统和每个处理器的负载百分比和滴答计数器
5 CPU正常运行时间,进程和线程
6 进程正常运行时间,CPU,内存使用率,用户/组,命令行
7 已使用/可用的物理和虚拟内存
8 挂载的文件系统(类型,可用空间和总空间)
9 磁盘驱动器(型号,序列号,大小)和分区
10 网络接口(IP,带宽输入/输出)
11 电池状态(电量百分比,剩余时间,电量使用情况统计信息)
12 连接的显示器(带有EDID信息)
13 USB设备
14 传感器(温度,风扇速度,电压)
相关资料
github 地址:https://github.com/oshi/oshi
API 文档:http://oshi.github.io/oshi/apidocs/
运行
使用 Java 程序集成 oshi 后,对指标数据进行处理后应用图表如图:
具体使用
在 Spring Boot 项目中,引入以下依赖:
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>