29.使用远程shell来进行监控和管理

  • Spring Boot支持集成一个称为'CRaSH'的Java shell。你可以在CRaSH中使用ssh或telnet命令连接到运行的应用。为了启用远程shell支持,你只需添加 spring-boot-starter-remote-shell 的依赖:

      
          org.springframework.boot
          spring-boot-starter-remote-shell
      
    

注:如果想使用telnet访问,你还需添加对 org.crsh:crsh.shell.telnet 的依赖。

连接远程shell

  • 默认情况下,远程shell监听端口2000以等待连接。默认用户名为 user ,密码为随机生成的,并且在输出日志中会显示。如果应用使用Spring Security,该shell默认使用相同的配置。如果不是,将使用一个简单的认证策略,你可能会看到类似这样的信息:

    Using default password for shell access: ec03e16c-4cf4-49ee-b745-7c8255c1dd7e
    

Linux和OSX用户可以使用 ssh 连接远程shell,Windows用户可以下载并安装PuTTY。

    $ ssh -p 2000 user@localhost
    user@localhost's password:
    . ____ _ __ _ _
    /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
    \\/ ___)| |_)| | | | | || (_| | ) ) ) )
    ' |____| .__|_| |_|_| |_\__, | / / / /
    =========|_|==============|___/=/_/_/_/
    :: Spring Boot :: (v1.3.0.BUILD-SNAPSHOT) on myhost
  • 输入help可以获取一系列命令的帮助。Spring boot提供 metrics , beans , autoconfig 和 endpoint 命令。
远程shell证书
  • 你可以使用 shell.auth.simple.user.name 和 shell.auth.simple.user.password 属性配置自定义的连接证书。也可以使用Spring Security的AuthenticationManager处理登录职责。

扩展远程shell

  • 有很多有趣的方式可以用来扩展远程shell。
远程shell命令

你可能感兴趣的:(29.使用远程shell来进行监控和管理)