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 .
pouvez-vous s'il vous plaît élaborer plus sur le flux, vous voulez comme nous faisons "queue -f/logs"? – abaid778
Je voudrais juste /var/log/nodejs/nodejs.log être diffusé automatiquement de EB à CloudWatch et c'est tout. – Alexey
Des progrès ici? – user1791139