5 crsproxy_update_every=15
8 wget 2>/dev/null -O - "$crsproxy_url" |\
14 -e "s/^/crsproxy_/g" |\
15 egrep "^crsproxy_[a-zA-Z][a-zA-Z0-9_]*=[0-9]+$"
19 if [ -z "$crsproxy_url" ]
21 echo >&2 "$PROGRAM_NAME: crsproxy: not configured. Please set crsproxy_url='url' in $confd/crsproxy.conf"
25 # check once if the url works
26 wget 2>/dev/null -O /dev/null "$crsproxy_url"
29 echo >&2 "$PROGRAM_NAME: crsproxy: cannot fetch the url: $crsproxy_url. Please set crsproxy_url='url' in $confd/crsproxy.conf"
33 # if the user did not request specific commands
34 # find the commands available
35 if [ -z "$crsproxy_cmds" ]
37 crsproxy_cmds="$(crsproxy_get | cut -d '=' -f 1 | sed "s/^crsproxy_cmd_//g" | sort -u)"
40 # if no commands are available
41 if [ -z "$crsproxy_cmds" ]
43 echo >&2 "$PROGRAM_NAME: crsproxy: cannot find command list automatically. Please set crsproxy_cmds='...' in $confd/crsproxy.conf"
52 CHART crsproxy.connected '' "CRS Proxy Connected Clients" "clients" crsproxy '' line 20000 $crsproxy_update_every
53 DIMENSION web '' absolute 1 1
54 DIMENSION native '' absolute 1 1
55 DIMENSION virtual '' absolute 1 1
56 CHART crsproxy.requests '' "CRS Proxy Requests Rate" "requests / min" crsproxy '' area 20001 $crsproxy_update_every
57 DIMENSION web '' incremental 60 $crsproxy_update_every
58 DIMENSION native '' incremental -60 $crsproxy_update_every
59 CHART crsproxy.clients '' "CRS Proxy Clients Rate" "clients / min" crsproxy '' area 20010 $crsproxy_update_every
60 DIMENSION web '' incremental 60 $crsproxy_update_every
61 DIMENSION native '' incremental -60 $crsproxy_update_every
62 DIMENSION virtual '' incremental 60 $crsproxy_update_every
63 CHART crsproxy.replies '' "CRS Replies Rate" "replies / min" crsproxy '' area 20020 $crsproxy_update_every
64 DIMENSION ok '' incremental 60 $crsproxy_update_every
65 DIMENSION failed '' incremental -60 $crsproxy_update_every
66 CHART crsproxy.bconnections '' "Back-End Connections Rate" "connections / min" crsproxy '' area 20030 $crsproxy_update_every
67 DIMENSION ok '' incremental 60 $crsproxy_update_every
68 DIMENSION failed '' incremental -60 $crsproxy_update_every
72 echo "CHART crsproxy.commands '' 'CRS Commands Requests' 'requests / min' crsproxy '' stacked 20100 $crsproxy_update_every"
73 for x in $crsproxy_cmds
75 echo "DIMENSION $x '' incremental 60 $crsproxy_update_every"
78 echo "CHART crsproxy.commands_failed '' 'CRS Failed Commands' 'replies / min' crsproxy '' stacked 20110 $crsproxy_update_every"
79 for x in $crsproxy_cmds
81 echo "DIMENSION $x '' incremental 60 $crsproxy_update_every"
89 # the first argument to this function is the microseconds since last update
90 # pass this parameter to the BEGIN statement (see bellow).
92 # do all the work to collect / calculate the values
94 # remember: KEEP IT SIMPLE AND SHORT
96 # get the values from crsproxy
97 eval "$(crsproxy_get)"
100 # write the result of the work.
102 BEGIN crsproxy.connected $1
103 SET web = $((crsproxy_web_clients_opened - crsproxy_web_clients_closed))
104 SET native = $((crsproxy_crs_clients_opened - crsproxy_crs_clients_closed))
105 SET virtual = $((crsproxy_virtual_clients_opened - crsproxy_virtual_clients_closed))
107 BEGIN crsproxy.requests $1
108 SET web = $crsproxy_web_requests
109 SET native = $crsproxy_native_requests
111 BEGIN crsproxy.clients $1
112 SET web = $crsproxy_web_clients_opened
113 SET native = $crsproxy_crs_clients_opened
114 SET virtual = $crsproxy_virtual_clients_opened
116 BEGIN crsproxy.replies $1
117 SET ok = $crsproxy_replies_success
118 SET failed = $crsproxy_replies_error
120 BEGIN crsproxy.bconnections $1
121 SET ok = $crsproxy_connections_nonblocking_established
122 SET failed = $crsproxy_connections_nonblocking_failed
126 local native_requests="_native_requests"
127 local web_requests="_web_requests"
128 local replies_error="_replies_error"
131 echo "BEGIN crsproxy.commands $1"
132 for x in $crsproxy_cmds
134 eval "v=\$(( crsproxy_cmd_$x$native_requests + crsproxy_cmd_$x$web_requests ))"
139 echo "BEGIN crsproxy.commands_failed $1"
140 for x in $crsproxy_cmds
142 eval "v=\$crsproxy_cmd_$x$replies_error"