Add a collectd/web-service role for monitoring site latency.
This commit is contained in:
parent
2e3ebf1ab4
commit
091dc9eb1c
3 changed files with 47 additions and 0 deletions
29
roles/collectd/web-service/templates/web-service-collectd.py
Normal file
29
roles/collectd/web-service/templates/web-service-collectd.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env python
|
||||
""" monitor website request times for collectd """
|
||||
|
||||
import time
|
||||
import urllib
|
||||
|
||||
|
||||
hostname = socket.gethostname() # Use FQDN, I guess..
|
||||
|
||||
|
||||
def get_loadtime(url):
|
||||
start = time.time()
|
||||
_ = urllib.urlopen(url)
|
||||
return time.time() - start
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
site = "{{ site }}"
|
||||
url = "{{ url }}"
|
||||
interval = int("{{ interval }}")
|
||||
|
||||
try:
|
||||
loadtime = get_loadtime(url)
|
||||
timestamp = int(time.time())
|
||||
print "PUTVAL %s/%s/delay-%s interval=%i %i:%i" % (
|
||||
hostname, 'web', site, interval, timestamp, loadtime)
|
||||
sleep(interval)
|
||||
except KeyboardInterrupt:
|
||||
pass
|
Loading…
Add table
Add a link
Reference in a new issue