Remstats Home



  Live Data

  Remstats was written by
  Thomas Erskine at the
  CRC in Canada and now
  at SourceWorks.

[Top] [Prev] [Next]

To-Do List for Remstats (complete)

x) [DONE] log alerts

x) [DONE] an interpreter like rrdcgi which has a description of a page with OID-inserting magic cookies to do status reports (snmppage)

- called datapage and dataimage as it's not only SNMP

x) [DONE] check effect on graph-creation time of long high-res retention

- graph-creation increase is linear with additional rows

x) [DONE] interface comments in snmp-showif

x) [DONE] make snmp-collector stop whinging when it can't contact the host

- have to tell unreachable from a configuration error with an oid that machine doesn't have.

15) [DONE] fix ping thumbnail generation; they're all broken

16) [DONE 19990921] add ftpcount to unix-status-server

5) [DONE] host-specific links

- use tools, no code and can be re-used for things that more than one host has

20) [DONE] fix ps collector unix-status-server of unix-status-collector

21) [DONE] UPS datapage with all current info

8) [DONE] customgraphs (i.e. not groups by host)

- make html-writer and grapher do customgraphs [TODO]

- make graph-writer do customgraphs

23) [DONE 19991103] unix-status-server hangs if any of the external programs hang.

11) [DONE 19991117] make scripts do substitutions. Need it for non-ip web virtual hosts.

17) [DONE 19991117] alert-monitor: it'd be nice to trigger alerts on certain variables changing more than a specified amount, e.g. bgp session count changing at all

12) [PASS 19991117] find some reasonable way to restrict access to alert.cgi's updating functions

- Just use your .htaccess file

18) [DONE] make alerts show up somehow on index pages

- only way with rrdcgi pages would be to store alerts/status in individual files, so that they could be sucked in with <RRDCGI::INCLUDE...>

- just included a link to alert.cgi selecting that host in a status file

22) [DONE 19991117] make web interface for log-event

- add it to the end of showlog.cgi

26) [DONE 19991122] use PNG images. Need to add to read_config and change graph-writer to use configured type.

7) [DONE 19991124] fix alert-monitor to be a status-monitor. I.E. keep all statuses not just non-OK ones. Have to make alert.cgi select non-OK by default.

- [DONE 19991130] alert.cgi doesn't retrieve quench and comments

- [DONE 19991203] 19991202 add has-an-alert status file (containing red star if there is an alert or empty if not, and RRD::INCLUDE it on the index pages. How about another which has a longer message, to RRD::INCLUDE on the main host page. Need to modify alert-monitor and graph-writer.

- [DONE 19991203] 19991026 need reporting program. Point it at an rrd and give it a timespan and it will report on min/avg/max for each (specified) variable with sub (min/avg/max) per day, week, month and year.

- [DONE 19991207] 19991202 Network Solutions broke whois.cgi by completely changing the format of the output. I need a generic whois cgi which will deal with whatever comes back.

- [DONE 19991208] 19991203 topology-change alert, from do-traceroute's data to tell when the route to somewhere has changed (log it too)

- [DONE 19991208] 19991203 need some flag on rrd invocation (within [host]) to tell what the bandwidth is, to set max limits to filter garbage. Should get updated when config is changed. Where?

  • use interface MIB's ifSpeed, now when to update?
  • see snmpif-setspeed, invoked in do-remstats when config changes

34) [DONE 19991209] 19991208 need to be able to probe web-servers via a proxy

- can probably do it with a different script with substitutions in the script.

36) [DONE 19991214] 19991213 need to re-make the docs automatically

24) [DONE 19991216] need selection capability for showlog.cgi. Say, range of dates, select an alert class, host, rrd, variable and regex on message

27) [DONE 19991216] 19991110 add ability to query (in a sane fashion) non interface.* interfaces via snmp. For example, frame-relay has a different MIB, but it still ought to be easy to query a frame-relay interface without having to write a new rrd for each definition.

41) [DONE 20000113] 20000111 alert-monitor isn't triggering any alerts

44) [DONE 20000124] 20000114 [HIGH] make collectors timeout non-responding hosts

- need it in port-collector and unix-status-server

- timeout in Net::Telnet is broken

- try to use IO::Socket's timeout directly

- working timeout in unix-status-server in do_df and in port-collector which are the only ones I've seen problems with.

4) [DONE 20000126] ???????? [LOW] make nograph directive for host sections

46) [DONE 20000128] 20000126 [LOW] how about a plugin-collector?

- supply a program (which will be in INSTALLDIR/plugins)

- pass the program host, realrrd, wildpart, extra-args

- program prints "host varname value", possibly multiple times, (i.e. standard collector format)

- don't even need this if you're willing to insert said script into do-remstats with the standard wrapping, but it makes new collectors possible without editing remstats code.

47) [DONE 20000208] 20000210 [MED] modify all collectors to include a timestamp, so that the update time will be more accurate.

48) [DONE 20000216] 20000211 [HIGH] fix alert-monitor so that it generates alerts, and also so that it keeps correct status.

53) [DONE 20000307] 20000221 [HIGH] need to use the IP number if provided, so that you can query hosts which aren't in DNS.

- done for snmp-collector, port-collector and ping-collector [20000222]

- check unix-status-collector [20000307]

57) [DONE 20000315] 20000314 [MEDIUM] make traceroute.cgi not look up dns names if given an IP number

54) [DONE 20000313] 20000307 [MEDIUM] check that traceroute compiles under linux. Bjoern says it needs (and doesn't have) -lresolv

56) [DONE] 20000307 [LOW] ping-index: background-color is determined at page-creation time, not at run-time. I.E. the color is based on status when the page was generated. It needs to be picked up from a status file generated by ping-monitor.

28) [DONE 20000315] 19991201 [HIGH-HOLD] document everything, especially the configuration process.

- need to find a suitable documentation format. Need to be able to generate plain-text and html output from a single source. (POD)

58) [DONE 20000320] 20000320 [MEDIUM] ps-fetched innd size rrd definition (solaris/sysv and linux/bsd)

55) [DONE 20003024] 20000307 [LOW] switch make-port-hosts use socketstuff.pl instead of Net::Telnet. This avoids the bug in Net::Telnet and eliminates it as a prerequisite for remstats.

59) [DONE 20000323] 20000215 [HIGH] The whole do-remstats process needs to be configurable without changing the script. Done in run-remstats.

49) [DONE 20000328] 20000215 [HIGH] new do-remstats which runs ping-collector|updater first and stores the results. Then modify all the other collectors to not query a host if it didn't respond to ping. Somebody will probably have some machine they have to monitor that they can't ping, so there should be some way to override this behaviour.

63) [DONE 20000403] 20000330 [HIGH] remove Net::Telnet from remoteping-collector

64) [DONE 20000403] 20000331 [MEDIUM] make new-snmp-hosts collect and use the comment, the way snmp-showif does.

38) [DONE 20000403] ???????? [HIGH] split out the config file into a file per section type, e.g. all the hosts sections in one file... Modify read_config to take a directory name and sections to read. It should speed up some scripts by not having to read the whole config, just those sections pertaining to that script.

82) [DONE 20000418] 20000413 [HIGH] make everything strict for perl 5.6

77) [DONE 20000418] 20000413 [HIGH] Need to mention remstats user in installation docs, and importance of mesh with httpd user.

78) [DONE 20000418] 20000413 [HIGH] Need to show apache "how to run .cgi outside cgi-bin"

85) [DONE 20000420] 20000418 [HIGH] host index link is broken

81) [DONE 20000420] 20000413 [HIGH] better docs on how what level of alerts get set

73) [DONE 20000420] 20000407 [HIGH] alert.cgi shouldn't always call write_alerts, only when necessary.

76) [DONE 20000420] 20000413 [HIGH] traceroute coredumps with -A, sometimes under solaris 2.6 and 2.7

B<74) 20000410 [HIGH] implement host "via" with multiple network devices - [DONE 20000420] now test that it does something usefull.

83) [DONE 20000426] 20000417 [MEDIUM] line-speed distribution on access-server

- cisco-access-server-collector, which currently only supports the ciscolinespeed rrd, should do this.

  • 89) 20000425 a new CGI, say remstatsgraph.cgi which can be invoked as:
    	<IMG SRC="remstatsgraph.cgi?host=xxx&rrd=yyy&graph=zzz&time=aaa">

    or

    	<IMG SRC="remstatsgraph.cgi?customgraph=xxx&time=yyy">
    	This isn't very efficient as the graph has to be re-generated each time the
    	page is fetched, but it allows remstats graphs on otherwise static pages.

    80) [DONE 20000502] 20000413 [MEDIUM] make a new ping-* rrd and modify ping-collector to deal with it for pinging multiple interfaces on a host.

    66) [DONE 20000201] 20000331 [MEDIUM] views. Make new html trees populated by only what you specify. Sample config (old-style):

        [view customer1]
        tools   ping
        text    varname some text here
        oid     varname someoid

    and either

        template customer

    or lines specifying the desired graphs, like:

        graph   router1.my.domain snmpif-se0 graphname
        customgraph graphname

    33) [DONE 20000502] 19991206 [LOW] need to store graph config differently so that graphs of the same name in different rrd's don't conflict. This will also require renaming the graph image files to avoid over-writing.

    90) [DONE 20000502] 20000428 [LOW] stale lockfiles collector. Similar to the log-collector. You provide a list of lock-files and how old they're allowed to be, and the lockfile-collector notes what happened. Generalize to have it simply return file ages for listed files, and use the usual alert mechanism to decide what's a problem. Add it as a piece of the unix-status-collector, but it doesn't need to run an external program.

    79) [DONE ????????] 20000413 [MEDIUM] consider alerts possible when a condition returns to normal from an elevated level.

    61 [DONE 20000516] 20000328) [LOW] new portinfo-collector. Sort of like the port-collector, possibly replacing it. Sends a parameter-substituted script (like port-collector), and picks out information via regex's (like log-collector).

    - done using the infopattern and valuepattern in a script associated with a port-collector RRd.

    B<91) [DONE 20000518] 20000518 [HIGH] form-based input for ping.cgi and traceroute.cgi and whois.cgi when invoked without a query-string.

    71) [DONE 20000524] 20000407 [MEDIUM] alert-email needs host and rrd descriptions to add to output.

    B<72) [DONE 20000524] 20000407 [MEDIUM] add host and rrd descriptions to the list of things that do_subs does

    93) [DONE 20000529] 20000525 [MEDIUM] template facility for alert-email. Two kinds. One for differing templates depending on adressee, so that pager-like things can be given a shorter message. The other is for rrd-specific templates, so that the message can actually mean something to people who don't know anything about remstats.

    88) 20000420 [MEDIUM] indextype (flow|rrdrow) to allow all the graphs from an rrd to show in one row of a table. This way all the graphs from an interface line up with the same graph on the next interface on this host. As a crude half-measure on the way to views.

    - views weren't that difficult. I don't think that this is necessary?

    95) [DONE 20000613] 20000613 [HIGH] showlog.cgi doesn't do time-spans anymore

    96) [DONE 20000613] 20000613 [HIGH] add previous/next day/week/month buttons to log selection.

    105) [DONE 20001018] 20000921 [HIGH] need ping-collector to add hosts with no ping rrd to the list of uphosts, when running in pre-collector mode, so they don't get skipped.

    104) [DONE 20001018] 20000921 [HIGH] need to be able to note host status by other than ping status. Use a line like:

    	status STATUS-port-ssh

    to pull the status from the SSH reachability, instead of ping.

    67) 20000405 [MEDIUM] host link, for host-specific info

    - cancelled in favour of 102

    84) 20000417 [LOW] No way to order the hosts on the index pages, except re-ordering the actual directory entries.

    - Now at least the entries are sorted (by char-set) [DONE 20000418]

    - I think this is the right thing to do, and I'm going to leave it sorted by host-name, within group.

    101) [DONE 20001206] 20000707 [HIGH] re-write alert-email as a perl script to compare time and make it more flexible.

    - added new script alerter which determines the real destination address and calls appropriate tiny scripts to deliver individual alerts.

    100) [DONE] 20000627 [MEDIUM] traceroute will core if you use the -A flag for routes which aren't in the routing arbiter database. (Thanks Steve.) Need to fix this. Isn't this fixed?

    35) [DONE 20001206] 19991209 [MEDIUM] need availability report for interfaces, systems, ports at least, showing % availibility over a user-specified time-span, with sub-intervals within that. Sounds like a lot of code from rrd-report could be used; maybe make it an option for rrd-report.

    - or could dump to a form usable as import to an SQL database and use some-one else's report generator.

    ??)) [DONE] need a configure which at least looks like an autoconf configure A simple one would just create fixup.config, using fixup.config.in as a default.

    - done quite a while ago.

    117) [DONE 20010102] 20001229 [HIGH] add "I changed the graph description in the rrd but nothing happened" to the FAQ.

    113) [DONE 20010102] 20001212 [HIGH] host templates. So you can configure similar hosts with desc xxx template yyy

    Implementation is simple. Reserve UPPERCASE hostnames for templates, and read them in with the read_config_hosts routine. It needs to be modified to store the templates in $main::config{HOSTTEMPLATE}... instead of $main::config{HOST}... so that this won't break everything that relies on getting a list of hosts by keys %{$main::config{HOSTS}}. Then, when a host refers to a template, copy the keys from the template hash.

    119) [DONE 20010131] 20010130 [HIGH] - host status pages showing current values of everything: rrd/variables and status files. Implement by datapage.cgi pages automatically generated. Include indices, tools and status_header in the page.

    118) [DONE 20010227] 20010124 [LOW] - cleanup.sh to run out of cron infrequently to prune old log-files and junk in the tmp directory

    68) [DONE 20010227] 20000406 [MEDIUM] write new-unix-status-host. It requires that the host already be running the unix-status-server. It will parse the output of the unix-status-collector after requesting everything.

    123) [DONE] 20010409 [HIGH] - make snmp-collector give priority to unix-status-collector's hardware and software collection.

    124 DONE 20010528 20010525 [HIGH] - make new-config create the _remstats_ pseudo-host, including making a group for it in groups.

    125 20010525 [HIGH] - add to unix-status-server netstat functionality the ability to show counts of processes in various TCP states.

    120 [DONE 20010608] 20010202 [MED] - collect inventory from NT machines at least, consider unix boxen too. Start by looking at the raw output of the collectors.

    114) [DONE 20010608] 20001214 [HIGH] - make snmp-collector and whatever else needs it produce/accept oidnames in mixed case, like they must be specified in the "oid" lines.

    108) [DONE before 20010608] 20001211 [MED] need "noavailability" spec for host definition to drop availability calculation for hosts which lack something which should usually have availability calculated.

    126 [DONE 20010628] 200106022 [HIGH] - different coloured alert links on quick index

    116 [DONE 20010628] 20001229 [HIGH] - describe documentation conventions. Some people don't read manualese. E.G. for [bracketed] stuff being optional.

    129 [DONE 20010823] 20010823 [HIGH] - add command to datastuff.pl which pulls the alert status of a specified (host,rrd,variable). This will permit making different formats of display of statuses, e.g. by host, by rrd, for a single host, for a group, for all of them... The only thing it doesn't get us is the addition of statuses to the host indices. This would require 130.


    Last updated Tue Apr 16 19:09:27 PDT 2002 by <thomas.erskine@sourceworks.com>.
    [SourceWorks] [Top] [RRDtool]