Skip to content

Commit e83c493

Browse files
feat: add metric for login requests
co-authored-by: Vegar Sechmann Molvig <[email protected]>
1 parent 99e2c64 commit e83c493

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

pkg/apiserver/api/device.go

+6
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,12 @@ func (s *grpcServer) UserGateways(ctx context.Context, userGroups []string) ([]*
133133
}
134134

135135
func (s *grpcServer) Login(ctx context.Context, r *pb.APIServerLoginRequest) (*pb.APIServerLoginResponse, error) {
136+
version := r.Version
137+
if version == "" {
138+
version = "unknown"
139+
}
140+
apiserver_metrics.LoginRequests.WithLabelValues(version).Inc()
141+
136142
session, err := s.authenticator.Login(ctx, r.Token, r.Serial, r.Platform)
137143
if err != nil {
138144
return nil, status.Errorf(codes.Unauthenticated, "login: %v", err)

pkg/apiserver/metrics/metrics.go

+9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ var (
1212
DevicesConnected prometheus.Gauge
1313
GatewayConfigsReturned *prometheus.CounterVec
1414
PrivilegedUsersPerGateway *prometheus.GaugeVec
15+
LoginRequests *prometheus.CounterVec
1516

1617
gatewayStatus *prometheus.GaugeVec
1718
)
@@ -71,11 +72,19 @@ func init() {
7172
Help: "Total number of configs returned to gateway since apiserver started.",
7273
}, []string{"gateway"})
7374

75+
LoginRequests = prometheus.NewCounterVec(prometheus.CounterOpts{
76+
Namespace: "naisdevice",
77+
Subsystem: "apiserver",
78+
Name: "device_login_requests",
79+
Help: "Device logins with agent version.",
80+
}, []string{"version"})
81+
7482
prometheus.MustRegister(
7583
DevicesConnected,
7684
gatewayStatus,
7785
PrivilegedUsersPerGateway,
7886
DeviceConfigsReturned,
7987
GatewayConfigsReturned,
88+
LoginRequests,
8089
)
8190
}

0 commit comments

Comments
 (0)