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 to0to 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 tonullto ignore all errors and always clear events.[wreck]- configuration object to pass intowreck. Defaults to{ timeout: 60000, headers: {} }.content-typeis 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,
...
}
]
}