File: done.pod

package info (click to toggle)
remstats 1.00a4-8woody1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,576 kB
  • ctags: 1,020
  • sloc: perl: 11,706; ansic: 2,776; makefile: 944; sh: 869
file content (423 lines) | stat: -rw-r--r-- 16,925 bytes parent folder | download
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.