added more information about squid charts
Costa Tsaousis (ktsaou) committed
May 30, 2017 at 21:55 UTC
82de3a1b2d59a92268e1587abc00fc5cb0594f85
2 files changed
+168
-14
web/dashboard_info.js
+167
-13
@@ -240,7 +240,7 @@ netdataDashboard.menu = {
240
'web_log': {
241
title: undefined,
242
icon: '<i class="fa fa-file-text-o" aria-hidden="true"></i>',
243
- info: 'Information extracted from a web server log file. <code>web_log</code> plugin incrementally parses the web server log file to provide, in real-time, a break down of key web server performance metrics. An extended log file format may optionally be used (for <code>nginx</code> and <code>apache</code>) offering timing information and bandwidth for both requests and responses. <code>web_log</code> plugin may also be configured to provide a break down of requests per URL pattern (check <a href="https://github.com/firehol/netdata/blob/master/conf.d/python.d/web_log.conf" target="_blank"><code>/etc/netdata/python.d/web_log.conf</code></a>).'
243
+ info: 'Information extracted from a server log file. <code>web_log</code> plugin incrementally parses the server log file to provide, in real-time, a break down of key server performance metrics. For web servers, an extended log file format may optionally be used (for <code>nginx</code> and <code>apache</code>) offering timing information and bandwidth for both requests and responses. <code>web_log</code> plugin may also be configured to provide a break down of requests per URL pattern (check <a href="https://github.com/firehol/netdata/blob/master/conf.d/python.d/web_log.conf" target="_blank"><code>/etc/netdata/python.d/web_log.conf</code></a>).'
244
},
245
246
'named': {
@@ -292,32 +292,42 @@ netdataDashboard.submenu = {
292
'web_log.squid_bandwidth': {
293
title: 'bandwidth',
294
info: 'Bandwidth of responses (<code>sent</code>) by squid. This chart may present unusual spikes, since the bandwidth is accounted at the time the log line is saved by the server, even if the time needed to serve it spans across a longer duration. We suggest to use QoS (e.g. <a href="http://firehol.org/#fireqos" target="_blank">FireQOS</a>) for accurate accounting of the server bandwidth.'
295
- },
295
+ },
296
+
297
'web_log.squid_responses': {
297
- title: 'responses'
298
- },
298
+ title: 'responses',
299
+ info: 'Information related to the responses sent by squid.'
300
+ },
301
+
302
'web_log.squid_requests': {
300
- title: 'requests'
301
- },
303
+ title: 'requests',
304
+ info: 'Information related to the requests squid has received.'
305
+ },
306
+
307
'web_log.squid_hierarchy': {
308
title: 'hierarchy',
309
info: 'Performance metrics for the squid hierarchy used to serve the requests.'
305
- },
310
+ },
311
+
312
'web_log.squid_squid_transport': {
313
title: 'squid_transport',
314
info: 'Analysis of the protocols used to receive the requests.'
309
- },
315
+ },
316
+
317
'web_log.squid_squid_cache': {
318
title: 'squid_cache',
319
info: 'Performance metrics for the performance of the squid cache.'
313
- },
320
+ },
321
+
322
'web_log.squid_timings': {
323
title: 'timings',
324
info: 'Duration of squid requests. Unrealistic spikes may be reported, since squid logs the total time of the requests, when they complete. Especially for HTTPS, the clients get a tunnel from the proxy and exchange requests directly with the upstream servers, so squid cannot evaluate the individual requests and reports the total time the tunnel was open.'
317
- },
325
+ },
326
+
327
'web_log.squid_clients': {
328
title: 'clients'
320
- },
329
+ },
330
+
331
'web_log.bandwidth': {
332
info: 'Bandwidth of requests (<code>received</code>) and responses (<code>sent</code>). <code>received</code> requires an extended log format (without it, the web server log does not have this information). This chart may present unusual spikes, since the bandwidth is accounted at the time the log line is saved by the web server, even if the time needed to serve it spans across a longer duration. We suggest to use QoS (e.g. <a href="http://firehol.org/#fireqos" target="_blank">FireQOS</a>) for accurate accounting of the web server bandwidth.'
333
},
@@ -917,6 +927,9 @@ netdataDashboard.context = {
927
height: 0.5
928
},
929
930
+ // ------------------------------------------------------------------------
931
+ // web_log
932
+
933
'web_log.response_statuses': {
934
info: 'Web server responses by type. <code>success</code> includes <b>1xx</b>, <b>2xx</b> and <b>304</b>, <code>error</code> includes <b>5xx</b>, <code>redirect</code> includes <b>3xx</b> except <b>304</b>, <code>bad</code> includes <b>4xx</b>, <code>other</code> are all the other responses.',
935
mainheads: [
@@ -995,7 +1008,14 @@ netdataDashboard.context = {
1008
},
1009
1010
'web_log.response_codes': {
998
- info: 'Web server responses by code family. According to the standards <code>1xx</code> are informational responses, <code>2xx</code> are successful responses, <code>3xx</code> are redirects (although they include <b>304</b> which is used as "<b>not modified</b>"), <code>4xx</code> are bad requests, <code>5xx</code> are internal server errors, <code>other</code> are non-standard responses, <code>unmatched</code> counts the lines in the log file that are not matched by the plugin (<a href="https://github.com/firehol/netdata/issues/new?title=web_log%20reports%20unmatched%20lines&body=web_log%20plugin%20reports%20unmatched%20lines.%0A%0AThis%20is%20my%20log:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20web%20server%20log%20here%0A%0A%60%60%60" target="_blank">let us know</a> if you have any unmatched).'
1011
+ info: 'Web server responses by code family. ' +
1012
+ 'According to the standards <code>1xx</code> are informational responses, ' +
1013
+ '<code>2xx</code> are successful responses, ' +
1014
+ '<code>3xx</code> are redirects (although they include <b>304</b> which is used as "<b>not modified</b>"), ' +
1015
+ '<code>4xx</code> are bad requests, ' +
1016
+ '<code>5xx</code> are internal server errors, ' +
1017
+ '<code>other</code> are non-standard responses, ' +
1018
+ '<code>unmatched</code> counts the lines in the log file that are not matched by the plugin (<a href="https://github.com/firehol/netdata/issues/new?title=web_log%20reports%20unmatched%20lines&body=web_log%20plugin%20reports%20unmatched%20lines.%0A%0AThis%20is%20my%20log:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20web%20server%20log%20here%0A%0A%60%60%60" target="_blank">let us know</a> if you have any unmatched).'
1019
},
1020
1021
'web_log.response_time': {
@@ -1033,6 +1053,140 @@ netdataDashboard.context = {
1053
1054
'web_log.clients_all': {
1055
info: 'Unique client IPs accessing the web server since the last restart of netdata. This plugin keeps in memory all the unique IPs that have accessed the web server. On very busy web servers (several millions of unique IPs) you may want to disable this chart (check <a href="https://github.com/firehol/netdata/blob/master/conf.d/python.d/web_log.conf" target="_blank"><code>/etc/netdata/python.d/web_log.conf</code></a>).'
1036
- }
1056
+ },
1057
+
1058
+ // ------------------------------------------------------------------------
1059
+ // web_log for squid
1060
+
1061
+ 'web_log.squid_response_statuses': {
1062
+ info: 'Squid responses by type. ' +
1063
+ '<code>success</code> includes <b>1xx</b>, <b>2xx</b> and <b>304</b>, ' +
1064
+ '<code>error</code> includes <b>5xx</b>, ' +
1065
+ '<code>redirect</code> includes <b>3xx</b> except <b>304</b>, ' +
1066
+ '<code>bad</code> includes <b>0xx</b>, <b>4xx</b> and <b>6xx</b>, ' +
1067
+ '<code>other</code> are all the other responses.',
1068
+ mainheads: [
1069
+ function(os, id) {
1070
+ void(os);
1071
+ return '<div data-netdata="' + id + '"'
1072
+ + ' data-dimensions="success"'
1073
+ + ' data-chart-library="gauge"'
1074
+ + ' data-title="Successful"'
1075
+ + ' data-units="requests/s"'
1076
+ + ' data-gauge-adjust="width"'
1077
+ + ' data-width="12%"'
1078
+ + ' data-before="0"'
1079
+ + ' data-after="-CHART_DURATION"'
1080
+ + ' data-points="CHART_DURATION"'
1081
+ + ' data-common-max="' + id + '"'
1082
+ + ' data-colors="' + NETDATA.colors[0] + '"'
1083
+ + ' data-decimal-digits="0"'
1084
+ + ' role="application"></div>';
1085
+ },
1086
+
1087
+ function(os, id) {
1088
+ void(os);
1089
+ return '<div data-netdata="' + id + '"'
1090
+ + ' data-dimensions="redirect"'
1091
+ + ' data-chart-library="gauge"'
1092
+ + ' data-title="Redirects"'
1093
+ + ' data-units="requests/s"'
1094
+ + ' data-gauge-adjust="width"'
1095
+ + ' data-width="12%"'
1096
+ + ' data-before="0"'
1097
+ + ' data-after="-CHART_DURATION"'
1098
+ + ' data-points="CHART_DURATION"'
1099
+ + ' data-common-max="' + id + '"'
1100
+ + ' data-colors="' + NETDATA.colors[2] + '"'
1101
+ + ' data-decimal-digits="0"'
1102
+ + ' role="application"></div>';
1103
+ },
1104
1105
+ function(os, id) {
1106
+ void(os);
1107
+ return '<div data-netdata="' + id + '"'
1108
+ + ' data-dimensions="bad"'
1109
+ + ' data-chart-library="gauge"'
1110
+ + ' data-title="Bad Requests"'
1111
+ + ' data-units="requests/s"'
1112
+ + ' data-gauge-adjust="width"'
1113
+ + ' data-width="12%"'
1114
+ + ' data-before="0"'
1115
+ + ' data-after="-CHART_DURATION"'
1116
+ + ' data-points="CHART_DURATION"'
1117
+ + ' data-common-max="' + id + '"'
1118
+ + ' data-colors="' + NETDATA.colors[3] + '"'
1119
+ + ' data-decimal-digits="0"'
1120
+ + ' role="application"></div>';
1121
+ },
1122
+
1123
+ function(os, id) {
1124
+ void(os);
1125
+ return '<div data-netdata="' + id + '"'
1126
+ + ' data-dimensions="error"'
1127
+ + ' data-chart-library="gauge"'
1128
+ + ' data-title="Server Errors"'
1129
+ + ' data-units="requests/s"'
1130
+ + ' data-gauge-adjust="width"'
1131
+ + ' data-width="12%"'
1132
+ + ' data-before="0"'
1133
+ + ' data-after="-CHART_DURATION"'
1134
+ + ' data-points="CHART_DURATION"'
1135
+ + ' data-common-max="' + id + '"'
1136
+ + ' data-colors="' + NETDATA.colors[1] + '"'
1137
+ + ' data-decimal-digits="0"'
1138
+ + ' role="application"></div>';
1139
+ }
1140
+ ]
1141
+ },
1142
+
1143
+ 'web_log.squid_response_codes': {
1144
+ info: 'Web server responses by code family. ' +
1145
+ 'According to HTTP standards <code>1xx</code> are informational responses, ' +
1146
+ '<code>2xx</code> are successful responses, ' +
1147
+ '<code>3xx</code> are redirects (although they include <b>304</b> which is used as "<b>not modified</b>"), ' +
1148
+ '<code>4xx</code> are bad requests, ' +
1149
+ '<code>5xx</code> are internal server errors. ' +
1150
+ 'Squid also defines <code>0xx</code> for undefined, and ' +
1151
+ '<code>6xx</code> for broken upstream servers sending wrong headers. ' +
1152
+ 'Finally, <code>other</code> are non-standard responses, and ' +
1153
+ '<code>unmatched</code> counts the lines in the log file that are not matched by the plugin (<a href="https://github.com/firehol/netdata/issues/new?title=web_log%20reports%20unmatched%20lines&body=web_log%20plugin%20reports%20unmatched%20lines.%0A%0AThis%20is%20my%20log:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20web%20server%20log%20here%0A%0A%60%60%60" target="_blank">let us know</a> if you have any unmatched).'
1154
+ },
1155
+
1156
+ 'web_log.squid_duration': {
1157
+ mainheads: [
1158
+ function(os, id) {
1159
+ void(os);
1160
+ return '<div data-netdata="' + id + '"'
1161
+ + ' data-dimensions="avg"'
1162
+ + ' data-chart-library="gauge"'
1163
+ + ' data-title="Average Response Time"'
1164
+ + ' data-units="milliseconds"'
1165
+ + ' data-gauge-adjust="width"'
1166
+ + ' data-width="12%"'
1167
+ + ' data-before="0"'
1168
+ + ' data-after="-CHART_DURATION"'
1169
+ + ' data-points="CHART_DURATION"'
1170
+ + ' data-colors="' + NETDATA.colors[4] + '"'
1171
+ + ' data-decimal-digits="2"'
1172
+ + ' role="application"></div>';
1173
+ }
1174
+ ]
1175
+ },
1176
+
1177
+ 'web_log.squid_detailed_response_codes': {
1178
+ info: 'Number of responses for each response code individually.'
1179
+ },
1180
+
1181
+ 'web_log.squid_transport_methods': {
1182
+ info: 'Requests received per IP protocol.'
1183
+ },
1184
+
1185
+ 'web_log.squid_clients': {
1186
+ info: 'Unique client IPs accessing squid, within each data collection iteration. If data collection is <b>per second</b>, this chart shows <b>unique client IPs per second</b>.'
1187
+ },
1188
+
1189
+ 'web_log.squid_clients_all': {
1190
+ info: 'Unique client IPs accessing squid since the last restart of netdata. This plugin keeps in memory all the unique IPs that have accessed the server. On very busy squid servers (several millions of unique IPs) you may want to disable this chart (check <a href="https://github.com/firehol/netdata/blob/master/conf.d/python.d/web_log.conf" target="_blank"><code>/etc/netdata/python.d/web_log.conf</code></a>).'
1191
+ }
1192
};
web/index.html
+1
-1
@@ -2917,7 +2917,7 @@
2917
});
2918
2919
NETDATA.requiredJs.push({
2920
- url: NETDATA.serverDefault + 'dashboard_info.js?v20170427-1',
2920
+ url: NETDATA.serverDefault + 'dashboard_info.js?v20170530-1',
2921
async: false,
2922
isAlreadyLoaded: function() { return false; }
2923
});