Skip to content

Commit

Permalink
Merge pull request #138 from moskey71/cwl-wildcard
Browse files Browse the repository at this point in the history
Cwl wildcard
  • Loading branch information
moskey71 authored Jul 9, 2019
2 parents 6d23cb4 + e0ed965 commit 75798e8
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 109 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.15.2
current_version = 1.15.3
commit = True
message = Bumps version to {new_version}
tag = False
Expand Down
51 changes: 25 additions & 26 deletions modules/lx-autoscale/watchmaker-lx-autoscale.template.cfn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ Metadata:
default: Force Cfn Init Update
ToggleNewInstances:
default: Force New Instances
Version: 1.15.2
Version: 1.15.3
Outputs:
ScaleDownScheduledAction:
Condition: UseScheduledAction
Expand Down Expand Up @@ -714,46 +714,45 @@ Resources:
}
/etc/cfn/scripts/aws-cw-agent/cloudwatch-applog-config.py:
content: !Sub
- |-
- |
import json
import os
cloudwatch_baseline = "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json"
log_group_name = "/aws/ec2/lx/${AWS::StackName}"
log_paths_input = (r'''${local_addCWLtarget}''').split(",")
CWA_CONFIG = "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json"
LOG_GROUP = "/aws/ec2/lx/${AWS::StackName}"
LOG_PATHS = (r'''${local_addCWLtarget}''').split(",")
def get_stream_name(log_path):
log_no_ext = os.path.splitext(os.path.basename(log_path))[0]
return "{}_logs_{{instance_id}}".format(log_no_ext)
def get_stream_name(path):
return '{{instance_id}}/{}'.format(path.replace('*', '('))
def load_baseline():
print('Loading existing cwl baseline')
with open(cloudwatch_baseline, 'r') as f:
return json.load(f)
def load_json(path):
with open(path, 'r') as fh_:
return json.load(fh_)
def write_baseline(baseline):
print('Writing new cwl baseline')
with open(cloudwatch_baseline, 'w') as f:
f.write(json.dumps(baseline, sort_keys=True, indent=4))
def dump_json(path, data):
with open(path, 'w') as fh_:
fh_.write(json.dumps(data, sort_keys=True, indent=4))
if log_paths_input:
print('Additional cwl paths were defined.')
baseline = load_baseline()
for log_path in log_paths_input:
baseline['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log_path,
'log_group_name': log_group_name,
'log_stream_name': get_stream_name(log_path),
if LOG_PATHS:
print('Additional cwl paths were defined...')
print('Loading existing cwl baseline')
config = load_json(CWA_CONFIG)
for log in LOG_PATHS:
config['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log,
'log_group_name': LOG_GROUP,
'log_stream_name': get_stream_name(log),
'timestamp_format': "%H:%M:%S %y %b %-d"
})
write_baseline(baseline)
print('Writing new cwl baseline')
dump_json(CWA_CONFIG, config)
print('CWL baseline modification complete')
# convert CommaDelimitedList to a string for Fn::Sub compatibility
- local_addCWLtarget: !Join ["," ,!Ref CloudWatchAppLogs]
- local_addCWLtarget: !Join [",", !Ref CloudWatchAppLogs]
finalize:
commands:
10-signal-success:
Expand Down
51 changes: 25 additions & 26 deletions modules/lx-instance/watchmaker-lx-instance.template.cfn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Metadata:
ParameterLabels:
ToggleCfnInitUpdate:
default: Force Cfn Init Update
Version: 1.15.2
Version: 1.15.3
Outputs:
WatchmakerInstanceId:
Description: Instance ID
Expand Down Expand Up @@ -527,46 +527,45 @@ Resources:
}
/etc/cfn/scripts/aws-cw-agent/cloudwatch-applog-config.py:
content: !Sub
- |-
- |
import json
import os
cloudwatch_baseline = "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json"
log_group_name = "/aws/ec2/lx/${AWS::StackName}"
log_paths_input = (r'''${local_addCWLtarget}''').split(",")
CWA_CONFIG = "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json"
LOG_GROUP = "/aws/ec2/lx/${AWS::StackName}"
LOG_PATHS = (r'''${local_addCWLtarget}''').split(",")
def get_stream_name(log_path):
log_no_ext = os.path.splitext(os.path.basename(log_path))[0]
return "{}_logs_{{instance_id}}".format(log_no_ext)
def get_stream_name(path):
return '{{instance_id}}/{}'.format(path.replace('*', '('))
def load_baseline():
print('Loading existing cwl baseline')
with open(cloudwatch_baseline, 'r') as f:
return json.load(f)
def load_json(path):
with open(path, 'r') as fh_:
return json.load(fh_)
def write_baseline(baseline):
print('Writing new cwl baseline')
with open(cloudwatch_baseline, 'w') as f:
f.write(json.dumps(baseline, sort_keys=True, indent=4))
def dump_json(path, data):
with open(path, 'w') as fh_:
fh_.write(json.dumps(data, sort_keys=True, indent=4))
if log_paths_input:
print('Additional cwl paths were defined.')
baseline = load_baseline()
for log_path in log_paths_input:
baseline['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log_path,
'log_group_name': log_group_name,
'log_stream_name': get_stream_name(log_path),
if LOG_PATHS:
print('Additional cwl paths were defined...')
print('Loading existing cwl baseline')
config = load_json(CWA_CONFIG)
for log in LOG_PATHS:
config['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log,
'log_group_name': LOG_GROUP,
'log_stream_name': get_stream_name(log),
'timestamp_format': "%H:%M:%S %y %b %-d"
})
write_baseline(baseline)
print('Writing new cwl baseline')
dump_json(CWA_CONFIG, config)
print('CWL baseline modification complete')
# convert CommaDelimitedList to a string for Fn::Sub compatibility
- local_addCWLtarget: !Join ["," ,!Ref CloudWatchAppLogs]
- local_addCWLtarget: !Join [",", !Ref CloudWatchAppLogs]
finalize:
commands:
10-signal-success:
Expand Down
54 changes: 26 additions & 28 deletions modules/win-autoscale/watchmaker-win-autoscale.template.cfn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ Metadata:
default: Force Cfn Init Update
ToggleNewInstances:
default: Force New Instances
Version: 1.15.2
Version: 1.15.3
Outputs:
ScaleDownScheduledAction:
Condition: UseScheduledAction
Expand Down Expand Up @@ -702,47 +702,45 @@ Resources:
}
'c:\cfn\scripts\AmazonCloudWatchAgent\cloudwatch-applog-config.py':
content: !Sub
- |-
- |
import json
import os
cloudwatch_baseline = 'c:/cfn/scripts/AmazonCloudWatchAgent/aws-cloudwatch-agent-config.json'
log_group_name = "/aws/ec2/win/${AWS::StackName}"
log_paths_input = (r'''${local_addCWLtarget}''').split(",")
CWA_CONFIG = 'c:/cfn/scripts/AmazonCloudWatchAgent/aws-cloudwatch-agent-config.json'
LOG_GROUP = "/aws/ec2/win/${AWS::StackName}"
LOG_PATHS = (r'''${local_addCWLtarget}''').split(",")
def get_stream_name(log_path):
log_no_ext = os.path.splitext(os.path.basename(log_path))[0]
return "{}_logs_{{instance_id}}".format(log_no_ext)
def get_stream_name(path):
return '{{instance_id}}/{}'.format(path.replace('*', '('))
def load_baseline():
print('Loading existing cwl baseline')
with open(cloudwatch_baseline, 'r') as f:
return json.load(f)
def load_json(path):
with open(path, 'r') as fh_:
return json.load(fh_)
def write_baseline(baseline):
print('Writing new cwl baseline')
with open(cloudwatch_baseline, 'w') as f:
f.write(json.dumps(baseline, sort_keys=True, indent=4))
def dump_json(path, data):
with open(path, 'w') as fh_:
fh_.write(json.dumps(data, sort_keys=True, indent=4))
if log_paths_input:
print('Additional cwl paths were defined.')
baseline = load_baseline()
for log_path in log_paths_input:
baseline['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log_path,
'log_group_name': log_group_name,
'log_stream_name': get_stream_name(log_path),
if LOG_PATHS:
print('Additional cwl paths were defined...')
print('Loading existing cwl baseline')
config = load_json(CWA_CONFIG)
for log in LOG_PATHS:
config['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log,
'log_group_name': LOG_GROUP,
'log_stream_name': get_stream_name(log),
'timestamp_format': "%H:%M:%S %y %b %-d"
})
write_baseline(baseline)
print('Writing new cwl baseline')
dump_json(CWA_CONFIG, config)
print('CWL baseline modification complete')
# convert CommanDelimitedList to a string for Fn::Sub compatibility
-
local_addCWLtarget: !Join ["," ,!Ref CloudWatchAppLogs]
# convert CommaDelimitedList to a string for Fn::Sub compatibility
- local_addCWLtarget: !Join [",", !Ref CloudWatchAppLogs]
make-app:
commands:
10-make-app:
Expand Down
54 changes: 26 additions & 28 deletions modules/win-instance/watchmaker-win-instance.template.cfn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ Metadata:
ParameterLabels:
ToggleCfnInitUpdate:
default: Force Cfn Init Update
Version: 1.15.2
Version: 1.15.3
Outputs:
WatchmakerInstanceId:
Description: Instance ID
Expand Down Expand Up @@ -511,47 +511,45 @@ Resources:
}
'c:\cfn\scripts\AmazonCloudWatchAgent\cloudwatch-applog-config.py':
content: !Sub
- |-
- |
import json
import os
cloudwatch_baseline = 'c:/cfn/scripts/AmazonCloudWatchAgent/aws-cloudwatch-agent-config.json'
log_group_name = "/aws/ec2/win/${AWS::StackName}"
log_paths_input = (r'''${local_addCWLtarget}''').split(",")
CWA_CONFIG = 'c:/cfn/scripts/AmazonCloudWatchAgent/aws-cloudwatch-agent-config.json'
LOG_GROUP = "/aws/ec2/win/${AWS::StackName}"
LOG_PATHS = (r'''${local_addCWLtarget}''').split(",")
def get_stream_name(log_path):
log_no_ext = os.path.splitext(os.path.basename(log_path))[0]
return "{}_logs_{{instance_id}}".format(log_no_ext)
def get_stream_name(path):
return '{{instance_id}}/{}'.format(path.replace('*', '('))
def load_baseline():
print('Loading existing cwl baseline')
with open(cloudwatch_baseline, 'r') as f:
return json.load(f)
def load_json(path):
with open(path, 'r') as fh_:
return json.load(fh_)
def write_baseline(baseline):
print('Writing new cwl baseline')
with open(cloudwatch_baseline, 'w') as f:
f.write(json.dumps(baseline, sort_keys=True, indent=4))
def dump_json(path, data):
with open(path, 'w') as fh_:
fh_.write(json.dumps(data, sort_keys=True, indent=4))
if log_paths_input:
print('Additional cwl paths were defined.')
baseline = load_baseline()
for log_path in log_paths_input:
baseline['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log_path,
'log_group_name': log_group_name,
'log_stream_name': get_stream_name(log_path),
if LOG_PATHS:
print('Additional cwl paths were defined...')
print('Loading existing cwl baseline')
config = load_json(CWA_CONFIG)
for log in LOG_PATHS:
config['logs']['logs_collected']['files']['collect_list'].append({
'file_path': log,
'log_group_name': LOG_GROUP,
'log_stream_name': get_stream_name(log),
'timestamp_format': "%H:%M:%S %y %b %-d"
})
write_baseline(baseline)
print('Writing new cwl baseline')
dump_json(CWA_CONFIG, config)
print('CWL baseline modification complete')
# convert CommanDelimitedList to a string for Fn::Sub compatibility
-
local_addCWLtarget: !Join ["," ,!Ref CloudWatchAppLogs]
# convert CommaDelimitedList to a string for Fn::Sub compatibility
- local_addCWLtarget: !Join [",", !Ref CloudWatchAppLogs]
make-app:
commands:
10-make-app:
Expand Down

0 comments on commit 75798e8

Please sign in to comment.