-
Notifications
You must be signed in to change notification settings - Fork 22
/
monitoring_logs.py
101 lines (79 loc) · 3.83 KB
/
monitoring_logs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
"""
Stupid and simple smoke tests.
Uses ENV vars to store user, key and group.
TODO: Create real tests
"""
from atlasapi.atlas import Atlas
from pprint import pprint
from os import environ, getenv
from atlasapi.specs import ListOfHosts, Host
USER = getenv('ATLAS_USER', None)
API_KEY = getenv('ATLAS_KEY', None)
GROUP_ID = getenv('ATLAS_GROUP', None)
from atlasapi.lib import AtlasPeriods, AtlasUnits, AtlasGranularities
from atlasapi.measurements import AtlasMeasurementTypes
import csv
if not USER or not API_KEY or not GROUP_ID:
raise EnvironmentError('In order to run this smoke test you need ATLAS_USER, AND ATLAS_KEY env variables'
'your env variables are {}'.format(environ.__str__()))
a = Atlas(USER, API_KEY, GROUP_ID)
# Low level Api
# details = a.Hosts._get_all_hosts(pageNum=1, itemsPerPage=100)
# pprint(details)
# print('-----------------Now as iterable ------------------')
# Iterable
# for a_host in a.Hosts.host_names:
# print(a_host)
pprint('----------MeasureMents')
# a.Hosts._get_measurement_for_host(a.Hosts.host_list[0]
# ,measurement=AtlasMeasurementTypes.Memory.virtual,iterable=True
# ,period=AtlasPeriods.HOURS_24,granularity=AtlasGranularities.MINUTE)
#
# a.Hosts._get_measurement_for_host(a.Hosts.host_list[0]
# ,measurement=AtlasMeasurementTypes.Memory.resident,iterable=True
# ,period=AtlasPeriods.HOURS_24,granularity=AtlasGranularities.MINUTE)
#
# a.Hosts._get_measurement_for_host(a.Hosts.host_list[1]
# ,measurement=AtlasMeasurementTypes.Memory.virtual,iterable=True
# ,period=AtlasPeriods.HOURS_24,granularity=AtlasGranularities.MINUTE)
#
# a.Hosts._get_measurement_for_host(a.Hosts.host_list[0]
# ,measurement=AtlasMeasurementTypes.Memory.virtual,iterable=True
# ,period=AtlasPeriods.HOURS_24,granularity=AtlasGranularities.MINUTE)
#
#
# print(len(a.Hosts.host_list))
#
# for each in a.Hosts.host_list:
# print('Hostname: {} - Measurements: {}'.format(each.hostname, each.measurements))
# pprint('------------Test list of clusters-----------------')
#
# cluster_list = a.Hosts.cluster_list
# for cluster in cluster_list:
# print('Cluster name {}'.format(cluster))
pprint('------------Test get hosts by cluster-----------------')
# hosts = a.Hosts.host_list_by_cluster('monitoringtest')
print('-----------Test get metrics for a clusters hosts---------------')
a.Hosts.fill_host_list(for_cluster='monitoringtest')
#a.Hosts.get_measurement_for_hosts(measurement=AtlasMeasurementTypes.Network.bytes_out
# , period=AtlasPeriods.HOURS_1, granularity=AtlasGranularities.FIVE_MINUTE)
for hostObj in a.Hosts.host_list:
hostObj.get_measurement_for_host(measurement=AtlasMeasurementTypes.Network.bytes_out,
period=AtlasPeriods.HOURS_1, granularity=AtlasGranularities.FIVE_MINUTE)
the = list()
#for host in a.Hosts.host_list:
# hostname = host.hostname
# for each_measurement in host.measurements:
# name = each_measurement.name
# for each_point in each_measurement._measurements:
# timestamp = each_point.timestamp
# value = each_point.value
# the.append(dict(hostname=hostname,metric=name,value=value,timestamp=timestamp))
# pprint(dict(hostname=hostname,metric=name,value=value,timestamp=timestamp))
#
#with open('names.csv', 'w', newline='') as csvfile:
# fieldnames = ['hostname', 'metric', 'value', 'timestamp']
# writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
# writer.writeheader()
# for item in the:
# writer.writerow(item)