To-Do List for Remstats
214 20030516 [HIGH]- finish architecture docs
213 20030515 [HIGH] - change localtime to gmtime througout
212 20030509 [HIGH] - fix dns-collector to have the rrd definitions specify the record-types instead of the rrd instances.
210 20030508 [HIGH] - allow configurable wait between items in a run-stage to allow slow machines to cope better (thanks Marek).
211 20030508 [HIGH] - iptables collector or section for unix-status-server Allow configuration of which tables and chains to look at.
208 20030508 [HIGH] - fix docs for new-xxx-hosts to make it clearer that "hostsfile" is just a list of hosts, not a host configuration file.
206 20030328 [HIGH] - fix showlog.cgi - it doesn't like March 29, 30 or 31. Probably related to February.
204 20030128 [HIGH] - only log alerts on transitions Right now, it logs every time after the initial waiting period. It ought to log right away, and not again until there is another change.
202 20020821 [HIGH] - add walk capability to snmp-collector,
so that it can collect things with multiple instances. The problem is
figuring out how to identify the instances. Could be as simple as a
wildcard RRD with an enhancement on the
200 20020819 [HIGH] - monitoring of remstats errors - While cleaning up stderr files, count errors and aborts and log that too.
- [DONE 20020820] - make sure it works.
193 20020726 [HIGH,BUG] - look at datastuff.pl RRDNODATA causes all sorts of error messages in the web error log if it gets RRDNODATA.
191 20020716 [HIGH,BUG] - alert-monitor is logging too much It needs to only log state transitions.
187) 20020627 [HIGH] - some df's give blocks instead of k
185) 20020625 [HIGH,BUG] - host-templates are broken In some cases they wipe out all RRDs from $main::config. Unfortunately, I can't duplicate this any more. Double-plus-ungood.
99) 20000619 [HIGH] make unix-status-collector send the directories that we want df for and make unix-status-server do "df /dir1 /dir2" to get them, and pull them off one line at at time. This is to deal with things like disconnected NFS-mounted directories hanging df when we do just a bare "df".
86) 20000419 [HIGH] trends analysis
-  consider Holt-Winters smoothing to create temporary RRD files to show smoothed data and projections. Store it under GRAPHS/TMP
87) 20000419 [HIGH] alerts based on trends analysis and historical data, like one-week average and standard-deviation, ... (for Steve)
-  new kind of alert using Holt-Winters to extrapolate trends and base the alert on some value in the future. Definition like:
alert trend(xyzzy,7d) < 20 40 60
or maybe trend-alert xyzzy 7d < 20 40 60
to trigger an alert if the trend for variable
Could even generalize this by making it
146) 20011220 [HIGH] - deal with broken html in release/src directory
215 20030516 [MED]- make nt-status-server not need srvinfo, as it can be really slow.
207 20030404 [MEDIUM] - alert-fixup - run command on detecting condition
The command is found in
203) 20030122 [MEDIUM] - move host data to data/HOSTS/<hostname>
188) 20020628 [MEDIUM] - new show-alert-thresholds.cgi to extract the levels from rrds and host (separately) and format them prettily.
180) 20020613 [MEDIUM] - development hints E.G. use skeleton-collector as template to make new collectors.
168) 20020508 [MEDIUM] - check that we're not lying with /o in pattern matches.
127) 20010622 [MEDIUM] - graph data together with historical data. This will probably mean either populating another rrd with historical averages, temporarily or permanently, or modifying rrdtool. The former is certainly simpler to do, given my knowledge of the internals of rrdtool. However, it needs to have another rrd for each period? Need to keep the same data over some longer period, a multiple of the period of interest, as well as the averages, from period to period.
- see also 86 and 87.
138) 20011002 [MEDIUM] - make new-config symlink all rrds from config-base instead of just the directory. That will make it easier for people to have their own rrds which don't get overwritten.
137) 20011002 [MEDIUM] - make datapage-interfaces include if-* and procnetdev-* collected interfaces as similar info is available.
131) 20010824 [MEDIUM] - make status pages for each host, group and for all hosts using the new alertstatus and possibly alertvalue.
- [DONE before 20011220] see datapage-alert-writer
109) 20001212 [MEDIUM]
106) 20000922 [MEDIUM] make a file-collector. Similar to the log-collector, only for small, local files. Slurp the file into memory, match patterns and pull out values. The data line in an rrd definition would be like:
source file data VARNAME GAUGE:600:0:U FUNCTION PATTERN(WITH)PARENS
In fact, this would share so much code with the log-collector that it might be worth combining the two. This allows collection from things like Linux's /proc.
103) 20000915 [MEDIUM] make-path doesn't work with non fqdn hosts. Make it read the configuration, so it can look up the IP number in the host config and use that if it's defined. Otherwise, default to gethostbyaddr.
45) 20000121 [MEDIUM] make snmp-collector send only one packet per host
- test and make sure that we do get back whatever succeeded. I vaguely remember that it didn't work. [Later: at least under UCD snmp under linux, if an item isn't implemented in the MIB, you get back NOTHING. Specifically, look for the non-unicast packet counters as well as something else; you get nothing back. This isn't good.]
- have to re-write snmp-collector completely, which isn't that bad an idea. This means a two-pass structure. On pass one, we construct the complete query and then send it. On pass two, we examine all the results and format them.
9) ???????? [MEDIUM,TESTING] make alerts take connectivity dependence into account
- add "via" line to host section to deal with hubs and switches [DONE]
- I think it's done. See what happens next outage.
134) 20010829 [LOW] - make header_bar (in htmlstuff) do the link making, if available and fix whatever uses it not to.
133) 20010829 [LOW] - add an option to make nt-discover update old hosts with a standard set of RRDs, even if the hosts are already known.
102) 20000912 [LOW] add see-also to host config, which will materialize links in the host header. Config line like:
seealso host:xyzzy http://www.somewhere ftp://ftphost
the special "host:" pseudo-URL gets changed to a link to the remstats page for that host.
51) 20000216 [LOW] need a way to specify URL for port-http. The root page doesn't always exist.
37) 19991216 [LOW] traceroute sometimes shows incorrect routing, which confuses the topology-monitor, causing false positives
50) 20000215 [LOW] make inventory script. Runs uname
(for hardware and software),
- looks like the beginning of a discovery script.
69) 20000406 [LOW] is there any use for write_environment in check-config?
Usually waiting for next major release, or trapped by something else. (in priority order)
164) 20020409 [HIGH,HOLDRELEASE,NEEDS=165] - document perl libraries
165) 20020409 [HIGH,HOLDRELEASE] - convert perl libraries to modules
that can be
92) 20000518 [HIGH,HOLD] collect traffic info from cflowd (artsportms). Make it flexible enough that it can let you choose which ports you want (one per rrd?). Make a loader to load historical data.
- [DONE 20000524] artsportms-loader done
- [HOLD] I no longer have access to devices with this feature
70) 20000407 [HIGH,HOLD] CGI scripts need to have a way to deal with alternate config-files, and graph-writer needs to tell them if they can't work it out themselves. Otherwise, people need to be told to do multiple installs of the CGI scripts, which might be the best way.
make install-cgis CONFIGDIR=config-xxx
Not that painfull, but wastefull and makes upgrade messier.
- I don't like the multiple-install method, but any other method needs a way of getting configuration information into the CGI scripts. Any method which passes info in via the URL or form fields is out: too unsafe. The only other method I can think of is to read a configuration file in the same directory as the CGI script. This ought to be safe from modification, or your web-site is waiting to be mutilated. The other part to consider is whether any part of the info in the CGI config-file is sensitive. I.E. do we have to protect it in some way.
- Configuration file in the same directory won't work either, you'd still have to install the cgi's multiple times. I'm starting to think that multiple installations may be the only safe thing to do.
60) 20000328 [MEDIUM,HOLD] replace route-collector with something which scales. SNMPwalking bgp4PathAttrBest doesn't scale to large Internet routers with 400 peers, taking over an hour to complete. (see also 61)
- look at a script to follow the output of zebra. That's a lot of overhead though. Easy if zebra is solid.
- How difficult can it be to make a native BGP listener? I'm not clear on the protocol, but it doesn't look too bad.
- [HOLD] As I don't need it, and have no access to anything which does.
42) 20000114 [MEDIUM,HOLD] snmp-collector mod to allow summary data collected from a walk and then filtered as a single data-point. E.G. specify a rrd "oid" like:
walk count ifOperStatus = 1
would produce a count of the number of interfaces on that device that were active (i.e. had a live device plugged into them). Or a similar one would let you count BGP routes, or arp addresses, ...
- Unfortunately, from experience with the snmp-route-collector, this is going to be slow for anything with a large number of items.
- [HOLD] Until I think of something to use it for.
171) 20020510 [MEDIUM,HOLDRELEASE] - have collectors log how many hosts, unique rrds and rrd instances they collected from for _remstats_.
121) 20010202 [MEDIUM,HOLD] - how about an discovery program, to find and identify hosts and then run the appropriate new-xxx-hosts scripts to add them?
- DONE 20010608 - nt-discover to find and add NT boxen
128) 20010629 [MEDIUM,HOLD] - custom, configuration-supplied info per rrd which is simply available wherever it makes sense, e.g. in alerts.
- first make sure someone has a use for it.
40) 20000104 [MEDIUM,HOLD] consider some form of access-control for servers
- hash-based "password"
- ssl tunneling ought to work for everything except SNMP
- what does this buy? With the various servers run under tcp_wrappers an attacker must either gain access to the remstats collector machine or spoof a tcp session from them. If you've been "owned" you've got bigger problems. If the attacker spoofs a session with a remstats server, tcp-wrappers will insist that it must come from one of the allowed hosts, so that's where the stolen output will go. This is only usefull to the attacker if they have access to the remstats collector machine or if they can sniff the traffic between the collector and the server. The only data loss possible is with the log-server which keeps state. (Ignoring DOS attacks which are always a problem.)
- unless someone needs this, it's on hold
10) ???????? [LOW,INPROGRESS,HOLD] make graph of connectivity
13) ???????? [LOW,INPROGRESS,HOLD] snmp trap listener to update status files
- needs filter to be usefull [DONE]
- I haven't seen any useful traps so this is on hold.
39) ???????? [LOW,HOLD] make RRD dumper, to put data out in a form that can be loaded into a database
- I don't need it, per se, but it might be easier than writing the availability report generator.
52) 20000215 [LOW,HOLD] make a makegraph.cgi, or whatever, that will let you make a somewhat custom graph on the fly. makegraph.cgi by itself will list all the hosts and let you choose one. makegraph.cgi?host=xxx will list all the RRDs for this host and let you choose ?one?. makegraph.cgi?host=xxx&rrd=yyy will list the various DSs for this RRD and let you choose the ones you want. Then you get to define any CDEFs needed and then LINEn/AREA/STACK for each DEF or CDEF desired. And size, title, legends...
- On hold since graph.cgi will let you get at any existing graph you want. If I find a use or need for this, I'll re-activate it.
- see XXX
112) 20001212 [LOW,HOLD] - web-based remstats configurator. Needs to consider security, at least from the point of view that you don't want to lose your configuration. The most important part is hosts. A lot of the rest doesn't have to be changed, or only once.
111) 20001212 [LOW,HOLD] consider grafting on (at least links to) some kind of system configuration interface. For configuring the mmonitored entities, not remstats.
110) 20001212 [LOW,HOLD] consider problem-fixing interface. It'd be nice to try to fix things if there is a known way to do so. A simple kludge would be to add another method to the alert-destination-map which deals with problems that it knows about, possibly invoking plugins for specific alerts.
130 20010823 [LOW,HOLD] - add an <RRD::EXEC ...> tag to rrgcgi.
- [HOLD] I thought I had a use for it, but I can't think of one now.
162) 20020327 [LOW,HOLD] - allow logging as a possible type of alert "notification".
- [HOLD] Why?
147) 20011220 [LOW,HOLD] - get list of links to users
- [HOLD] I don't know what this is.
I've also kept the stuff that used to be here, but has already been done.
[Top] [Remstats] [SourceWorks] [RRDtool] [SourceForge]
Last updated Fri May 30 13:51:12 PDT 2003 by <firstname.lastname@example.org>.