Example #1
0
def index():

    list = []
    creds = config.get_ec2_conf()

    for region in config.region_list():
        conn = connect_to_region(
            region,
            aws_access_key_id=creds['AWS_ACCESS_KEY_ID'],
            aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
        zones = conn.get_all_zones()
        instances = conn.get_all_instances()
        instance_count = len(instances)
        ebs = conn.get_all_volumes()
        ebscount = len(ebs)
        unattached_ebs = 0
        unattached_eli = 0
        active_count = 0

        for instance in instances:
            active = instances
            if active:
                active_count = active_count + 1

        for vol in ebs:
            state = vol.attachment_state()
            if state == None:
                unattached_ebs = unattached_ebs + 1

        elis = conn.get_all_addresses()
        eli_count = len(elis)

        for eli in elis:
            instance_id = eli.instance_id
            if not instance_id:
                unattached_eli = unattached_eli + 1

        connelb = boto.ec2.elb.connect_to_region(
            region,
            aws_access_key_id=creds['AWS_ACCESS_KEY_ID'],
            aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
        elb = connelb.get_all_load_balancers()
        elb_count = len(elb)
        list.append({
            'region': region,
            'zones': zones,
            'instance_count': instance_count,
            'ebscount': ebscount,
            'unattached_ebs': unattached_ebs,
            'eli_count': eli_count,
            'unattached_eli': unattached_eli,
            'elb_count': elb_count,
            'active_count': active_count
        })

    return render_template('index.html', list=list)
Example #2
0
def index():
    list = []

    for region in config.region_list():
        zones = aws.get_zones(region)
        instances = aws.get_instances(region)
        ebs = aws.get_ebs(region)
        subnets = aws.get_subnets(region)
        vpcs = aws.get_vpcs(region)
        rds = aws.get_rds(region)

        unattached_ebs = 0
        unattached_eli = 0
        event_count = 0
        improperelb = 0
        ip_low_subnet = 0

        for subnet in subnets:
            if subnet.available_ip_address_count < 15:
                ip_low_subnet = ip_low_subnet + 1

        for instance in instances:
            events = instance.events
            if events and "Completed" not in instance.events[0].description:
                event_count = event_count + 1

        for vol in ebs:
            state = vol.attachment_state()
            if state == None:
                try:
                    vol.tags['Status']
                    if vol.tags['Status'] == "InUse":
                        continue
                except KeyError:
                    unattached_ebs = unattached_ebs + 1

        elis = aws.get_addresses(region)
        for eli in elis:
            instance_id = eli.instance_id
            if not instance_id:
                unattached_eli = unattached_eli + 1

        elbs = aws.get_loadbalancers(region)
        for elb in elbs:
            if len(elb.instances) < 1:
                improperelb = improperelb + 1
        list.append({ 'region' : region, 'zones': zones, 'instance_count' : len(instances), 'ebscount' : len(ebs),
            'unattached_ebs' : unattached_ebs, 'eli_count' : len(elis), 'unattached_eli' : unattached_eli,
            'elb_count' : len(elbs), 'event_count' : event_count, 'improper_elb': improperelb,
            'subnet_counter': len(subnets), 'ip_low_subnet': ip_low_subnet, 'vpc_count': len(vpcs), 'rds_counter': len(rds)})
    return render_template('index.html', list=list)
Example #3
0
def index():

	list = []
	creds = config.get_ec2_conf()

	for region in config.region_list():
		conn = connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
		zones = conn.get_all_zones()	
		instances = conn.get_all_instance_status(max_results=2000)
		instance_count = len(instances)
		ebs = conn.get_all_volumes()
		ebscount = len(ebs)
		unattached_ebs = 0
		unattached_eli = 0
		event_count = 0
	
		for instance in instances:
			events = instance.events
			if events:
				event_count = event_count + 1	

		for vol in ebs:
			state = vol.attachment_state()
			if state == None:
				unattached_ebs = unattached_ebs + 1

		elis = conn.get_all_addresses()
		eli_count = len(elis)


		for eli in elis:
			instance_id = eli.instance_id
			if not instance_id:
				unattached_eli = unattached_eli + 1

		connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
		elb = connelb.get_all_load_balancers()
		elb_count = len(elb)
		list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count})
		
	return render_template('index.html',list=list)
Example #4
0
def instance_events_all(region=None):
    Ntag = (lambda x: 'Name not Assigned' if x is None else x[0]['Value'])
    instance_event_list_all = []
    for region in config.region_list():
        ec2 = boto3.resource('ec2', region_name=region)
        instances = ec2.instances.filter()
        for i in instances:
            event_info_all = {
                'instance_id': i.id,
                'State': i.state['Name'],
                'Region': i.placement['AvailabilityZone'],
                'Public_DNS': i.public_ip_address,
                'Private_DNS': i.private_ip_address,
                'Type': i.instance_type,
                'Name': Ntag(i.tags)
            }
            instance_event_list_all.append(event_info_all)
            instance_list_all = sorted(instance_event_list_all,
                                       key=lambda k: k['State'])


#        return render_template('instance_events_all.html', instance_event_list=instance_list_all)
    return render_template('instance_events.html',
                           instance_event_list=instance_list_all)
Example #5
0
def index():
    if (len(session.keys()) > 0):

        list = []
        creds = config.get_ec2_conf()
        for region in config.region_list():
            ec2 = boto3.client('ec2', region)
            resp = ec2.describe_availability_zones()
            #                zones=[d['ZoneName'] for d in resp['AvailabilityZones'] if d['ZoneName']]
            zones = [d for d in resp['AvailabilityZones'] if d['ZoneName']]
            ec2 = boto3.resource('ec2', region_name=region)
            instances = ec2.instances.filter()
            instances = [i.id for i in instances]
            ebs = [
                volume for instance in ec2.instances.all()
                for volume in instance.volumes.all()
            ]
            ebscount = len(ebs)
            instance_count = len(instances)

            ##		instance_count = len(instances)
            ##		ebs = conn.get_all_volumes()
            ##		ebscount = len(ebs)
            unattached_ebs = 0
            unattached_eli = 0
            ##		event_count = 0
            ##
            ##		for instance in instances:
            ##			events = instance.events
            ##			if events:
            ##				event_count = event_count + 1
            ##
            ##		for vol in ebs:
            ##			state = vol.attachment_state()
            ##			if state == None:
            ##				unattached_ebs = unattached_ebs + 1
            ##
            ##		elis = conn.get_all_addresses()
            ##		eli_count = len(elis)
            ##
            ##
            ##		for eli in elis:
            ##			instance_id = eli.instance_id
            ##			if not instance_id:
            ##				unattached_eli = unattached_eli + 1
            ##
            ##		connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
            ##		elb = connelb.get_all_load_balancers()
            ##		elb_count = len(elb)
            ##		list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count})
            list.append({
                'region': region,
                'zones': zones,
                'instance_count': instance_count,
                'unattached_ebs': unattached_ebs,
                'unattached_eli': unattached_eli
            })
        ##
        return render_template('index.html', list=list)
    else:
        return redirect(url_for('login'))
Example #6
0
def list():

    for region in config.region_list():

        session = boto3.Session(profile_name=config.profile)
        ec2 = session.resource('ec2')

        resourceList = []

        for vpc in ec2.vpcs.all():

            vpcDetail = {}
            vpcDetail['id'] = vpc.id

            if vpc.tags is not None:
                for tags in vpc.tags:
                    if tags['Key'] == 'Name':
                        vpcDetail['vpc_name'] = tags['Value']
            else:
                vpcDetail['vpc_name'] = "Default VPC"

            subnet_list = []
            for subnet in vpc.subnets.all():

                subnetDetail = {}
                subnetDetail['id'] = subnet.id

                if subnet.tags is not None:
                    for tags in subnet.tags:
                        if tags['Key'] == 'Name':
                            subnetDetail['subnet_name'] = tags['Value']
                else:
                    subnetDetail['subnet_name'] = "Default Subnet"

                instances = subnet.instances.all()

                instances_list = []
                ###Looping all running instances
                for instance in instances:

                    instancesDetail = {}

                    instancesDetail['id'] = instance.id

                    for tags in instance.tags:
                        if tags['Key'] == 'Name':
                            instancesDetail['instance_name'] = tags['Value']

                    ##Looping running instances security groups
                    for sg in instance.security_groups:

                        ## get security group detail
                        securityGroup = ec2.SecurityGroup(sg['GroupId'])

                        instancesDetail[
                            'sg_ingress'] = securityGroup.ip_permissions
                        instancesDetail[
                            'sg_egress'] = securityGroup.ip_permissions_egress

                    instances_list.append(instancesDetail)

                subnetDetail['instances'] = instances_list
                subnet_list.append(subnetDetail)

            vpcDetail['subnets'] = subnet_list

            resourceList.append(vpcDetail)

    return render_template("ec2/list.html", resources=resourceList)
Example #7
0
def index():

    list = []
    creds = config.get_ec2_conf()
    key = creds['AWS_ACCESS_KEY_ID']
    secret = creds['AWS_SECRET_ACCESS_KEY']

    for region in config.region_list():
        conn = connect_to_region(region, aws_access_key_id=key, aws_secret_access_key=secret)
        vpcconn = boto.vpc.connect_to_region(region, aws_access_key_id=key, aws_secret_access_key=secret)
        zones = conn.get_all_zones()
        instances = conn.get_all_instance_status(max_results=2000)
        instance_count = len(instances)
        ebs = conn.get_all_volumes()
        ebscount = len(ebs)
        subnets = vpcconn.get_all_subnets()
        unattached_ebs = 0
        unattached_eli = 0
        event_count = 0
        improperelb = 0
        subnet_counter = 0
        ip_low_subnet = 0
        subnet_counter = len(subnets)

        for subnet in subnets:
            if subnet.available_ip_address_count < 15:
                ip_low_subnet = ip_low_subnet + 1


        for instance in instances:
            events = instance.events
            if events and "Completed" not in instance.events[0].description:
                event_count = event_count + 1

        for vol in ebs:
            state = vol.attachment_state()
            if state == None:
                try:
                    vol.tags['Status']
                    if vol.tags['Status'] == "InUse":
                        continue
                except KeyError:
                    unattached_ebs = unattached_ebs + 1


        elis = conn.get_all_addresses()
        eli_count = len(elis)

        for eli in elis:
            instance_id = eli.instance_id
            if not instance_id:
                unattached_eli = unattached_eli + 1

        connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY'])
        elbs = connelb.get_all_load_balancers()
        elb_count = len(elbs)

        for elb in elbs:
            if len(elb.instances) < 1:
                improperelb = improperelb + 1
        list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count, 'improper_elb': improperelb, 'subnet_counter': subnet_counter, 'ip_low_subnet': ip_low_subnet})

    return render_template('index.html', list=list)