Skip to content
Talk to our solutions team

Observability

Logs are the only signal this service emits today. Metrics are defined in code but never recorded, and no traces are exported. Plan your monitoring around logs, the two probes, and the audit records the block writes to its own tables.

KeyDefaultEffect
log.levelerrorSets both the service logger and the root logger, so the bridged standard-library logger matches
datacenterdefaultDeployment identity tag — appears as a log field and scopes service discovery
clusterdefaultThe same, on the cluster axis

Because the default is error, a service that boots and serves normally logs almost nothing. That is expected, not a sign that logging is broken.

With realtimedebug enabled in cluster configuration, a single request can raise its own log level without changing the service:

POST /auth/login?_debug_log_=true
X-Debug-Log: true

Either the query parameter or the header turns on debug logging for that request alone — the switch is generic, so it works on any route. With realtimedebug off — the default — both are ignored.

This is the practical way to investigate one failing tenant or one failing login on a service whose level is error.

RouteHealthyUnhealthy
GET /health200 with {"healthy": true, "dependencies": {…}, "memstats": {…}, "version": ""}500
GET /ready200, body ready:true500, body ready:false

Both are registered before any other route and are exempt from tenancy — they need none of the four CPET headers and no token.

There are none to scrape.

The service defines seven instruments — kis.iam.login.count, kis.iam.login.duration, kis.iam.jwt.generated.count, kis.iam.token.refresh.count, kis.iam.token.validation.count, kis.iam.logout.count and kis.iam.login_abuse.count — in a package that has no importers. Nothing increments them and nothing exports them.

telemetry.enabled appears in the shipped full-fleet profile and is inert on this service: nothing on this boot path initialises telemetry, so there is no export of metrics, logs or traces regardless of the value. The same is true of enablecache, which appears in four shipped profiles and is read by nothing.

If you need login volume or failure rates today, derive them from request logs or from the block’s own audit records.

Authentication and authorization events are recorded by the block itself rather than emitted as telemetry. See Identity entities for the tables that hold them and what each row carries, and Impersonation for what an operator-initiated session records.

To do thisGo to
Set log level, ports and boot keysConfiguration
Diagnose a specific failureTroubleshooting
Understand lazy per-tenant constructionTenancy