Я новый пользователь для показателей производительности Spring Boot Actuator, мне нужно определить использование ЦП в системе. URL-адрес/metrics дает мне остальную информацию, однако systemload.average возвращает -1 (если средняя загрузка не доступна -1 возвращается). Не могли бы вы сообщить мне, где я ошибся, и как я могу это исправить? Я использую maven и Eclipse IDE (Mars). Я обращаюсь к метрическим деталям на самом локальном хосте. URL-адрес является http://localhost:8080/details/metrics (деталь используется для контекстного пути)Java Spring Boot Actuator Метрика загружает среднее среднее значение -1
Вот мой код: Application.java файл пакета spring.boot.admin.actuator;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;
@EnableAutoConfiguration
@ComponentScan
@PropertySource(value = "classpath:application.properties")
public class Application{
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
}
POM Файл http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0
<groupId>spring.boot.admin</groupId>
<artifactId>actuator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>actuator</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.7.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
</project>
**application.properties file**
management.port=8080
management.context-path=/details
management.security.enabled=true
endpoints.health.enabled=false
security.basic.enabled=true
security.user.name=admin
security.user.password=admin
endpoints.health.id=health
endpoints.health.sensitive=true
endpoints.health.enabled=true
endpoints.metrics.id=metrics
endpoints.metrics.sensitive=true
endpoints.metrics.enabled=true
endpoints.server.id=server
endpoints.server.sensitive=false
endpoints.server.enabled=true
endpoints.info.id=info
endpoints.info.sensitive=false
endpoints.info.enabled=true
info.app.name=Spring Actuator Example
info.app.description=Spring Actuator Working Examples
info.app.version=0.0.1-SNAPSHOT
management.security.enabled=true
[код] (https://github.com/spring-projects/spring-boot/blob/master/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/ SystemPublicMetrics.java # L97) использует JMX. Можете ли вы попробовать увидеть с VisualVM то, что там возвращается? –
@WimDeblauwe благодарит вас за совет, он дал немного больше ясности о JMX для меня. Я использовал VisualVM сейчас (впервые), он показывает поток как время ожидания соединения сервера JMX 221 в состоянии ожидания, тогда как поток JMX Cient Heartbeat 10 в состоянии сна. –
Вам необходимо установить плагин VisualVM-MBeans. После этого появится новая вкладка «MBeans». Там откройте папку «java.lang» и выберите «Операционная система» в дереве. С правой стороны вы увидите «SystemLoadAverage» в таблице. –