Skip to content

cloudfoundry/bosh-system-metrics-server-release

Repository files navigation

Bosh System Metrics Server Release

This provides bosh health events (heartbeats and alerts) over a secure grpc stream. The job in this release is intended to be deployed on the Bosh Director. For more info, see wiki

If you have any questions, or want to get attention for a PR or issue please reach out on the #logging-and-metrics channel in the cloudfoundry slack

Architecture

architecture dig

Plugin

The plugin is compatible with Bosh HM's json plugin. It reads bosh system health events via stdin and streams them to the Server via tcp. It is not managed by monit. However, if this plugin does fail, bosh HM's json plugin will restart it.

Server

The server listens on tcp localhost for events from the Plugin. The server accepts connections from clients such as the Bosh System Metrics Forwarder and sends the events over secure grpc. Clients need to specify an authorization token in the grpc metadata. This must be a valid token issued by the Bosh Director's UAA and include the bosh.system_metrics.read authority.

High Availability

The server distributes the events on a subscription basis. That is, if two clients connect with the same subscription-id, the event stream will be distributed evenly between them. If two clients connect with different subscription-ids, they will each get a copy of the event stream.