如果您需要将云监控页面分享给其他人或者嵌入到第三方系统,可以通过本文生成免密且免登录的链接进行分享。
注意事项
生成单个免密免登录链接
当您临时需要分享页面给他人时,使用以下方式可快速获取一个免密免登录链接。
准备链接:登录云监控2.0控制台,
<RegionId>与<Workspace名称>取值参考工作空间名称与所在地区。https://cmsnext.console.aliyun.com/next/region/<RegionId>/workspace/<Workspace名称>/app/apm/application-list获取Ticket凭证:调用CreateTicket获取Ticket,每个生成的Ticket只能被同一个浏览器或主机访问,有效期默认一天。
拼接生成链接:将上述准备的链接与Ticket凭证拼接,生成免密且免登录访问链接。
https://cmsnext.console.aliyun.com/next/region/<RegionId>/workspace/<Workspace名称>/app/apm/application-list?sls_ticket=eyJ***************.eyJ******************.KUT****************链接测试:将生成的链接输入浏览器地址栏进行测试。若可正常打开,则说明已成功生成免登录链接。
重要此处测试即为首次在浏览器中打开免登录链接,测试完成后,Ticket会失效。需要重新获取Ticket。
建议将链接复制到文件中,然后传输文件。如果直接在第三方软件中发送链接,可能因为被第三方软件读取而失效。
嵌入第三方系统,如何动态生成链接
如果在第三方系统中嵌入控制台页面,由于Ticket会过期导致链接失效,因此需要在应用程序中动态调用CreateTicket接口,以定期获取Ticket。
说明
Ticket默认有效时长为24小时。
生成Ticket的总数没有限制,CreateTicket QPS限制为每用户10次/s。
RAM用户生成Ticket,此处以Java为例:
添加Maven依赖:在Java项目的根目录下,打开pom.xml文件,添加以下代码:
<dependency> <groupId>com.aliyun</groupId> <artifactId>cms20240330</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>tea-openapi</artifactId> <version>0.3.2</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>tea-console</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>tea-util</artifactId> <version>0.2.21</version> </dependency>使用RAM用户密钥创建Ticket。
import com.aliyun.tea.*; public class Sample { /** * 使用AK&SK初始化账号Client * @return Client * @throws Exception */ public static com.aliyun.cms20240330.Client createClient() throws Exception { // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。 // 建议使用更安全的 STS 方式。 com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // Endpoint 请参考 https://api.aliyun.com/product/Sls config.endpoint = "cn-shanghai.log.aliyuncs.com"; return new com.aliyun.cms20240330.Client(config); } public static void main(String[] args_) throws Exception { java.util.List<String> args = java.util.Arrays.asList(args_); com.aliyun.cms20240330.Client client = Sample.createClient(); com.aliyun.cms20240330.models.CreateTicketRequest createTicketRequest = new com.aliyun.cms20240330.models.CreateTicketRequest(); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); java.util.Map<String, String> headers = new java.util.HashMap<>(); try { com.aliyun.cms20240330.models.CreateTicketResponse resp = client.createTicketWithOptions(createTicketRequest, headers, runtime); com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(resp)); } catch (TeaException error) { // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 // 错误 message System.out.println(error.getMessage()); // 诊断地址 System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); } catch (Exception _error) { TeaException error = new TeaException(_error.getMessage(), _error); // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 // 错误 message System.out.println(error.getMessage()); // 诊断地址 System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); } } }
根据返回的Ticket拼接出免密链接。
调整页面显示效果
通过设置控制台内嵌参数,可调整内嵌页面的显示效果。云监控2.0提供了一系列UI参数与第三方自建Web页面进行融合展示。
参数表
该文章对您有帮助吗?







