What GED is
What about storing local templated events and beeing able to centralize them on a distant site ? And what if when acknowledged on the distant site, the local data retention were updated too ? This is what GED stands for : events peer notification and n-level acknowlegdement propagation using HTTP encapsulation.

GED is a wire designed to handle templated data transmission over distributed networks.

From this point of view, GED can be associated to a monitoring software to externalize, dispatch and consolidate results. A dedicated GED's branch is under reflexion to provide native GED functionnalities under the Nagios Event Broker (NEB) modular layer. This dedicated module will be called Nagios Event Dispatcher (NED) and work just as the current Nagios Data Output (NDO) tools do, adding the distributed handling. For now, GED might be used as a Nagios data handler.
Implemented Features
- Customisable HTTP encapsulation
GET|POST / HTTP/ 1.0|1.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/2007...
Host: ged.localdomain
Connection: close | keep-alive
Content-MD5: xxx
Content-Type: image/jpeg | multipart/x-gzip
Content-Length: packets total length | compression size + compression itself
data packets themself
- HTTP Proxy passthru
- Simple HTTP proxy passthru
- HTTPS tunneling
- Synchronous and asynchronous data exchange
- Instant data forwarding / backwarding
- Ellapsed time and awaiting sync queue bytes length threshold handling
- Data LZO compression exchange
- Deducted from HTTP content type specification (any content-type matching a *zip* chain)
- Multiple replication targets, relays and sources
- SSL availability
- Diffie Hellman variable key lengths
- Certificate Authorities
- Certificate Keys
- PEM format support (only)
- Templated data definition
- Data packet structure customization
- Data keys specification
- Event occurrences count
- XML or plain data retrieval
- Modular data retention
- Memory backend (testing purpose)
- MySQL backend
- Berkeley backend
- PostgreSQL backend under construction
- Data TTL availability
- Active events queue TTL
- Synchronization events queue TTL
- History events queue TTL

What GED is not
- HTTP server or client : HTTP is used only to encapsulate data transmission
- User friendly GUI : command line access only, tier web oriented application should be soon available
- Reporting engine
- Electronic Content Management !

In order to build and run GED, you will need the followings :