Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: modules/nagios/files/check_bandwidth

Issue 29460557: Noissue - Remove ineffective line from check_bandwidth script (Closed)
Patch Set: Created June 9, 2017, 7:23 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 import os, re, subprocess, sys, socket, struct, fcntl 3 import os, re, subprocess, sys, socket, struct, fcntl
4 4
5 INTERVAL = 5 5 INTERVAL = 5
6 6
7 def format_bandwidth(bits): 7 def format_bandwidth(bits):
8 if bits >= 1000000: 8 if bits >= 1000000:
9 return "%.2f Mbit/s" % (bits / 1000000) 9 return "%.2f Mbit/s" % (bits / 1000000)
10 elif bits >= 1000: 10 elif bits >= 1000:
11 return "%.2f kbit/s" % (bits / 1000) 11 return "%.2f kbit/s" % (bits / 1000)
12 else: 12 else:
13 return "%.2f bit/s" % bits 13 return "%.2f bit/s" % bits
14 14
15 def getmacaddress(nic="eth0"): 15 def getmacaddress(nic="eth0"):
16 # See man netdevice for the request structure: it has to start with 16 bytes 16 # See man netdevice for the request structure: it has to start with 16 bytes
17 # containing the interface name, the OS will write 8 bytes after that (2 bytes 17 # containing the interface name, the OS will write 8 bytes after that (2 bytes
18 # family name and 6 bytes actual MAC address). 18 # family name and 6 bytes actual MAC address).
19 s = socket.socket() 19 s = socket.socket()
20 SIOCGIFHWADDR = 0x8927 # see man ioctl_list 20 SIOCGIFHWADDR = 0x8927 # see man ioctl_list
21 return fcntl.ioctl(s.fileno(), SIOCGIFHWADDR, struct.pack("24s", nic))[18:24] 21 return fcntl.ioctl(s.fileno(), SIOCGIFHWADDR, struct.pack("24s", nic))[18:24]
22 22
23 if __name__ == "__main__": 23 if __name__ == "__main__":
24 if len(sys.argv) != 4: 24 if len(sys.argv) != 4:
25 script_name = os.path.basename(sys.argv[0]) 25 script_name = os.path.basename(sys.argv[0])
26 print "Usage: %s WARN CRIT NIC" % script_name 26 print "Usage: %s WARN CRIT NIC" % script_name
27 sys.exit(0) 27 sys.exit(0)
28 28
29 (warn, crit) = sys.argv[1:3]
30 warn = int(sys.argv[1]) 29 warn = int(sys.argv[1])
31 crit = int(sys.argv[2]) 30 crit = int(sys.argv[2])
32 nic = str(sys.argv[3]) 31 nic = str(sys.argv[3])
33 32
34 process = subprocess.Popen( 33 process = subprocess.Popen(
35 ["sudo", "tcpdump", "-q", "-s", "64", "-G", str(INTERVAL), "-W", "1", "-w", "-"], 34 ["sudo", "tcpdump", "-q", "-s", "64", "-G", str(INTERVAL), "-W", "1", "-w", "-"],
36 stdout=subprocess.PIPE, stderr=subprocess.PIPE) 35 stdout=subprocess.PIPE, stderr=subprocess.PIPE)
37 mac = getmacaddress(nic) 36 mac = getmacaddress(nic)
38 37
39 total = {"rx": 0, "tx": 0} 38 total = {"rx": 0, "tx": 0}
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 131
133 if total["rx"] >= crit or total["tx"] >= crit: 132 if total["rx"] >= crit or total["tx"] >= crit:
134 print "CRITICAL - " + output 133 print "CRITICAL - " + output
135 sys.exit(2) 134 sys.exit(2)
136 135
137 if total["rx"] >= warn or total["tx"] >= warn: 136 if total["rx"] >= warn or total["tx"] >= warn:
138 print "WARNING - " + output 137 print "WARNING - " + output
139 sys.exit(1) 138 sys.exit(1)
140 139
141 print "OK - " + output 140 print "OK - " + output
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld