ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/monitors/Heartbeat__Monitor.java
Revision 1.28 - (view) (annotate) - [select for diffs]
Sun Aug 1 10:40:45 2004 UTC (19 years, 9 months ago) by tdb
Branch: MAIN
CVS Tags: HEAD
Changes since 1.27: +3 -3 lines
Diff to previous 1.27
Catch a lot of old URL's and update them. Also remove a couple of old files
that aren't used.

Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Jan 15 14:10:13 2004 UTC (20 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26
OK - I can still program Java, I just can't remember how this works :-)

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Jan 15 13:41:47 2004 UTC (20 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.25: +5 -2 lines
Diff to previous 1.25
Assuming I can still program in Java, these changes allow monitoring to
be disabled at a per-host level or a per-host-per-monitor level.

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Feb 24 20:18:48 2003 UTC (21 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.24: +10 -6 lines
Diff to previous 1.24
Fairly major commit. This will break the current version of ihost, but this
had to be done really to give Pete something to test the new ihost against.

The main change here is removal of the TCP Heartbeat functionality from the
filter. This meant the following features stopped working :-
  - Heartbeat testing
  - Configuration checking
  - Service checks

The heartbeat testing, specifically the monitor, now looks at the presence
of UDP packets instead. Before it just looked for the presence of a TCP
heartbeat packet, so the change their is fairly negligible. Of course this
means heartbeat testing now relies on the UDP working... but I don't see
this as a problem.

Configuration checking has been repositioned in to the filtermanager. This
is a backwards compatible change - the filtermanager should still perform
as it should for older hosts. But now there's an extra command to check the
configuration is up-to-date, with a similar format to the old TCP protocol
in the filter. (although we may optimise this soon)

The service checks are broken. This isn't a major issue for us as they were
pretty useless in the first place. The concept is good, but the checks are
just far too primitive. I expect at some point I'll work on a seperate
component that just monitors services, which will replace this function.

Further changes in the server include removal of the key checking code,
as this relied on a bolt on to the TCP heartbeat protocol to ship the
key. This got more akward than originally planned, so I'm happy to drop the
idea. In the long term we hope to replace this with a public key systems
for signing and even encryption.

Finally, general tidy up to remove other bits of code that check for
TCP heartbeat packets when they don't need to any more.

Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Feb 5 16:43:45 2003 UTC (21 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.23: +4 -4 lines
Diff to previous 1.23
Changed the server to use the external util package. Quite a minor change,
but does affect a lot of files.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue May 21 16:47:16 2002 UTC (21 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.22: +3 -2 lines
Diff to previous 1.22
Added URL to GPL headers.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat May 18 18:16:00 2002 UTC (21 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.21: +22 -3 lines
Diff to previous 1.21
i-scream is now licensed under the GPL. I've added the GPL headers to every
source file, and put a full copy of the license in the appropriate places.
I think I've covered everything. This is going to be a mad commit ;)

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Nov 26 12:56:33 2001 UTC (22 years, 5 months ago) by tdb
Branch: MAIN
Branch point for: SERVER_PIRCBOT
Changes since 1.20: +41 -2 lines
Diff to previous 1.20
Completing this feature request:
  [ #479631 ] heartbeat monitor - starting list

Adds hosts defined in this configuration value to the heartbeat monitor on
startup.

Monitor.Heartbeat.initialHosts=raptor.ukc.ac.uk;myrtle.ukc.ac.uk

This means the Heartbeat Monitor will generate heartbeat alerts if these
hosts don't send in a heartbeat within the expected time. This is useful in
situations where the i-scream server comes up after the hosts have gone
down, which usually wouldn't have generated an alert - because the server
would never have seen the hosts to know they're gone.

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue May 29 17:02:34 2001 UTC (22 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.19: +8 -8 lines
Diff to previous 1.19
Major change in the java package naming. This has been held off for some time
now, but it really needed doing. The future packaging of all i-scream products
will be;

uk.org.iscream.<product>.<subpart>.*

In the case of the central monitoring system server this will be;

uk.org.iscream.cms.server.*

The whole server has been changed to follow this structure, and tested to a
smallish extent. Further changes in other parts of the CMS will follow.

Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Mar 26 18:07:11 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
CVS Tags: PROJECT_COMPLETION
Changes since 1.18: +8 -8 lines
Diff to previous 1.18
The "checking" part had moved from the main class to an inner class, thus the
synchronize(this) blocks were pointing at different "this"'s. This how now been
fixed, we hope.

Revision 1.18 - (view) (annotate) - [select for diffs]
Fri Mar 23 02:32:49 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.17: +103 -17 lines
Diff to previous 1.17
Fully javadoc'd all the monitors. Also made a few little changes here and there,
removing code that had been duplicated by copying other monitors, and tidying
up any silly little things (such has hardcoded integer values).

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Mar 23 01:08:00 2001 UTC (23 years, 1 month ago) by ajm
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16
Fixed inheritance bug.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Mar 22 23:04:57 2001 UTC (23 years, 1 month ago) by ajm
Branch: MAIN
Changes since 1.15: +46 -47 lines
Diff to previous 1.15
Re-arranged...better layout.

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Mar 22 22:29:40 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.14: +5 -3 lines
Diff to previous 1.14
For some reason this code wouldn't compile under FreeBSD without this change.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Mar 22 21:36:26 2001 UTC (23 years, 1 month ago) by ajm
Branch: MAIN
Changes since 1.13: +55 -49 lines
Diff to previous 1.13
Now works with the new queue structure.

Revision 1.13 - (view) (annotate) - [select for diffs]
Wed Mar 14 23:25:29 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.12: +9 -9 lines
Diff to previous 1.12
The whole server package structure has been changed.
Old Package: uk.ac.ukc.iscream.*
New Package: uk.org.iscream.*

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Mar 9 03:30:55 2001 UTC (23 years, 1 month ago) by ajm
Branch: MAIN
Changes since 1.11: +5 -5 lines
Diff to previous 1.11
TOTALLY re-wrote the Register class and made appropriate changes thoughout.  It
is now much more obvious what is going on in many places.

The problem was probably caused by doing CPU as a first monitor and hard coding
the number of attributes a Register stores.  Now if a monitor wants to store
multiple attributes, it has to do that itself.  This makes alot of things
much more readable and inteligable as a result.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Mar 7 21:38:14 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10
A slight logic error. Should now properly count the time between heartbeats, and
thus won't bypass thresholds when it shouldn't :)

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Mar 7 20:35:37 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.9: +8 -6 lines
Diff to previous 1.9
The synchronization is causing delays. Looking at the analysePacket method, it
only modifies the HashMap structure when a new host appears - which isn't very
often relatively. Therefore, only that section is synchronized, meaning the new
packets that arrive regularly will not have to wait for the "checking" thread.
I'm hoping the logic behind the synchronization here works.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Mar 7 17:18:48 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.8: +14 -12 lines
Diff to previous 1.8
Added some synchronization. We managed to get a ConcurrentModificationException
in the server :)

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Mar 7 01:22:47 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.7: +11 -4 lines
Diff to previous 1.7
The threshold values now represent the time in seconds "since the heartbeat was
expected". Before this change, you could set a value of less than the heartbeat
period and alerts would be fired when the heartbeat is simply not due.

Revision 1.7 - (view) (annotate) - [select for diffs]
Tue Mar 6 22:35:01 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.6: +40 -112 lines
Diff to previous 1.6
Changed the existing monitor's to use the skeleton class.

Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Mar 6 20:26:01 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.5: +31 -14 lines
Diff to previous 1.5
Now removes a host if it has reached the FINAL level.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Mar 6 02:33:55 2001 UTC (23 years, 2 months ago) by ajm
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4
Now passes the time since the first alert for a problem occoured.

Also has support for formatting and displaying this information as obtained from the config

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Mar 5 23:49:51 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3
Forgot to prepend Host. to the TCPUpdateTime value.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Mar 5 23:14:30 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.2: +25 -12 lines
Diff to previous 1.2
Added error checking, and also changed to an "implements Runnable" Thread. This
is because we may be moving to an abstract class soon.

Revision 1.2 - (view) (annotate) - [select for diffs]
Mon Mar 5 15:47:48 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.1: +26 -13 lines
Diff to previous 1.1
Fixed to work.
Had a bug with using int's instead of long's.
Didn't actually start the thread.
Needed a bit or error catching.

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Mar 5 13:30:34 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
A monitor to watch Heartbeats. This has been built around the architecture of
the CPU Monitor, in the hope that it'll later allow better abstraction. This may
not fully work yet.

Convenience Links

Links to HEAD: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a