1

是否可以通过AWS SDK以某种方式请求“快照日志”?

可以通过 AWS 控制台执行此操作:

在此处输入图像描述

交叉张贴到亚马逊论坛

4

1 回答 1

3

请求日志快照是一个 3 步过程。首先你必须做一个环境信息请求:

elasticBeanstalk.requestEnvironmentInfo(
    new RequestEnvironmentInfoRequest()
        .withEnvironmentName(envionmentName)
        .withInfoType("tail"));

然后你必须检索环境信息:

final List<EnvironmentInfoDescription> envInfos =
     elasticBeanstalk.retrieveEnvironmentInfo(
         new RetrieveEnvironmentInfoRequest()
             .withEnvironmentName(environmentName)
             .withInfoType("tail")).getEnvironmentInfo();

这将返回环境信息描述列表,其中包含 EC2 实例 ID 和包含日志快照的 S3 对象的 URL。然后,您可以使用以下命令检索日志:

    DefaultHttpClient client = new DefaultHttpClient();
    DefaultHttpRequestRetryHandler retryhandler = 
        new DefaultHttpRequestRetryHandler(3, true);
    client.setHttpRequestRetryHandler(retryhandler);

    for (EnvironmentInfoDescription environmentInfoDescription : envInfos) {
        System.out.println(environmentInfoDescription.getEc2InstanceId());
         HttpGet rq = new HttpGet(environmentInfoDescription.getMessage());
         try {                    
             HttpResponse response = client.execute(rq);
             InputStream content = response.getEntity().getContent();                    
             System.out.println(IOUtils.toString(content));
         } catch ( Exception e ) {
             System.out.println("Exception fetching " + 
                 environmentInfoDescription.getMessage());
         }
    }

我希望这有帮助!

于 2012-10-10T18:58:09.920 回答