Add monasca-sidecar for multiprocess monitoring

Registered by Tim Buckley

A small "sidecar" server could run alongside Monasca components to manage and aggregate subprocesses metrics that would otherwise require something like the prometheus python client's less-than-ideal multiprocess support.

This server would ingest all application metrics from each subprocess of, e.g. the persister or API. These metrics would have additional hidden dimensions specifying a unique identifier (say PID or UUID) and an aggregation method like sum, mean, max, min, etc. The sidecar server would then aggregate metrics along the UUID and expose them in a way the rest of the Monasca pipeline can ingest, e.g. as prometheus metrics using the agent's new prometheus plugin.

In a kubernetes environment, this sidecar might appear as an additional container inside a monasca-api pod. Ideally, it should have as small of a footprint as possible.

A working proof-of-concept exists at: https://github.com/timothyb89/monasca-sidecar

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Tim Buckley
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.