@@ -22,23 +22,51 @@ def main():
22
22
print ("Disks:" )
23
23
disks = []
24
24
for x in disk_info :
25
- disk = {
26
- "name" : x .device ,
27
- "mount_point" : x .mountpoint ,
28
- "type" : x .fstype ,
29
- "total_size" : psutil .disk_usage (x .mountpoint ).total ,
30
- "used_size" : psutil .disk_usage (x .mountpoint ).used ,
31
- "percent_used" : psutil .disk_usage (x .mountpoint ).percent
32
- }
33
-
34
- disks .append (disk )
35
-
36
- print ("\t Disk name" ,disk ["name" ], "\t Mount Point:" , disk ["mount_point" ], "\t Type" ,disk ["type" ], "\t Size:" , disk ["total_size" ] / 1e+9 ,"\t Usage:" , disk ["used_size" ] / 1e+9 , "\t Percent Used:" , disk ["percent_used" ])
37
-
38
- # Network Info
25
+ # Try fixes issues with connected 'disk' such as CD-ROMS, Phones, etc.
26
+ try :
27
+ disk = {
28
+ "name" : x .device ,
29
+ "mount_point" : x .mountpoint ,
30
+ "type" : x .fstype ,
31
+ "total_size" : psutil .disk_usage (x .mountpoint ).total ,
32
+ "used_size" : psutil .disk_usage (x .mountpoint ).used ,
33
+ "percent_used" : psutil .disk_usage (x .mountpoint ).percent
34
+ }
35
+
36
+ disks .append (disk )
37
+
38
+ print ("\t Disk name" ,disk ["name" ], "\t Mount Point:" , disk ["mount_point" ], "\t Type" ,disk ["type" ], "\t Size:" , disk ["total_size" ] / 1e+9 ,"\t Usage:" , disk ["used_size" ] / 1e+9 , "\t Percent Used:" , disk ["percent_used" ])
39
+ except :
40
+ print ("" )
41
+
42
+ # Bandwidth Info
39
43
network_stats = get_bandwidth ()
40
44
print ("Network:\n \t Traffic in:" ,network_stats ["traffic_in" ] / 1e+6 ,"\n \t Traffic out:" ,network_stats ["traffic_out" ] / 1e+6 )
41
45
46
+ # Network Info
47
+ nics = []
48
+ print ("NICs:" )
49
+ for name , snic_array in psutil .net_if_addrs ().items ():
50
+ # Create NIC object
51
+ nic = {
52
+ "name" : name ,
53
+ "mac" : "" ,
54
+ "address" : "" ,
55
+ "address6" : "" ,
56
+ "netmask" : ""
57
+ }
58
+ # Get NiC values
59
+ for snic in snic_array :
60
+ if snic .family == - 1 :
61
+ nic ["mac" ] = snic .address
62
+ elif snic .family == 2 :
63
+ nic ["address" ] = snic .address
64
+ nic ["netmask" ] = snic .netmask
65
+ elif snic .family == 23 :
66
+ nic ["address6" ] = snic .address
67
+ nics .append (nic )
68
+ print ("\t NIC:" ,nic ["name" ], "\t MAC:" , nic ["mac" ], "\t IPv4 Address:" ,nic ["address" ], "\t IPv4 Subnet:" , nic ["netmask" ], "\t IPv6 Address:" , nic ["address6" ])
69
+
42
70
# Platform Info
43
71
system = {
44
72
"name" : platform .system (),
@@ -68,6 +96,7 @@ def main():
68
96
"drives" : disks ,
69
97
"network_up" : network_stats ["traffic_out" ],
70
98
"network_down" : network_stats ["traffic_in" ],
99
+ "network_cards" : nics ,
71
100
"timestamp" : timestamp
72
101
}
73
102
@@ -108,7 +137,7 @@ def send_data(data):
108
137
try :
109
138
# endpoint = monitoring server
110
139
endpoint = "http://monitor.localhost.local/api/"
111
- response = requests .post (url = endpoint , params = { " data" : data } )
140
+ response = requests .post (url = endpoint , data = data )
112
141
print ("\n POST:" )
113
142
print ("Response:" , response .status_code )
114
143
print ("Headers:" )
@@ -122,7 +151,7 @@ def send_data(data):
122
151
print ("No JSON content" )
123
152
break
124
153
except requests .exceptions .RequestException as e :
125
- print ("\POST Error:\n " ,e )
154
+ print ("\n POST Error:\n " ,e )
126
155
# Sleep 1 minute before retrying
127
156
time .sleep (60 )
128
157
else :
0 commit comments