cruise-automation / rbacsync

Automatically sync groups into Kubernetes RBAC
Apache License 2.0
240 stars 33 forks source link

add custom metrics for RBACSync #19

Closed mllu closed 4 years ago

mllu commented 4 years ago

According to https://github.com/cruise-automation/rbacsync/issues/8, trying to add some metrics for controller and gsuite/grouper first and see how it goes

sample metrics exposed on /metrics endpoint

# HELP rbacsync_binding_status The number of RoleBindings and ClusterRoleBIndings configured by the controller and their statuses
# TYPE rbacsync_binding_status gauge
rbacsync_binding_status{kind="ClusterRoleBinding",status="BindingConfigured"} 14
rbacsync_binding_status{kind="RoleBinding",status="BindingConfigured"} 28
# HELP rbacsync_config_status The number of RBACSyncConfigs and RBACSyncClusterConfigs and the status of the processed config
# TYPE rbacsync_config_status gauge
rbacsync_config_status{kind="RBACSyncClusterConfig",status="BindingError"} 14
rbacsync_config_status{kind="RBACSyncClusterConfig",status="ConfigEnqueued"} 14
rbacsync_config_status{kind="RBACSyncClusterConfig",status="UnknownGroup"} 14
rbacsync_config_status{kind="RBACSyncConfig",status="ConfigEnqueued"} 14
rbacsync_config_status{kind="RBACSyncConfig",status="UnknownGroup"} 14
# HELP rbacsync_gsuite_client_creation_status Total number of the status of gsuite client creations
# TYPE rbacsync_gsuite_client_creation_status counter
rbacsync_gsuite_client_creation_status 0
# HELP rbacsync_gsuite_members_latency The amount of time the calls to gsuite for group memberships
# TYPE rbacsync_gsuite_members_latency histogram
rbacsync_gsuite_members_latency_bucket{le="0.005"} 0
rbacsync_gsuite_members_latency_bucket{le="0.01"} 0
rbacsync_gsuite_members_latency_bucket{le="0.025"} 0
rbacsync_gsuite_members_latency_bucket{le="0.05"} 0
rbacsync_gsuite_members_latency_bucket{le="0.1"} 0
rbacsync_gsuite_members_latency_bucket{le="0.25"} 0
rbacsync_gsuite_members_latency_bucket{le="0.5"} 0
rbacsync_gsuite_members_latency_bucket{le="1"} 0
rbacsync_gsuite_members_latency_bucket{le="2.5"} 0
rbacsync_gsuite_members_latency_bucket{le="5"} 0
rbacsync_gsuite_members_latency_bucket{le="10"} 0
rbacsync_gsuite_members_latency_bucket{le="+Inf"} 0
rbacsync_gsuite_members_latency_sum 0
rbacsync_gsuite_members_latency_count 0

Signed-off-by: Meng-Lin Lu meng-lin.lu@getcruise.com

mllu commented 4 years ago

@mattlandis could you help me take a look when you're available, thanks!

mllu commented 4 years ago

@dustin-decker Thanks for help review, just addressed those comments. Could you help take another look? Thanks in advance!

stevvooe commented 4 years ago

@mllu thanks for the contribution! Looks pretty good. I have a few nits on naming. Also, let’s have @mattlandis take a peek.

mllu commented 4 years ago

@mattlandis I added prefix LabelKind to all label kind metrics, PTAL, thanks!