Enterprise Control Configuration and Logging
Find a file
2020-07-06 11:37:47 +01:00
AlarmTool.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
AlertConfig.plist Diagnostics for alarms 2015-11-18 11:25:49 +00:00
ChangeLog Fix bug loading Alerter config ... should use the value from Control.plist if 2020-04-06 12:36:06 +01:00
Command.m Pass debug settings to child 2019-06-07 09:20:15 +01:00
config.guess Enterprise Control/Configuration/Logging package ... preliminary check in. 2012-02-19 11:59:22 +00:00
config.h.in Improve key entry code 2018-03-02 11:04:25 +00:00
config.make.in Make the configure script test for the availability of readpassphrase() in the 2015-10-28 20:08:04 +00:00
config.sub Enterprise Control/Configuration/Logging package ... preliminary check in. 2012-02-19 11:59:22 +00:00
configure Improve key entry code 2018-03-02 11:04:25 +00:00
configure.ac Improve key entry code 2018-03-02 11:04:25 +00:00
Console.m Rewrite launching to make the LaunchInfo instances control most of the work and to use individual timers for each instance with the aim of simplifying launch and shutdown logic and alarms 2020-06-24 13:26:31 +01:00
Control.m Pass debug settings to child 2019-06-07 09:20:15 +01:00
Control.plist Minor bugfixes and documentation improvements. 2020-07-03 15:02:15 +01:00
COPYING Fix a couple of types and, more importantly, documentation files accidentally 2012-10-12 16:59:04 +00:00
COPYING.LESSER Add copyright 2012-02-19 12:53:41 +00:00
EcAlarm.h fix spelling 2017-03-08 16:52:47 +00:00
EcAlarm.m fix incorrect error message 2017-10-27 12:23:40 +01:00
EcAlarmDestination.h -setDebug: selector types tweak 2017-03-06 09:27:58 +00:00
EcAlarmDestination.m fix typo in comment 2017-03-06 09:33:07 +00:00
EcAlarmSinkSNMP.h Add gnustep PEN 2012-03-16 11:00:41 +00:00
EcAlarmSinkSNMP.m deprecate old error/alert methods 2020-01-27 15:27:57 +00:00
EcAlerter.h Add files missed from last commit 2019-05-24 11:16:44 +01:00
EcAlerter.m Add files missed from last commit 2019-05-24 11:16:44 +01:00
EcBroadcastProxy.h more doc tweaks 2012-10-12 15:18:33 +00:00
EcBroadcastProxy.m fix typos 2013-02-09 11:40:00 +00:00
ECCL-SNMP.odt fix minor typos 2014-10-24 12:56:43 +00:00
ECCL.h Enhancement for automated testing 2018-03-08 10:04:25 +00:00
EcClientI.h Rewrite launching to make the LaunchInfo instances control most of the work and to use individual timers for each instance with the aim of simplifying launch and shutdown logic and alarms 2020-06-24 13:26:31 +01:00
EcClientI.m Rewrite launching to make the LaunchInfo instances control most of the work and to use individual timers for each instance with the aim of simplifying launch and shutdown logic and alarms 2020-06-24 13:26:31 +01:00
EcCommand.m Tweaks for restarting processes 2020-07-06 11:37:47 +01:00
EcConsole.m In EcConsole, pass distantFuture to -runMode:beforeDate: to prevent 2016-07-20 14:05:11 +00:00
EcControl.m Rewrite launching to make the LaunchInfo instances control most of the work and to use individual timers for each instance with the aim of simplifying launch and shutdown logic and alarms 2020-06-24 13:26:31 +01:00
EcHost.h Backward compatibility user default name fixes 2012-10-05 11:31:23 +00:00
EcHost.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcLogger.h deprecate old error/alert methods 2020-01-27 15:27:57 +00:00
EcLogger.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcMemoryLogger.h improve memory usage reporting etc 2019-08-10 10:19:16 +01:00
EcProcess.h Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcProcess.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcTest.h Allow for connection already being invalid 2015-10-15 10:37:31 +00:00
EcTest.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcUserDefaults.h Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
EcUserDefaults.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
GNUmakefile Implement an interface to export memory usage statistics by loading 2015-07-15 08:41:14 +00:00
GNUmakefile.postamble improve cleanup for dist-clean 2019-03-14 14:39:03 +00:00
GNUmakefile.preamble More reliably system shutdown 2015-01-26 12:50:42 +00:00
GNUSTEP-MIB.txt add copyright 2013-04-29 10:25:29 +00:00
install-sh Enterprise Control/Configuration/Logging package ... preliminary check in. 2012-02-19 11:59:22 +00:00
local.make Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
LogTool.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00
NSFileHandle+Printf.h minor 64bit issues 2013-07-13 07:58:07 +00:00
NSFileHandle+Printf.m Add copyright 2012-02-19 12:53:41 +00:00
Operators.plist add option to allow any user to log in 2014-03-26 09:38:34 +00:00
README Minor bugfixes and documentation improvements. 2020-07-03 15:02:15 +01:00
README.COPYING Fix a couple of types and, more importantly, documentation files accidentally 2012-10-12 16:59:04 +00:00
README.SNMP fix typo and add a couple of notes 2015-08-07 18:17:59 +00:00
Terminate.m Many fixups/alterations to launch/shutdown of processes. Removed the 'strict' option to enforce a prefix on defaults keys, since it was really never used and just complicated things. 2020-07-03 11:50:25 +01:00

Getting started
===============

1. Make sure you have GNUstep installed

2. Type 'make' ... to build the code and the documentation

3. Read the documentation (point your web browser at the ECCL subdirectory)

4. (optional) Customise (see local.make) and do 'make clean'.

5. Install it (type 'make install') and try it out.

Key points ...

1. You may want to use 'defaults write NSGlobalDomain EcvEffectiveUser xxx'
where 'xxx' is your username, to tell the system it should be running as you.

2. Debug files are written in ~xxx/DebugLogs ...
look there to diagnose problems.

3. Configuration is in ~xxx/Data.  Specifically, you need to configure
~xxx/Data/Command/Control.plist, ~xxx/Data/Command/Operators.plist, and
~xxx/Data/Command/AlertConfig.plist before the Control server will start.
There are examples in the same directory as this README

The Command server handles launching and shutting down of processes and
monitoring their state.  When a process starts up it registers itself with
the Command server, and when it shuts down it unregisters itself.
A process is considered stable if it starts up, registers itself, and then
responds to the 'pings' that the Command server sends to it at intervals.
A process has to be working for long enough to respond to at least three of
the periodic pings before it is considered stable.

In connection with this process management, the server will raise and clear
some alarms.
These alarms are all created with the 'processingError' event type
and the 'softwareProgramError' probable cause.
The individual specific problems are:

Launch failed
  Raised when a process should have launched but has failed to do so within
  the permitted time (currently hard coded to 30 seconds).
  This can be immediately on attempting to launch (eg if the configuration
  is wrong, so there is no executable to launch), very shortly after launch
  (eg if the program crashes immediately), or at the end of the permitted
  time (eg the program fails to connect to and register itself with the
  Command server).
  This alarm shoudl be cleared automatically once the process launches or if
  the process is told to quit from the Console.

Process hung
  Raised when a process which was working ceases to respond to the Command
  server.  This may be due to the process hanging up due to an internal
  problem, or may be due to some very slow operation (a temporary hangup)
  such as a long slow database query.  If the process recovers (and becomes
  stable), this alarm should automatically be cleared.
  If the process is manually quit it should also be cleared.

Process lost
  Raised when a process which was working ceases to exist (eg crashes) without
  cleanly shutting down (ie without telling the Command server it is shutting
  down before it does so).
  If the process is started again (and becomes stable), the alarm should
  automatically be cleared.