summaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst101
1 files changed, 101 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..97c3568
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,101 @@
+===================================================
+``ngxtop`` - **real-time** metrics for nginx server
+===================================================
+
+**ngxtop** parses your nginx access log and outputs useful, ``top``-like, metrics of your nginx server.
+So you can tell what is happening with your server in real-time.
+
+
+Usage
+-----
+
+::
+
+ Usage:
+ ngxtop [options]
+ ngxtop [options] (print|top|avg|sum) <var>
+ ngxtop info
+
+ Options:
+ -l <file>, --access-log <file> access log file to parse.
+ -f <format>, --log-format <format> log format as specify in log_format directive.
+ --no-follow ngxtop default behavior is to ignore current lines in log
+ and only watch for new lines as they are written to the access log.
+ Use this flag to tell ngxtop to process the current content of the access log instead.
+ -t <seconds>, --interval <seconds> report interval when running in follow mode [default: 2.0]
+
+ -g <var>, --group-by <var> group by variable [default: request_path]
+ -w <var>, --having <expr> having clause [default: 1]
+ -o <var>, --order-by <var> order of output for default query [default: count]
+ -n <number>, --limit <number> limit the number of records included in report for top command [default: 10]
+ -a <exp> ..., --a <exp> ... add exp (must be aggregation exp: sum, avg, min, max, etc.) into output
+
+ -v, --verbose more verbose output
+ -d, --debug print every line and parsed record
+ -h, --help print this help message.
+ --version print version information.
+
+Samples
+-------
+
+Default output
+~~~~~~~~~~~~~~
+
+::
+
+ $ ./ngxtop.py
+ running for 411 seconds, 64332 records processed: 156.60 req/sec
+
+ Summary:
+ | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx |
+ |---------+------------------+-------+-------+-------+-------|
+ | 64332 | 2775.251 | 61262 | 2994 | 71 | 5 |
+
+ Detailed:
+ | request_path | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx |
+ |------------------------------------------+---------+------------------+-------+-------+-------+-------|
+ | /abc/xyz/xxxx | 20946 | 434.693 | 20935 | 0 | 11 | 0 |
+ | /xxxxx.json | 5633 | 1483.723 | 5633 | 0 | 0 | 0 |
+ | /xxxxx/xxx/xxxxxxxxxxxxx | 3629 | 6835.499 | 3626 | 0 | 3 | 0 |
+ | /xxxxx/xxx/xxxxxxxx | 3627 | 15971.885 | 3623 | 0 | 4 | 0 |
+ | /xxxxx/xxx/xxxxxxx | 3624 | 7830.236 | 3621 | 0 | 3 | 0 |
+ | /static/js/minified/utils.min.js | 3031 | 1781.155 | 2104 | 927 | 0 | 0 |
+ | /static/js/minified/xxxxxxx.min.v1.js | 2889 | 2210.235 | 2068 | 821 | 0 | 0 |
+ | /static/tracking/js/xxxxxxxx.js | 2594 | 1325.681 | 1927 | 667 | 0 | 0 |
+ | /xxxxx/xxx.html | 2521 | 573.597 | 2520 | 0 | 1 | 0 |
+ | /xxxxx/xxxx.json | 1840 | 800.542 | 1839 | 0 | 1 | 0 |
+
+View top source IPs of clients
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+ $ ./ngxtop.py top remote_addr
+ running for 20 seconds, 3215 records processed: 159.62 req/sec
+
+ top remote_addr
+ | remote_addr | count |
+ |-----------------+---------|
+ | 118.173.177.161 | 20 |
+ | 110.78.145.3 | 16 |
+ | 171.7.153.7 | 16 |
+ | 180.183.67.155 | 16 |
+ | 183.89.65.9 | 16 |
+ | 202.28.182.5 | 16 |
+ | 1.47.170.12 | 15 |
+ | 119.46.184.2 | 15 |
+ | 125.26.135.219 | 15 |
+ | 125.26.213.203 | 15 |
+
+List 4xx or 5xx responses together with HTTP referer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+ $ ./ngxtop.py -i 'status >= 400' print request status http_referer
+ running for 2 seconds, 28 records processed: 13.95 req/sec
+
+ request, status, http_referer:
+ | request | status | http_referer |
+ |-----------+----------+----------------|
+ | - | 400 | - |