diff --git a/varnishstat-to-cloudwatch.py b/varnishstat-to-cloudwatch.py index 3835997d6721e5ed221fea2acdcf833782ccbe5d..5d12ecdec8c3173840bb5dfa2ff39a323d779a2e 100755 --- a/varnishstat-to-cloudwatch.py +++ b/varnishstat-to-cloudwatch.py @@ -1,8 +1,9 @@ #!/usr/bin/python import boto3 -import urllib2 +#import urllib2 import json +import requests import sys #import re #import tempfile @@ -25,7 +26,7 @@ def main(): previous_data = None metrics = {} while True: - current_data = json.loads(subprocess.check_output(['varnishstat', '-j', '-1', '-f', 'MAIN.client_req', '-f', 'MAIN.cache_hit'])) + current_data = json.loads(subprocess.check_output(['varnishstat', '-j', '-1', '-f', 'MAIN.client_req', '-f', 'MAIN.cache_hit']))['counters'] if previous_data: metric_data = [] for key in current_data: @@ -56,8 +57,10 @@ def main(): # Returns the region the instance is currently running in (eg: 'us-east') def get_region(): - instance_info = urllib2.urlopen('http://169.254.169.254/2018-09-24/dynamic/instance-identity/document/').read() - instance_info = json.loads(instance_info) + session_token = requests.put('http://169.254.169.254/latest/api/token', headers={'X-aws-ec2-metadata-token-ttl-seconds': 60}).text + instance_info = requests.get('http://169.254.169.254/2018-09-24/dynamic/instance-identity/document/', headers={'X-aws-ec2-metadata-token': session_token}).json() + #instance_info = urllib2.urlopen('http://169.254.169.254/2018-09-24/dynamic/instance-identity/document/').read() + #instance_info = json.loads(instance_info) return instance_info['region'] # Returns the instance_id of this VM.