44 lines
1.0 KiB
Python
Executable File
44 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import re
|
|
|
|
try:
|
|
# For Python 3.0 and later
|
|
from urllib.request import urlopen
|
|
except ImportError:
|
|
# Fall back to Python 2's urllib2
|
|
from urllib2 import urlopen
|
|
|
|
data = urlopen('http://localhost/nginx-status').read().decode('utf-8')
|
|
|
|
params = {}
|
|
|
|
for line in data.split('\n'):
|
|
smallstat = re.match(r"\s?Reading:\s(.*)\sWriting:\s(.*)\sWaiting:\s(.*)$", line)
|
|
req = re.match(r"\s+(\d+)\s+(\d+)\s+(\d+)", line)
|
|
if smallstat:
|
|
params["Reading"] = smallstat.group(1)
|
|
params["Writing"] = smallstat.group(2)
|
|
params["Waiting"] = smallstat.group(3)
|
|
elif req:
|
|
params["Requests"] = req.group(3)
|
|
else:
|
|
pass
|
|
|
|
|
|
dataorder = [
|
|
"Active",
|
|
"Reading",
|
|
"Writing",
|
|
"Waiting",
|
|
"Requests"
|
|
]
|
|
|
|
print("<<<nginx>>>\n");
|
|
|
|
for param in dataorder:
|
|
if param == "Active":
|
|
Active = int(params["Reading"]) + int(params["Writing"]) + int(params["Waiting"])
|
|
print(Active)
|
|
else:
|
|
print(params[param].strip())
|