1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
|
=cut
TITLE=To-Do List (completed)
DESCRIPTION=completed to-do list for remstats development
KEYWORDS=todo,completed,done
DOCTOP=index
DOCPREV=todo
DOCNEXT=topics
# Last is 66
=pod
=head1 To-Do List for Remstats (complete)
B<x) [DONE]> log alerts
B<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
B<x) [DONE]> check effect on graph-creation time of long high-res retention
- graph-creation increase is linear with additional rows
B<x) [DONE]> interface comments in snmp-showif
B<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.
B<15) [DONE]> fix ping thumbnail generation; they're all broken
B<16) [DONE 19990921]> add ftpcount to unix-status-server
B<5) [DONE]> host-specific links
- use tools, no code and can be re-used for things that more than
one host has
B<20) [DONE]> fix ps collector unix-status-server of unix-status-collector
B<21) [DONE]> UPS datapage with all current info
B<8) [DONE]> customgraphs (i.e. not groups by host)
- make html-writer and grapher do customgraphs [TODO]
- make graph-writer do customgraphs
B<23) [DONE 19991103]> unix-status-server hangs if any of the external programs hang.
B<11) [DONE 19991117]> make scripts do substitutions. Need it for non-ip web virtual hosts.
B<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
B<12) [PASS 19991117]> find some reasonable way to restrict access to L<alert.cgi|alert-cgi>'s updating functions
- Just use your .htaccess file
B<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 L<alert.cgi|alert-cgi> selecting that host in a status file
B<22) [DONE 19991117]> make web interface for log-event
- add it to the end of L<showlog.cgi|showlog-cgi>
B<26) [DONE 19991122]> use PNG images. Need to add to read_config and change graph-writer to
use configured type.
B<7) [DONE 19991124]> fix alert-monitor to be a status-monitor. I.E. keep B<all>
statuses not just non-OK ones. Have to make L<alert.cgi|alert-cgi> select non-OK
by default.
- [DONE 19991130] L<alert.cgi|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 L<whois.cgi|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?
=over 4
=item use interface MIB's ifSpeed, now when to update?
=item see snmpif-setspeed, invoked in do-remstats when config changes
=back 4
B<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.
B<36) [DONE 19991214]> 19991213 need to re-make the docs automatically
B<24) [DONE 19991216]> need selection capability for L<showlog.cgi|showlog-cgi>. Say,
range of dates, select an alert class, host, rrd, variable and
regex on message
B<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.
B<41) [DONE 20000113]> 20000111 alert-monitor isn't triggering any alerts
B<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.
B<4) [DONE 20000126] ???????? [LOW]> make nograph directive for host sections
B<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.
B<47) [DONE 20000208] 20000210 [MED]> modify all collectors to include a
timestamp, so that the update time will be more accurate.
B<48) [DONE 20000216] 20000211 [HIGH]> fix alert-monitor so that it generates
alerts, and also so that it keeps correct status.
B<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]
B<57) [DONE 20000315] 20000314 [MEDIUM]> make L<traceroute.cgi|traceroute-cgi> not look up dns names if given
an IP number
B<54) [DONE 20000313] 20000307 [MEDIUM]> check that traceroute compiles under linux. Bjoern says
it needs (and doesn't have) -lresolv
B<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.
B<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)
B<58) [DONE 20000320] 20000320 [MEDIUM]> ps-fetched innd size rrd definition (solaris/sysv and linux/bsd)
B<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.
B<59) [DONE 20000323] 20000215 [HIGH]> The whole do-remstats process needs
to be configurable without changing the script. Done in run-remstats.
B<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.
B<63) [DONE 20000403] 20000330 [HIGH]> remove Net::Telnet from remoteping-collector
B<64) [DONE 20000403] 20000331 [MEDIUM]> make new-snmp-hosts collect and use the comment,
the way snmp-showif does.
B<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.
B<82) [DONE 20000418] 20000413 [HIGH]> make everything strict for perl 5.6
B<77) [DONE 20000418] 20000413 [HIGH]> Need to mention remstats user in installation
docs, and importance of mesh with httpd user.
B<78) [DONE 20000418] 20000413 [HIGH]> Need to show apache "how to run .cgi
outside cgi-bin"
B<85) [DONE 20000420] 20000418 [HIGH]> host index link is broken
B<81) [DONE 20000420] 20000413 [HIGH]> better docs on how what level of alerts get set
B<73) [DONE 20000420] 20000407 [HIGH]> L<alert.cgi|alert-cgi> shouldn't always call write_alerts,
only when necessary.
B<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.
B<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.
=item B<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.
B<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.
B<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
B<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.
B<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.
B<79) [DONE ????????] 20000413 [MEDIUM]> consider alerts possible when a condition
returns to normal from an elevated level.
B<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.
B<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
B<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.
B<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?
B<95) [DONE 20000613] 20000613 [HIGH]> showlog.cgi doesn't do
time-spans anymore
B<96) [DONE 20000613] 20000613 [HIGH]> add previous/next
day/week/month buttons to log selection.
B<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.
B<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.
B<67) 20000405 [MEDIUM]> host link, for host-specific info
- cancelled in favour of 102
B<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.
B<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.
B<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?
B<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.
B<??)) [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.
B<117) [DONE 20010102] 20001229 [HIGH]> add "I changed the graph description in the rrd but
nothing happened" to the FAQ.
B<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 C<$main::config{HOSTTEMPLATE}...> instead of
C<$main::config{HOST}...> so that this won't break everything that relies on
getting a list of hosts by C<keys %{$main::config{HOSTS}}>. Then, when
a host refers to a template, copy the keys from the template hash.
B<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.
B<118) [DONE 20010227] 20010124 [LOW]> - cleanup.sh to run out of cron infrequently to
prune old log-files and junk in the tmp directory
B<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.
B<123) [DONE] 20010409 [HIGH]> - make snmp-collector give priority to unix-status-collector's
hardware and software collection.
B<124 DONE 20010528 20010525 [HIGH]> - make new-config create the _remstats_ pseudo-host, including
making a group for it in groups.
B<125 20010525 [HIGH]> - add to unix-status-server netstat functionality
the ability to show counts of processes in various TCP states.
B<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.
B<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.
B<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.
B<126 [DONE 20010628] 200106022 [HIGH]> - different coloured alert links on quick index
B<116 [DONE 20010628] 20001229 [HIGH]> - describe documentation conventions. Some people
don't read manualese. E.G. for [bracketed] stuff being optional.
B<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.
|