]> arthur.barton.de Git - netdata.git/blobdiff - charts.d/nginx.chart.sh
Merge pull request #2021 from ktsaou/master
[netdata.git] / charts.d / nginx.chart.sh
old mode 100755 (executable)
new mode 100644 (file)
index 2bc8aca..0ae7d63
@@ -1,13 +1,21 @@
-#!/bin/sh
+# no need for shebang - this file is loaded from charts.d.plugin
+
+# netdata
+# real-time performance and health monitoring, done right!
+# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
+# GPL v3+
+#
 
 # if this chart is called X.chart.sh, then all functions and global variables
 # must start with X_
 
 nginx_url="http://127.0.0.1:80/stub_status"
+nginx_curl_opts=""
 
 # _update_every is a special variable - it holds the number of seconds
 # between the calls of the _update() function
 nginx_update_every=
+nginx_priority=60000
 
 declare -a nginx_response=()
 nginx_active_connections=0
@@ -18,7 +26,7 @@ nginx_reading=0
 nginx_writing=0
 nginx_waiting=0
 nginx_get() {
-       nginx_response=($(curl -s "${nginx_url}"))
+       nginx_response=($(run curl -Ss ${nginx_curl_opts} "${nginx_url}"))
        [ $? -ne 0 -o "${#nginx_response[@]}" -eq 0 ] && return 1
 
        if [ "${nginx_response[0]}" != "Active" \
@@ -32,7 +40,7 @@ nginx_get() {
                 -o "${nginx_response[14]}" != "Waiting:" \
           ]
                then
-               echo >&2 "nginx: Invalid response from nginx server: ${nginx_response[*]}"
+               error "Invalid response from nginx server: ${nginx_response[*]}"
                return 1
        fi
 
@@ -53,7 +61,7 @@ nginx_get() {
                -o -z "${nginx_waiting}" \
                ]
                then
-               echo >&2 "nginx: empty values got from nginx server: ${nginx_response[*]}"
+               error "empty values got from nginx server: ${nginx_response[*]}"
                return 1
        fi
 
@@ -66,7 +74,7 @@ nginx_check() {
        nginx_get
        if [ $? -ne 0 ]
                then
-               echo >&2 "nginx: cannot find stub_status on URL '${nginx_url}'. Please set nginx_url='http://nginx.server/stub_status' in $confd/nginx.conf"
+               error "cannot find stub_status on URL '${nginx_url}'. Please set nginx_url='http://nginx.server/stub_status' in $confd/nginx.conf"
                return 1
        fi
 
@@ -80,18 +88,18 @@ nginx_check() {
 # _create is called once, to create the charts
 nginx_create() {
        cat <<EOF
-CHART nginx.connections '' "nginx Active Connections" "connections" nginx nginx line 16000 $nginx_update_every
+CHART nginx_local.connections '' "nginx Active Connections" "connections" nginx nginx.connections line $((nginx_priority + 1)) $nginx_update_every
 DIMENSION active '' absolute 1 1
 
-CHART nginx.requests '' "nginx Requests" "requests/s" nginx nginx line 16001 $nginx_update_every
+CHART nginx_local.requests '' "nginx Requests" "requests/s" nginx nginx.requests line $((nginx_priority + 2)) $nginx_update_every
 DIMENSION requests '' incremental 1 1
 
-CHART nginx.connections_status '' "nginx Active Connections by Status" "connections" nginx nginx line 16002 $nginx_update_every
+CHART nginx_local.connections_status '' "nginx Active Connections by Status" "connections" nginx nginx.connections.status line $((nginx_priority + 3)) $nginx_update_every
 DIMENSION reading '' absolute 1 1
 DIMENSION writing '' absolute 1 1
 DIMENSION waiting idle absolute 1 1
 
-CHART nginx.connect_rate '' "nginx Connections Rate" "connections" nginx nginx line 16003 $nginx_update_every
+CHART nginx_local.connect_rate '' "nginx Connections Rate" "connections/s" nginx nginx.connections.rate line $((nginx_priority + 4)) $nginx_update_every
 DIMENSION accepts accepted incremental 1 1
 DIMENSION handled '' incremental 1 1
 EOF
@@ -112,20 +120,20 @@ nginx_update() {
 
        # write the result of the work.
        cat <<VALUESEOF
-BEGIN nginx.connections $1
-SET active = $[nginx_active_connections]
+BEGIN nginx_local.connections $1
+SET active = $((nginx_active_connections))
 END
-BEGIN nginx.requests $1
-SET requests = $[nginx_requests]
+BEGIN nginx_local.requests $1
+SET requests = $((nginx_requests))
 END
-BEGIN nginx.connections_status $1
-SET reading = $[nginx_reading]
-SET writing = $[nginx_writing]
-SET waiting = $[nginx_waiting]
+BEGIN nginx_local.connections_status $1
+SET reading = $((nginx_reading))
+SET writing = $((nginx_writing))
+SET waiting = $((nginx_waiting))
 END
-BEGIN nginx.connect_rate $1
-SET accepts = $[nginx_accepts]
-SET handled = $[nginx_handled]
+BEGIN nginx_local.connect_rate $1
+SET accepts = $((nginx_accepts))
+SET handled = $((nginx_handled))
 END
 VALUESEOF