6

Y at-il une solution possible pour diffuser le journal Node.JS de l'application s'exécutant sur Elastic Beanstalk vers Amazon CloudWatch?AWS EB Node.JS Connexion à CloudWatch

J'ai vu cwl-webrequest-metrics.config fichier mais sans aucune information sur son format Je ne peux pas le formater pour streamer le journal Node.JS (seulement) vers CloudWatch.

Que d'avance pour vos commentaires!

+0

pouvez-vous s'il vous plaît élaborer plus sur le flux, vous voulez comme nous faisons "queue -f/logs"? – abaid778

+0

Je voudrais juste /var/log/nodejs/nodejs.log être diffusé automatiquement de EB à CloudWatch et c'est tout. – Alexey

+0

Des progrès ici? – user1791139

Répondre

4

Question est un peu vieux, mais pour ceux d'entre vous venant de Google, voici un travail .ebextension config pour Node.JS log en continu dans 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 

On dirait http://serebrov.github.io/html/2015-05-20-cloudwatch-setup.html pourrait être une bonne référence aussi bien .