1 ##########################################################
2 # Configuration file for innreport (3.*).
5 # Tested with INN 2.3, 2.1, 1.7.2 and 1.5.1.
7 # (c) 1997, 1998, 1999 by Fabien Tassin <fta@sofaraway.org>
9 ##########################################################
15 unknown true; # want unknown entries.
16 max_unknown 50; # max unknown entries to display.
18 module "innreport_inn"; # ${libpath}/${module}.pm
19 unwanted_log "unwanted.log"; # ${logpath}/${unwanted_log}
22 graph true; # need 'html'
23 archive true; # use false to keep only the latest HTML report.
24 index "index.html"; # name of the HTML index file.
25 # html_dir "/var/www/News/stats"; # default to pathhttp in inn.conf
26 img_dir "pics"; # images will go to ${html_dir}/${img_dir}
27 cycle none; # use a number or 'none'.
28 separator "."; # use a valid filename character.
29 title "Daily Usenet report";
30 # title "Daily Usenet report for <A HREF=\"/News/stats/\">news.y.z</A>";
31 # footer "Local contact: <A HREF=\"mailto:x@y.z\">x@y.z</A>";
32 # html_body "BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\"";
33 # html_header_file "header.html"; # ${html_dir}/${html_header_file}
34 # html_footer_file "footer.html"; # ${html_dir}/${html_footer_file}
35 graph_width 550; # graph width (in pixels)
36 transparent true; # graph background transparent ?
37 graph_fg "#000000"; # graph foreground color.
38 graph_bg "#FFFFFF"; # graph background color.
41 ###########################################################################
49 title "Incoming feeds";
50 name "Offered|Accepted|Volume";
51 value "total(%innd_offered) | total(%innd_accepted) |
52 bytes(total(%inn_flow_size))";
55 title "Outgoing feeds";
56 name "Offered|Accepted|Volume";
57 value "total(%innfeed_offered) + total(%nntplink_offered) +
58 total(%innxmit_offered) | total(%innfeed_accepted) +
59 total(%nntplink_accepted) + total(%innxmit_accepted) |
60 bytes(total(%innfeed_accepted_size) +
61 total(%innfeed_rejected_size) +
62 total(%innxmit_bytes) +
63 total(%innxmit_accepted_size) +
64 total(%innxmit_rejected_size))";
67 title "Incoming feeds";
74 value "val2"; # Incoming feeds: Offered
79 value "val3"; # Incoming feeds: Accepted
83 title "Outgoing feeds";
90 value "val5"; # Outgoing feeds: Offered
95 value "val6"; # Outgoing feeds: Accepted
106 value "byte(val4)"; # Incoming feeds: Volume
111 value "byte(val7)"; # Outgoing feeds: Volume
116 ###########################################################################
120 # skip true; # used to skip a section.
121 title "Log entries by program:";
123 sort "$prog_type{$b} <=> $prog_type{$a}";
124 # text false; # to skip this section in the text report
125 # html false; # to skip this section in the HTML report
130 format_total "TOTAL: %-39.39s";
137 # text false; # to skip this column in the text report
138 value "$prog_type{$key}";
139 total "total(%prog_type)";
145 # html false; # to skip this column in the HTML report
146 value "$prog_type{$key} / total(%prog_type) * 100";
152 value "bytes($prog_size{$key})";
153 total "bytes(total(%prog_size))";
159 value "$prog_size{$key} / total(%prog_size) * 100";
166 title "History cache:";
168 sort "$innd_his{$b} <=> $innd_his{$a}";
173 format_total "TOTAL: %-50.50s";
180 value "$innd_his{$key}";
181 total "total(%innd_his)";
187 value "100 * $innd_his{$key} / total(%innd_his)";
194 title "History cache:";
196 sort "$innd_cache{$b} <=> $innd_cache{$a}";
201 format_total "TOTAL: %-50.50s";
208 value "$innd_cache{$key}";
209 total "total(%innd_cache)";
215 value "100 * $innd_cache{$key} / total(%innd_cache)";
222 data "%innd_time_time";
227 format_total "TOTAL: %-8.8s";
228 total "time_ms($innd_time_times)";
233 value "time_ms($innd_time_time{$key})";
234 total "time_ms(total(%innd_time_time))";
240 value "100 * $innd_time_time{$key} / $innd_time_times";
241 total "100 * total(%innd_time_time) /
247 value "$innd_time_num{$key}";
255 value "$innd_time_min{$key}";
263 value "$innd_time_time{$key} /
264 ($innd_time_num{$key} ? $innd_time_num{$key} : 1)";
272 value "$innd_time_max{$key}";
278 section innfeed_timer {
279 title "INNfeed timer:";
280 data "%innfeed_time_time";
285 format_total "TOTAL: %-8.8s";
286 total "time_ms($innfeed_time_times)";
291 value "time_ms($innfeed_time_time{$key})";
292 total "time_ms(total(%innfeed_time_time))";
298 value "100 * $innfeed_time_time{$key} / $innfeed_time_times";
299 total "100 * total(%innfeed_time_time) /
300 $innfeed_time_times";
305 value "$innfeed_time_num{$key}";
313 value "$innfeed_time_min{$key}";
321 value "$innfeed_time_time{$key} /
322 ($innfeed_time_num{$key} ? $innfeed_time_num{$key} : 1)";
330 value "$innfeed_time_max{$key}";
336 section nnrpd_timer {
337 title "nnrpd timer:";
338 data "%nnrpd_time_time";
343 format_total "TOTAL: %-8.8s";
344 total "time_ms($nnrpd_time_times)";
349 value "time_ms($nnrpd_time_time{$key})";
350 total "time_ms(total(%nnrpd_time_time))";
356 value "100 * $nnrpd_time_time{$key} / $nnrpd_time_times";
357 total "100 * total(%nnrpd_time_time) /
363 value "$nnrpd_time_num{$key}";
371 value "$nnrpd_time_min{$key}";
379 value "$nnrpd_time_time{$key} /
380 ($nnrpd_time_num{$key} ? $nnrpd_time_num{$key} : 1)";
388 value "$nnrpd_time_max{$key}";
394 section innd_control {
395 title "Control commands to INND:";
396 data "%innd_control";
401 format_total "TOTAL: %-64.64s";
407 value "$innd_control{$key}";
409 total "total(%innd_control)";
413 section innd_newgroup {
414 title "Newsgroups created:";
415 data "%innd_newgroup";
420 format_total "TOTAL%-66.66s";
425 value "$innd_newgroup{$key}";
431 section innd_changegroup {
432 title "Newsgroups changed:";
433 data "%innd_changegroup";
438 format_total "TOTAL%-63.63s";
444 value "$innd_changegroup{$key}";
449 section innd_rmgroup {
450 title "Newsgroups removed:";
451 data "%innd_rmgroup";
456 format_total "TOTAL: %-71.71s";
461 section controlchan {
462 title "Control Channel:";
463 data "%controlchan_who";
468 format_total "TOTAL%-20.20s";
473 value "$controlchan_new{$key}";
475 total "total(%controlchan_new)";
479 value "$controlchan_rm{$key}";
481 total "total(%controlchan_rm)";
485 value "$controlchan_other{$key}";
487 total "total(%controlchan_other)";
491 value "$controlchan_skippgp{$key}";
493 total "total(%controlchan_skippgp)";
497 value "$controlchan_doit{$key}";
499 total "total(%controlchan_doit)";
503 value "$controlchan_ok{$key}";
505 total "total(%controlchan_ok)";
509 section innd_connect {
510 title "Incoming Feeds (INN):";
511 data "%innd_seconds";
512 sort "$innd_accepted{$b} <=> $innd_accepted{$a}";
516 format_name "%-21.21s";
519 format_total "TOTAL: %-17.17s";
526 value "$innd_connect{$key}";
527 total "total(%innd_connect)";
533 value "$innd_offered{$key}";
534 total "total(%innd_offered)";
540 value "$innd_accepted{$key}";
541 total "total(%innd_accepted)";
547 value "$innd_refused{$key}";
548 total "total(%innd_refused)";
554 value "$innd_rejected{$key}";
555 total "total(%innd_rejected)";
561 value "$innd_offered{$key} == 0 ? 0 :
562 $innd_accepted{$key} / $innd_offered{$key} * 100";
563 total "total(%innd_offered) == 0 ? 0 :
564 total(%innd_accepted) / total(%innd_offered) * 100";
570 value "time($innd_seconds{$key})";
571 total "time(total(%innd_seconds))";
574 title "Articles received by server";
576 sort "%innd_accepted";
578 name "Articles accepted";
580 value "%innd_accepted";
583 name "Articles refused";
585 value "%innd_refused";
588 name "Articles rejected";
590 value "%innd_rejected";
595 section innd_incoming_vol {
596 title "Incoming Volume (INN):";
597 data "%innd_seconds";
598 sort "$innd_stored_size{$b} <=> $innd_stored_size{$a}";
604 format_total "TOTAL: %-17.17s";
610 value "bytes($innd_stored_size{$key})";
611 total "bytes(total(%innd_stored_size))";
616 value "bytes($innd_duplicated_size{$key})";
617 total "bytes(total(%innd_duplicated_size))";
622 value "bytes($innd_stored_size{$key} +
623 $innd_duplicated_size{$key})";
624 total "bytes(total(%innd_stored_size) +
625 total(%innd_duplicated_size))";
631 value "$innd_offered_size{$key} == 0 ? 0 :
632 $innd_stored_size{$key} / $innd_offered_size{$key} * 100";
633 total "total(%innd_offered_size) == 0 ? 0 :
634 total(%innd_stored_size) / total(%innd_offered_size) * 100";
639 value "bytes(($innd_stored_size{$key} +
640 $innd_duplicated_size{$key}) /
641 ($innd_accepted{$key} +
642 $innd_rejected{$key}))";
643 total "bytes((total(%innd_stored_size) +
644 total(%innd_duplicated_size)) /
645 (total(%innd_accepted) +
646 total(%innd_rejected)))";
651 value "time($innd_seconds{$key})";
652 total "time(total(%innd_seconds))";
655 title "Incoming Volume received by server";
657 sort "%innd_stored_size";
659 name "Accepted Volume";
661 value "%innd_stored_size";
664 name "Duplicated Volume";
666 value "%innd_duplicated_size";
672 title "Incoming articles:";
679 format_total "TOTAL: %-20.20s";
680 total "time(total(%inn_flow_time))";
685 value "$inn_flow{$key}";
687 total "total(%inn_flow)";
692 value "$inn_flow{$key} / $inn_flow_total * 100";
699 value "$inn_flow{$key} / $inn_flow_time{$key}";
701 total "total(%inn_flow) / total(%inn_flow_time)";
705 value "bytes($inn_flow_size{$key})";
707 total "bytes(total(%inn_flow_size))";
712 value "$inn_flow_size{$key} /
713 total(%inn_flow_size) * 100";
720 value "$inn_flow_size{$key} /
721 $inn_flow_time{$key} / 1024";
723 total "total(%inn_flow_size) /
724 total(%inn_flow_time) / 1024";
727 title "Incoming articles";
731 value "%inn_flow_labels";
740 title "Incoming articles (size)";
744 value "%inn_flow_labels";
748 factor 3686400; # 3600 * 1024
749 value "%inn_flow_size";
755 title "CNFS buffer status:";
761 format_total "TOTAL: %-6.6s";
767 value "$cnfsstat{$key}";
768 format_total "-%12s";
774 value "bytes($cnfsstat_size{$key})";
775 total "bytes(total(%cnfsstat_size))";
780 value "bytes($cnfsstat_used{$key})";
781 total "bytes(total(%cnfsstat_used))";
786 value "$cnfsstat_used{$key} /
787 $cnfsstat_size{$key} * 100";
789 total "total(%cnfsstat_used) /
790 total(%cnfsstat_size) * 100";
796 value "$cnfsstat_cycles{$key}";
797 total "total(%cnfsstat_cycles)";
802 value "$cnfsstat_rate{$key} /
803 $cnfsstat_samples{$key} / 1024";
805 total "total(%cnfsstat_rate) /
806 total(%cnfsstat_samples) / 1024";
811 value "$cnfsstat_size{$key} /
812 ($cnfsstat_rate{$key} /
813 $cnfsstat_samples{$key}) / 86400";
820 section inn_unwanted {
821 title "Sites sending bad articles:";
823 sort "$inn_badart{$b} <=> $inn_badart{$a}";
829 format_total "TOTAL: %-16.16s";
836 value "$inn_badart{$key}";
837 total "total(%inn_badart)";
843 value "$inn_uw_ng_s{$key}";
844 total "total(%inn_uw_ng_s)";
850 value "$inn_uw_dist_s{$key}";
851 total "total(%inn_uw_dist_s)";
857 value "$inn_duplicate{$key}";
858 total "total(%inn_duplicate)";
864 value "$inn_unapproved{$key}";
865 total "total(%inn_unapproved)";
871 value "$inn_tooold{$key}";
872 total "total(%inn_tooold)";
878 value "$inn_uw_site{$key}";
879 total "total(%inn_uw_site)";
885 value "$inn_linecount{$key}";
886 total "total(%inn_linecount)";
892 value "$innd_others{$key}";
893 total "total(%innd_others)";
897 section inn_unwanted_group {
898 title "Unwanted newsgroups:";
899 top 20; # default 'top' value or use 'top_text' and 'top_html'
900 # to specify different values for text and HTML reports.
902 sort "$inn_uw_ng{$b} <=> $inn_uw_ng{$a}";
907 format_total "TOTAL: %-64.64s";
914 value "$inn_uw_ng{$key}";
915 total "total(%inn_uw_ng)";
919 section inn_unwanted_dist {
920 title "Unwanted distributions:";
923 sort "$inn_uw_dist{$b} <=> $inn_uw_dist{$a}";
928 format_total "TOTAL: %-64.64s";
935 value "$inn_uw_dist{$key}";
936 total "total(%inn_uw_dist)";
940 section inn_unwanted_unapp {
941 title "Supposedly-moderated groups with unmoderated postings:";
943 data "%inn_unapproved_g";
944 sort "$inn_unapproved_g{$b} <=> $inn_unapproved_g{$a}";
949 format_total "TOTAL: %-64.64s";
956 value "$inn_unapproved_g{$key}";
957 total "total(%inn_unapproved_g)";
961 section inn_unwanted_path {
962 title "Unwanted sites in Path:";
964 data "%inn_site_path";
965 sort "$inn_site_path{$b} <=> $inn_site_path{$a}";
970 format_total "TOTAL: %-64.64s";
977 value "$inn_site_path{$key}";
978 total "total(%inn_site_path)";
983 title "INND Perl filter:";
985 data "%innd_filter_perl";
986 sort "$innd_filter_perl{$b} <=> $innd_filter_perl{$a}";
991 format_total "TOTAL: %-64.64s";
998 value "$innd_filter_perl{$key}";
999 total "total(%innd_filter_perl)";
1003 section innd_python {
1004 title "INND Python filter:";
1006 data "%innd_filter_python";
1007 sort "$innd_filter_python{$b} <=> $innd_filter_python{$a}";
1012 format_total "TOTAL: %-64.64s";
1019 value "$innd_filter_python{$key}";
1020 total "total(%innd_filter_python)";
1025 title "NoCeM on Spool:";
1026 data "%nocem_goodsigs";
1027 sort "$nocem_goodsigs{$b} <=> $nocem_goodsigs{$a}";
1032 format_total "TOTAL: %-40.40s";
1038 value "$nocem_goodsigs{$key}";
1039 total "total(%nocem_goodsigs)";
1044 value "$nocem_badsigs{$key}";
1045 total "total(%nocem_badsigs)";
1050 value "$nocem_newids{$key}";
1051 total "total(%nocem_newids)";
1056 value "$nocem_totalids{$key}";
1057 total "total(%nocem_totalids)";
1061 section innd_no_permission {
1062 title "INND no permission servers:";
1063 data "%innd_no_permission";
1064 sort "$innd_no_permission{$b} <=> $innd_no_permission{$a}";
1069 format_total "TOTAL: %-64.64s";
1076 value "$innd_no_permission{$key}";
1077 total "total(%innd_no_permission)";
1081 section innd_max_conn {
1082 title "Too many incoming connections (innd):";
1083 data "%innd_max_conn";
1084 sort "$innd_max_conn{$b} <=> $innd_max_conn{$a}";
1089 format_total "TOTAL: %-63.63s";
1096 value "$innd_max_conn{$key}";
1097 total "total(%innd_max_conn)";
1101 section innd_too_many_connects_per_minute {
1102 title "INND too many connects per minute:";
1103 data "%innd_too_many_connects_per_minute";
1104 sort "$innd_too_many_connects_per_minute{$b} <=>
1105 $innd_too_many_connects_per_minute{$a}";
1110 format_total "TOTAL: %-64.64s";
1117 value "$innd_too_many_connects_per_minute{$key}";
1118 total "total(%innd_too_many_connects_per_minute)";
1123 title "INND misc events:";
1125 sort "$innd_misc{$b} <=> $innd_misc{$a}";
1130 format_total "TOTAL: %-64.64s";
1137 value "$innd_misc{$key}";
1138 total "total(%innd_misc)";
1142 section innd_misc_stat {
1143 title "Miscellaneous innd statistics:";
1144 data "%innd_misc_stat";
1145 sort "$innd_misc_stat{$b} <=> $innd_misc_stat{$a}";
1154 format_total "TOTAL: %-62.62s";
1162 format_total "TOTAL: %-60.60s";
1168 value "$innd_misc_stat{$key1}{$key2}";
1169 total "total(%innd_misc_stat)";
1173 section innfeed_connect {
1174 title "Outgoing Feeds (innfeed) by Articles:";
1175 data "%innfeed_offered";
1176 sort "$innfeed_accepted{$b} <=> $innfeed_accepted{$a}";
1182 format_total "TOTAL: %-11.11s";
1189 value "$innfeed_offered{$key}";
1190 total "total(%innfeed_offered)";
1196 value "$innfeed_accepted{$key}";
1197 total "total(%innfeed_accepted)";
1203 value "$innfeed_refused{$key}";
1204 total "total(%innfeed_refused)";
1210 value "$innfeed_rejected{$key}";
1211 total "total(%innfeed_rejected)";
1217 value "$innfeed_missing{$key}";
1218 total "total(%innfeed_missing)";
1224 value "$innfeed_spooled{$key}";
1225 total "total(%innfeed_spooled)";
1231 value "$innfeed_offered{$key} == 0 ? 0 :
1232 $innfeed_accepted{$key} / $innfeed_offered{$key} * 100";
1233 total "total(%innfeed_offered) == 0 ? 0 :
1234 total(%innfeed_accepted) / total(%innfeed_offered) * 100";
1240 value "time($innfeed_seconds{$key})";
1241 total "time(total(%innfeed_seconds))";
1244 title "Outgoing feeds (innfeed) by Articles";
1246 sort "%innfeed_accepted";
1250 value "%innfeed_accepted";
1255 value "%innfeed_refused";
1260 value "%innfeed_rejected";
1265 value "%innfeed_missing";
1270 value "%innfeed_spooled";
1275 section innfeed_volume {
1276 title "Outgoing Feeds (innfeed) by Volume:";
1277 data "%innfeed_offered";
1278 sort "$innfeed_accepted_size{$b} <=> $innfeed_accepted_size{$a}";
1284 format_total "TOTAL: %-10.10s";
1290 value "bytes($innfeed_accepted_size{$key})";
1291 total "bytes(total(%innfeed_accepted_size))";
1296 value "bytes($innfeed_rejected_size{$key})";
1297 total "bytes(total(%innfeed_rejected_size))";
1302 value "bytes($innfeed_accepted_size{$key} +
1303 $innfeed_rejected_size{$key})";
1304 total "bytes(total(%innfeed_accepted_size) +
1305 total(%innfeed_rejected_size))";
1311 value "bytes(($innfeed_accepted_size{$key} +
1312 $innfeed_rejected_size{$key}) /
1313 $innfeed_seconds{$key})";
1314 total "bytes((total(%innfeed_accepted_size) +
1315 total(%innfeed_rejected_size)) /
1316 total(%innfeed_seconds))";
1321 value "bytes(($innfeed_accepted_size{$key} +
1322 $innfeed_rejected_size{$key}) /
1323 ($innfeed_accepted{$key} +
1324 $innfeed_rejected{$key}))";
1325 total "bytes((total(%innfeed_accepted_size) +
1326 total(%innfeed_rejected_size)) /
1327 (total(%innfeed_accepted) +
1328 total(%innfeed_rejected)))";
1333 value "time($innfeed_seconds{$key})";
1334 total "time(total(%innfeed_seconds))";
1337 title "Outgoing feeds (innfeed) by Volume";
1339 sort "%innfeed_accepted_size";
1343 value "%innfeed_accepted_size";
1348 value "%innfeed_rejected_size";
1353 section innfeed_shrunk {
1354 title "Backlog files shrunk by innfeed:";
1355 data "%innfeed_shrunk";
1356 sort "$innfeed_shrunk{$b} <=> $innfeed_shrunk{$a}";
1361 format_total "TOTAL: %-63.63s";
1367 value "bytes($innfeed_shrunk{$key})";
1368 total "bytes(total(%innfeed_shrunk))";
1372 section nntplink_connect {
1373 title "Outgoing Feeds (nntplink):";
1374 data "%nntplink_site";
1375 sort "$nntplink_accepted{$b} <=> $nntplink_accepted{$a}";
1381 format_total "TOTAL: %-18.18s";
1388 value "$nntplink_offered{$key}";
1389 total "total(%nntplink_offered)";
1395 value "$nntplink_accepted{$key}";
1396 total "total(%nntplink_accepted)";
1402 value "$nntplink_rejected{$key}";
1403 total "total(%nntplink_rejected)";
1409 value "$nntplink_failed{$key}";
1410 total "total(%nntplink_failed)";
1416 value "$nntplink_offered{$key} == 0 ? 0 :
1417 $nntplink_accepted{$key} / $nntplink_offered{$key} * 100";
1418 total "total(%nntplink_offered) == 0 ? 0 :
1419 total(%nntplink_accepted) / total(%nntplink_offered) * 100";
1424 value "time($nntplink_times{$key})";
1425 total "time(total(%nntplink_times))";
1428 title "Outgoing Feeds (nntplink)";
1430 sort "%nntplink_accepted";
1432 name "Articles accepted";
1434 value "%nntplink_accepted";
1437 name "Articles rejected";
1439 value "%nntplink_rejected";
1442 name "Articles failed";
1444 value "%nntplink_failed";
1449 section nntplink_connect2 {
1450 title "Outgoing Feeds (nntplink) - other information:";
1451 data "%nntplink_site";
1452 sort "$nntplink_accepted{$b} <=> $nntplink_accepted{$a}";
1458 format_total "TOTAL: %-13.13s";
1465 value "$nntplink_site{$key}";
1466 total "total(%nntplink_site)";
1472 value "$nntplink_site{$key} - ($nntplink_eof{$key} +
1473 $nntplink_sockerr{$key} +
1474 $nntplink_selecterr{$key} +
1475 $nntplink_hiload{$key} + $nntplink_bpipe{$key} +
1476 $nntplink_nospace{$key} + $nntplink_auth{$key} +
1477 $nntplink_expire{$key} + $nntplink_fail{$key})";
1478 total "total(%nntplink_site) - (total(%nntplink_eof) +
1479 total(%nntplink_sockerr) +
1480 total(%nntplink_selecterr) +
1481 total(%nntplink_hiload) +
1482 total(%nntplink_bpipe) +
1483 total(%nntplink_nospace) +
1484 total(%nntplink_auth) +
1485 total(%nntplink_expire) +
1486 total(%nntplink_fail))";
1492 value "$nntplink_eof{$key}";
1493 total "total(%nntplink_eof)";
1499 value "$nntplink_sockerr{$key}";
1500 total "total(%nntplink_sockerr)";
1506 value "$nntplink_selecterr{$key}";
1507 total "total(%nntplink_selecterr)";
1513 value "$nntplink_hiload{$key}";
1514 total "total(%nntplink_hiload)";
1520 value "$nntplink_bpipe{$key}";
1521 total "total(%nntplink_bpipe)";
1527 value "$nntplink_nospace{$key}";
1528 total "total(%nntplink_nospace)";
1534 value "$nntplink_expire{$key}";
1535 total "total(%nntplink_expire)";
1541 value "$nntplink_auth{$key}";
1542 total "total(%nntplink_auth)";
1548 value "$nntplink_fail{$key}";
1549 total "total(%nntplink_fail)";
1555 value "$nntplink_site{$key} ?
1556 100 * ($nntplink_site{$key} -
1557 ($nntplink_eof{$key} + $nntplink_sockerr{$key} +
1558 $nntplink_selecterr{$key} +
1559 $nntplink_hiload{$key} + $nntplink_bpipe{$key} +
1560 $nntplink_nospace{$key} + $nntplink_auth{$key} +
1561 $nntplink_expire{$key} +
1562 $nntplink_fail{$key})) / $nntplink_site{$key} : 0";
1563 total "total(%nntplink_site) ?
1564 100 * (total(%nntplink_site) -
1565 (total(%nntplink_eof) +
1566 total(%nntplink_sockerr) +
1567 total(%nntplink_selecterr) +
1568 total(%nntplink_hiload) +
1569 total(%nntplink_bpipe) +
1570 total(%nntplink_nospace) +
1571 total(%nntplink_auth) +
1572 total(%nntplink_expire) +
1573 total(%nntplink_fail))) / total(%nntplink_site) : 0";
1577 section innxmit_connect {
1578 title "Outgoing Feeds (innxmit) by Articles:";
1579 data "%innxmit_times";
1580 sort "$innxmit_accepted{$b} <=> $innxmit_accepted{$a}";
1586 format_total "TOTAL: %-20.20s";
1593 value "$innxmit_offered{$key}";
1594 total "total(%innxmit_offered)";
1600 value "$innxmit_accepted{$key}";
1601 total "total(%innxmit_accepted)";
1607 value "$innxmit_refused{$key}";
1608 total "total(%innxmit_refused)";
1614 value "$innxmit_rejected{$key}";
1615 total "total(%innxmit_rejected)";
1621 value "$innxmit_missing{$key}";
1622 total "total(%innxmit_rejected)";
1628 value "$innxmit_offered{$key} == 0 ? 0 :
1629 $innxmit_accepted{$key} / $innxmit_offered{$key} * 100";
1630 total "total(%innxmit_offered) == 0 ? 0 :
1631 total(%innxmit_accepted) / total(%innxmit_offered) * 100";
1636 value "time($innxmit_times{$key})";
1637 total "time(total(%innxmit_times))";
1640 title "Outgoing Feeds (innxmit)";
1642 sort "%innxmit_accepted";
1644 name "Art. accepted";
1646 value "%innxmit_accepted";
1649 name "Art. refused";
1651 value "%innxmit_refused";
1654 name "Art. rejected";
1656 value "%innxmit_rejected";
1659 name "Art. missing";
1661 value "%innxmit_missing";
1666 section innxmit_volume {
1667 title "Outgoing Feeds (innxmit) by Volume:";
1668 data "%innxmit_accepted_size";
1669 sort "$innxmit_accepted_size{$b} <=> $innxmit_accepted_size{$a}";
1675 format_total "TOTAL: %-17.17s";
1681 value "bytes($innxmit_accepted_size{$key})";
1682 total "bytes(total(%innxmit_accepted_size))";
1687 value "bytes($innxmit_rejected_size{$key})";
1688 total "bytes(total(%innxmit_rejected_size))";
1693 value "bytes($innxmit_accepted_size{$key} +
1694 $innxmit_rejected_size{$key} +
1695 $innxmit_bytes{$key})";
1696 total "bytes(total(%innxmit_accepted_size) +
1697 total(%innxmit_rejected_size) +
1698 total(%innxmit_bytes))";
1704 value "($innxmit_accepted_size{$key} +
1705 $innxmit_rejected_size{$key} +
1706 $innxmit_bytes{$key}) /
1707 $innxmit_times{$key} / 1024";
1708 total "(total(%innxmit_accepted_size) +
1709 total(%innxmit_rejected_size) +
1710 total(%innxmit_bytes)) /
1711 total(%innxmit_times) / 1024";
1716 value "bytes(($innxmit_accepted_size{$key} +
1717 $innxmit_rejected_size{$key} +
1718 $innxmit_bytes{$key}) /
1719 ($innxmit_accepted{$key} +
1720 $innxmit_rejected{$key}))";
1721 total "bytes((total(%innxmit_accepted_size) +
1722 total(%innxmit_rejected_size) +
1723 total(%innxmit_bytes)) /
1724 (total(%innxmit_accepted) +
1725 total(%innxmit_rejected)))";
1730 value "time($innxmit_times{$key})";
1731 total "time(total(%innxmit_times))";
1734 title "Outgoing Feeds (innxmit)";
1736 sort "%innxmit_accepted";
1738 name "Articles accepted";
1740 value "%innxmit_accepted_size";
1743 name "Articles rejected";
1745 value "%innxmit_rejected_size";
1750 value "%innxmit_missing";
1756 section innxmit_connect2 {
1757 title "Outgoing Feeds (innxmit) - other information:";
1758 data "%innxmit_site";
1759 sort "$innxmit_accepted{$b} <=> $innxmit_accepted{$a}";
1765 format_total "TOTAL: %-18.18s";
1772 value "$innxmit_site{$key}";
1773 total "total(%innxmit_site)";
1779 value "$innxmit_site{$key} -
1780 ($innxmit_afail_host{$key} +
1781 $innxmit_hiload{$key} + $innxmit_nospace{$key} +
1782 $innxmit_cfail_host{$key} +
1783 $innxmit_expire{$key} + $innxmit_crefused{$key})";
1784 total "total(%innxmit_site) -
1785 (total(%innxmit_afail_host) +
1786 total(%innxmit_hiload) +
1787 total(%innxmit_nospace) +
1788 total(%innxmit_cfail_host) +
1789 total(%innxmit_expire) +
1790 total(%innxmit_crefused))";
1796 value "$innxmit_afail_host{$key}";
1797 total "total(%innxmit_afail_host)";
1803 value "$innxmit_hiload{$key}";
1804 total "total(%innxmit_hiload)";
1810 value "$innxmit_nospace{$key}";
1811 total "total(%innxmit_nospace)";
1817 value "$innxmit_expire{$key}";
1818 total "total(%innxmit_expire)";
1824 value "$innxmit_cfail_host{$key}";
1825 total "total(%innxmit_cfail_host)";
1831 value "$innxmit_crefused{$key}";
1832 total "total(%innxmit_crefused)";
1838 value "$innxmit_site{$key} ? 100 *
1839 ($innxmit_site{$key} -
1840 ($innxmit_afail_host{$key} +
1841 $innxmit_hiload{$key} + $innxmit_nospace{$key} +
1842 $innxmit_cfail_host{$key} +
1843 $innxmit_expire{$key} +
1844 $innxmit_crefused{$key})) / $innxmit_site{$key} : 0";
1845 total "total(%innxmit_site) ?
1846 100 * (total(%innxmit_site) -
1847 (total(%innxmit_afail_host) +
1848 total(%innxmit_hiload) +
1849 total(%innxmit_nospace) +
1850 total(%innxmit_cfail_host) +
1851 total(%innxmit_expire) +
1852 total(%innxmit_crefused))) / total(%innxmit_site) : 0";
1856 section innxmit_unwanted {
1857 title "Sites fed by innxmit rejecting bad articles:";
1858 data "%innxmit_badart";
1859 sort "$innxmit_badart{$b} <=> $innxmit_badart{$a}";
1865 format_total "TOTAL: %-16.16s";
1872 value "$innxmit_badart{$key}";
1873 total "total(%innxmit_badart)";
1879 value "$innxmit_uw_ng_s{$key}";
1880 total "total(%innxmit_uw_ng_s)";
1886 value "$innxmit_uw_dist_s{$key}";
1887 total "total(%innxmit_uw_dist_s)";
1893 value "$innxmit_duplicate{$key}";
1894 total "total(%innxmit_duplicate)";
1900 value "$innxmit_unapproved{$key}";
1901 total "total(%innxmit_unapproved)";
1907 value "$innxmit_tooold{$key}";
1908 total "total(%innxmit_tooold)";
1914 value "$innxmit_uw_site{$key}";
1915 total "total(%innxmit_uw_site)";
1921 value "$innxmit_linecount{$key}";
1922 total "total(%innxmit_linecount)";
1928 value "$innxmit_others{$key}";
1929 total "total(%innxmit_others)";
1934 title "Crosspost stats:";
1940 format_total "TOTAL: %-56.56s";
1945 value "$crosspost{$key}";
1947 total "total(%crosspost)";
1951 value "$crosspost_times{$key}";
1953 total "total(%crosspost_times)";
1957 section batcher_elapsed {
1958 title "UUCP batches created:";
1959 data "%batcher_elapsed";
1964 format_total "TOTAL: %-34.34s";
1971 value "$batcher_offered{$key}";
1972 total "total(%batcher_offered)";
1978 value "$batcher_articles{$key}";
1979 total "total(%batcher_articles)";
1984 value "bytes($batcher_bytes{$key})";
1985 total "bytes(total(%batcher_bytes))";
1990 value "time($batcher_elapsed{$key})";
1991 total "time(total(%batcher_elapsed))";
1995 section rnews_host {
1996 title "Rnews articles offered from:";
1998 sort "$rnews_host{$b} <=> $rnews_host{$a}";
2003 format_total "TOTAL: %-64.64s";
2010 value "$rnews_host{$key}";
2011 total "total(%rnews_host)";
2015 section rnews_rejected {
2016 title "Rnews connections rejected:";
2017 data "%rnews_rejected";
2018 sort "$rnews_rejected{$b} <=> $rnews_rejected{$a}";
2023 format_total "TOTAL: %-64.64s";
2030 value "$rnews_rejected{$key}";
2031 total "total(%rnews_rejected)";
2035 section rnews_misc {
2036 title "Miscellaneous rnews statistics:";
2038 sort "$rnews_misc{$b} <=> $rnews_misc{$a}";
2045 format_total "TOTAL: %-62.62s";
2058 value "$rnews_misc{$key1}{$key2}";
2059 total "total(%rnews_misc)";
2063 section nnrpd_groups {
2064 title "NNRP readership statistics:";
2065 data "%nnrpd_articles";
2066 sort "$nnrpd_articles{$b} <=> $nnrpd_articles{$a}";
2072 format_total "TOTAL: %-23.23s";
2079 value "$nnrpd_connect{$key}";
2080 total "total(%nnrpd_connect)";
2086 value "$nnrpd_articles{$key}";
2087 total "total(%nnrpd_articles)";
2092 value "bytes($nnrpd_bytes{$key})";
2093 total "bytes(total(%nnrpd_bytes))";
2099 value "$nnrpd_groups{$key}";
2100 total "total(%nnrpd_groups)";
2106 value "$nnrpd_post_ok{$key}";
2107 total "total(%nnrpd_post_ok)";
2113 value "($nnrpd_post_rej{$key}||0) +
2114 ($nnrpd_post_error{$key}||0)";
2115 total "total(%nnrpd_post_rej) +
2116 total(%nnrpd_post_error)";
2121 value "time($nnrpd_times{$key})";
2122 total "time(total(%nnrpd_times))";
2126 section nnrpd_dom_groups {
2127 title "NNRP readership statistics (by domain):";
2128 data "%nnrpd_dom_connect";
2129 sort "$nnrpd_dom_articles{$b} <=> $nnrpd_dom_articles{$a}";
2135 format_total "TOTAL: %-23.23s";
2142 value "$nnrpd_dom_connect{$key}";
2143 total "total(%nnrpd_dom_connect)";
2149 value "$nnrpd_dom_articles{$key}";
2150 total "total(%nnrpd_dom_articles)";
2155 value "bytes($nnrpd_dom_bytes{$key})";
2156 total "bytes(total(%nnrpd_dom_bytes))";
2162 value "$nnrpd_dom_groups{$key}";
2163 total "total(%nnrpd_dom_groups)";
2169 value "$nnrpd_dom_post_ok{$key}";
2170 total "total(%nnrpd_dom_post_ok)";
2176 value "($nnrpd_dom_post_rej{$key}||0) +
2177 ($nnrpd_dom_post_error{$key}||0)";
2178 total "total(%nnrpd_dom_post_rej) +
2179 total(%nnrpd_dom_post_error)";
2184 value "time($nnrpd_dom_times{$key})";
2185 total "time(total(%nnrpd_dom_times))";
2189 section nnrpd_auth {
2190 title "NNRP auth users:";
2193 sort "$nnrpd_auth{$b} <=> $nnrpd_auth{$a}";
2198 format_total "TOTAL: %-64.64s";
2205 value "$nnrpd_auth{$key}";
2206 total "total(%nnrpd_auth)";
2210 section nnrpd_resource {
2211 title "NNRP total resource statistics:";
2212 data "%nnrpd_resource_elapsed";
2214 sort "$nnrpd_resource_elapsed{$b} <=> $nnrpd_resource_elapsed{$a}";
2218 format_total "TOTAL: %-33.33s";
2226 value "$nnrpd_resource_user{$key}";
2227 total "total(%nnrpd_resource_user)";
2233 value "$nnrpd_resource_system{$key}";
2234 total "total(%nnrpd_resource_system)";
2240 value "$nnrpd_resource_idle{$key}";
2241 total "total(%nnrpd_resource_idle)";
2247 value "time($nnrpd_resource_elapsed{$key})";
2248 total "time(total(%nnrpd_resource_elapsed))";
2252 section nnrpd_curious {
2253 title "Curious NNRP server explorers:";
2254 data "%nnrpd_curious";
2256 sort "$nnrpd_curious{$b} <=> $nnrpd_curious{$a}";
2261 format_total "TOTAL: %-64.64s";
2268 value "$nnrpd_curious{$key}";
2269 total "total(%nnrpd_curious)";
2273 section nnrpd_no_permission {
2274 title "NNRP no permission clients:";
2275 data "%nnrpd_no_permission";
2276 sort "$nnrpd_no_permission{$b} <=> $nnrpd_no_permission{$a}";
2281 format_total "TOTAL: %-64.64s";
2288 value "$nnrpd_no_permission{$key}";
2289 total "total(%nnrpd_no_permission)";
2293 section nnrpd_gethostbyaddr {
2294 title "NNRP gethostbyaddr failures:";
2295 data "%nnrpd_gethostbyaddr";
2297 sort "$nnrpd_gethostbyaddr{$b} <=> $nnrpd_gethostbyaddr{$a}";
2302 format_total "TOTAL: %-64.64s";
2309 value "$nnrpd_gethostbyaddr{$key}";
2310 total "total(%nnrpd_gethostbyaddr)";
2314 section nnrpd_unrecognized {
2315 title "NNRP unrecognized commands (by host):";
2316 data "%nnrpd_unrecognized";
2317 sort "$nnrpd_unrecognized{$b} <=> $nnrpd_unrecognized{$a}";
2322 format_total "TOTAL: %-64.64s";
2329 value "$nnrpd_unrecognized{$key}";
2330 total "total(%nnrpd_unrecognized)";
2334 section nnrpd_unrecognized2 {
2335 title "NNRP unrecognized commands (by command):";
2336 data "%nnrpd_unrecogn_cmd";
2337 sort "$nnrpd_unrecogn_cmd{$b} <=> $nnrpd_unrecogn_cmd{$a}";
2342 format_total "TOTAL: %-64.64s";
2349 value "$nnrpd_unrecogn_cmd{$key}";
2350 total "total(%nnrpd_unrecogn_cmd)";
2354 section nnrpd_timeout {
2355 title "NNRP client timeouts:";
2356 data "%nnrpd_timeout";
2358 sort "$nnrpd_timeout{$b} <=> $nnrpd_timeout{$a}";
2363 format_total "TOTAL: %-60.60s";
2370 value "$nnrpd_timeout{$key}";
2371 total "total(%nnrpd_timeout)";
2377 value "$nnrpd_reset_peer{$key}";
2378 total "total(%nnrpd_reset_peer)";
2382 section nnrpd_hierarchy {
2383 title "Newsgroup request counts (by category):";
2384 data "%nnrpd_hierarchy";
2385 sort "$nnrpd_hierarchy{$b} <=> $nnrpd_hierarchy{$a}";
2391 format_total "TOTAL: %-57.57s";
2398 value "$nnrpd_hierarchy{$key}";
2399 total "total(%nnrpd_hierarchy)";
2405 value "$nnrpd_hierarchy{$key} /
2406 total(%nnrpd_hierarchy) * 100";
2409 # graph : type piechart
2412 section nnrpd_group {
2413 title "Newsgroup request counts (by newsgroup):";
2414 data "%nnrpd_group";
2415 sort "$nnrpd_group{$b} <=> $nnrpd_group{$a}";
2422 format_total "TOTAL: %-64.64s";
2429 value "$nnrpd_group{$key}";
2430 total "total(%nnrpd_group)";
2434 section ihave_site {
2435 title "IHAVE messages offered from:";
2436 data "%controlchan_ihave_site";
2437 sort "$controlchan_ihave_site{$b} <=> $controlchan_ihave_site{$a}";
2442 format_total "TOTAL: %-64.64s";
2449 value "$controlchan_ihave_site{$key}";
2450 total "total(%controlchan_ihave_site)";
2454 section sendme_site {
2455 title "SENDME messages offered from:";
2456 data "%controlchan_sendme_site";
2457 sort "$controlchan_sendme_site{$b} <=>
2458 $controlchan_sendme_site{$a}";
2463 format_total "TOTAL: %-64.64s";
2470 value "$controlchan_sendme_site{$key}";
2471 total "total(%controlchan_sendme_site)";