Http(s) broadcasting for Good process monitor
Lead Maintainer: Adam Bretz
good-http
is a write stream use to send event to remote endpoints in batches. It makes a "POST" request with a JSON payload to the supplied endpoint
. It will make a final "POST" request to the endpoint to flush the rest of the data on "finish".
Creates a new GoodHttp object where:
endpoint
- full path to remote server to transmit logs.config
- configuration object[threshold]
- number of events to hold before transmission. Defaults to20
. Set to0
to have every event start transmission instantly. It is strongly suggested to have a set threshold to make data transmission more efficient.[errorThreshold]
- number of consecutive failed transmissions allowed (ECONNRESET
,ECONNREFUSED
, etc). Defaults to0
. Failed events will be included in the next transmission until they are successfully logged or the threshold is reached (whichever comes first) at which point they will be cleared. Set tonull
to ignore all errors and always clear events.[wreck]
- configuration object to pass intowreck
. Defaults to{ timeout: 60000, headers: {} }
.content-type
is always "application/json".
Each POST will match the following schema. The payload that is POSTed to the endpoint
has the following schema:
{
"host":"servername.home",
"schema":"good-http",
"timeStamp":1412710565121,
"events":[
{
"event":"request",
"timestamp":1413464014739,
...
},
{
"event":"request",
"timestamp":1414221317758,
...
},
{
"event":"request",
"timestamp":1415088216608,
...
}
{
"event":"log",
"timestamp":1415180913160,
...
},
{
"event":"log",
"timestamp":1422493874390,
...
}
]
}