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 Thu Mar 17 17:00:20 UTC 2005 by <thomas.erskine@sourceworks.com>.
[SourceWorks]
[Top]
[RRDtool]