| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- #!/usr/bin/python
 
- #
 
- # Options:
 
- #
 
- # -a active
 
- # -a accepted
 
- # -a handled
 
- # -a requests
 
- # -a reading
 
- # -a writing
 
- # -a waiting
 
- #
 
- import sys
 
- import getopt
 
- import urllib2
 
- import re
 
- import ssl
 
- def usage():
 
-     print "usage: nginx-stat.py -h 127.0.0.1 -p 80 -a [active|accepted|handled|request|reading|writing|waiting]"
 
-     sys.exit(2)
 
- def main():
 
-     # Default values
 
-     host = "localhost"
 
-     port = "80"
 
-     getInfo = "None"
 
-     proto = "http"
 
-     _headers = {}
 
-     gcontext = ""
 
-     if len(sys.argv) < 2:
 
-         usage()
 
-     try:
 
-         opts, _ = getopt.getopt(sys.argv[1:], "h:p:a:")
 
-     except getopt.GetoptError:
 
-         usage()
 
-     # Assign parameters as variables
 
-     for opt, arg in opts:
 
-         if opt == "-h":
 
-             host = arg
 
-         if opt == "-p":
 
-             port = arg
 
-         if opt == "-a":
 
-             getInfo = arg
 
-     if port == "443":
 
-         proto = "https"
 
-         _headers = {'X-Mashape-Key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}
 
-         gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
 
-     url = proto + "://" + host + ":" + port + "/nginx_status/"
 
-     request = urllib2.Request(url, headers=_headers)
 
-     result = urllib2.urlopen(request, context=gcontext)
 
-     buffer = re.findall(r'\d{1,8}', result.read())
 
- ## Format:
 
- ## Active connections: 196
 
- ## server accepts handled requests
 
- ## 272900 272900 328835
 
- ## Reading: 0 Writing: 6 Waiting: 190
 
-     if getInfo == "active":
 
-         print buffer[0]
 
-     elif getInfo == "accepted":
 
-         print buffer[1]
 
-     elif getInfo == "handled":
 
-         print buffer[2]
 
-     elif getInfo == "requests":
 
-         print buffer[3]
 
-     elif getInfo == "reading":
 
-         print buffer[4]
 
-     elif getInfo == "writing":
 
-         print buffer[5]
 
-     elif getInfo == "waiting":
 
-         print buffer[6]
 
-     else:
 
-         print "unknown"
 
-         sys.exit(1)
 
- if __name__ == "__main__":
 
-     main()
 
 
  |