6

是否有任何可能的解决方案将运行在Elastic Beanstalk上的应用程序的Node.JS日志流式传输到Amazon CloudWatch?AWS EB Node.JS登录到CloudWatch

我确实看到了cwl-webrequest-metrics.config文件,但没有关于格式的信息我无法格式化它以将Node.JS日志(仅)传送到CloudWatch。

那你提前发表您的意见!

+0

可以请您详细阐述一下流,你想像我们做“tail -f/logs”吗? – abaid778

+0

我只想将/var/log/nodejs/nodejs.log从EB自动流式传输到CloudWatch,那就是它。 – Alexey

+0

这里有什么进展? – user1791139

回答

4

问题是有点老了,但对于那些你从谷歌的到来,这里是为Node.js的工作.ebextension配置日志洒进的CloudWatch:

# Store Node.JS Application Logs in Cloudwatch 
Mappings: 
    CWLogs: 
    NodeJSLogGroup: 
     LogFile: "/var/log/nodejs/nodejs.log" 
     TimestampFormat: "%d/%b/%Y:%H:%M:%S %z" 

Outputs: 
    NodeJSCWLogGroup: 
    Description: "Node.JS Application Logs" 
    Value: { "Ref" : "AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0NodeJSLogGroup"} 


Resources : 
    AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0NodeJSLogGroup: ## Must have prefix: AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0 
    Type: "AWS::Logs::LogGroup" 
    DependsOn: AWSEBBeanstalkMetadata 
    DeletionPolicy: Retain  ## this is required 
    Properties: 
     LogGroupName: 
     "Fn::GetOptionSetting": 
      Namespace: "aws:elasticbeanstalk:application:environment" 
      OptionName: NodeJSCWLogGroup 
      DefaultValue: {"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "nodejs"]]} 
     RetentionInDays: 14 


    ## Register the files/log groups for monitoring 
    AWSEBAutoScalingGroup: 
    Metadata: 
     "AWS::CloudFormation::Init": 
     CWLogsAgentConfigSetup: 
      files: 
      ## any .conf file put into /tmp/cwlogs/conf.d will be added to the cwlogs config (see cwl-agent.config) 
      "/tmp/cwlogs/conf.d/nodejs.conf": 
       content : | 
       [nodjs-log] 
       file = `{"Fn::FindInMap":["CWLogs", "NodeJSLogGroup", "LogFile"]}` 
       log_group_name = `{ "Ref" : "AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0NodeJSLogGroup" }` 
       log_stream_name = {instance_id} 
       datetime_format = `{"Fn::FindInMap":["CWLogs", "NodeJSLogGroup", "TimestampFormat"]}` 
       mode : "000400" 
       owner : root 
       group : root 

看起来http://serebrov.github.io/html/2015-05-20-cloudwatch-setup.html可能是一个很好的参考,以及。