上QQ阅读APP看书,第一时间看更新
4.4.4 使用shell连接Actuator
通过REST API这种方式,开发人员通过Actuator可以很方便地了解运行中的程序的监控信息。Actuator也可以通过shell的方式连接,需要注意的是,在Spring Boot 1.5之后的版本已经将此废弃掉了。通过shell连接Actuator,需要在工程的pom文件加上shell的起步依赖spring-boot-starter-remote-shell,代码如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-remote-shell </artifactId> </dependency>
在程序的pom文件加上spring-boot-starter-remote-shell起步依赖后,启动Spring Boot应用程序,在程序的控制台会输出连接shell的密码,密码是随机的,每次都不一样,大概格式如下:
Using default password for shell access: 45f17018-5839-478e-a1a1-06de4cc82d4f
与密码相对应的用户名是user,可以通过远程SSH连接shell,它的端口是2000,这是固定的。如果你是用Mac系统,这时可以用终端连接shell,在终端输入连接命令,命令如下:
ssh user@localhost -p 2000 Password authentication Password: PTY allocation request failed on channel 0 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.2.RELEASE)
连接上shell后,这时可以通过终端查看Actuator的各个端点。Spring Boot提供了4个特有的shell命令,如表4-3所示。
表4-3 Spring Boot提供的4个特有的shell命令
现在以第一个命令beans为例来做演示,连接上shell后,在终端输入beans,终端显示了应用上下文的注册信息,如图4-1所示。
▲图4-1 beans命令的输出信息
由图4-1可知,beans命令和通过请求REST API接口“/beans”的结果相同,都是以JSON的数据格式输出了应用上下文的所有bean的信息。其他命令就不一一展示了。
Actuator是Spring Boot的一个非常重要的功能,Actuator为开发人员提供了Spring Boot的运行状态信息,通过Actuator可以查看程序的运行状态的信息。