Skip to content

Feat/kms observability - #156

Open
lordofsnakes wants to merge 2 commits into
mainfrom
feat/kms-observability
Open

lordofsnakes wants to merge 2 commits into
mainfrom
feat/kms-observability

Conversation

@lordofsnakes

Copy link
Copy Markdown
Collaborator

Implementing instrumentation for the monitoring stack. Since KMS is going to be the main focus, most of the metrics lie at the KMS plugin level, extending the existing plugin gRPC metrics.
•
Added instrumentation for operation-specific calls at the OpenBao level in plugins/internal/openbao/client.go and plugins/internal/openbao/metrics.go. Now we can see how long the OpenBao calls are taking, in comparison to a whole KMS plugin request.

• Added a context label to the existing plugin request counter and duration histogram for algorithm-related information.

• There currently are no dedicated tests for the instrumentation (checking if counters actually increase, this is something I will have to work on and would be useful for the future). The existing package tests passed, and I checked the metrics locally in Grafana. Testing in dev is still pending.

• Im not sure what the current gateway plan is, but the gateway was stopping invalid requests that could lead to an unbounded set of labels. For example, calling the plugin via gRPC directly (im not sure if this is something that would be available for customers), with incorrect values like "randomgarbage" for the CreateKey algorithm, could still record that value as a metric label even though the operation is rejected.

The dashboard JSON and chart configuration will be in a separate PR in service-charts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant