AI Observability: Jobs
The AI Observability content module includes 18 scheduled jobs. One maintains the GPU asset in Inventory, eight populate Claude Code lookups, three register subscription-limit incidents, and another six are disabled examples of using the api command to query equivalent-report lookups.
| Job | Purpose |
|---|---|
ai_observability_collect_gpu_asset | populates the gen_ai_gpu_asset index from DCGM Exporter metrics for the GPU asset |
ai_observability_lookup_analytics_daily | populates claude_code_analytics_daily - an equivalent of the Analytics API daily member summary |
ai_observability_lookup_analytics_models | populates claude_code_analytics_models_daily - tokens and costs by model |
ai_observability_lookup_analytics_tools | populates claude_code_analytics_tools_daily - accepted and rejected edits by tool |
ai_observability_lookup_sessions | populates claude_code_sessions with sessions from the file-based data source |
ai_observability_lookup_sessions_otel | adds sessions for members using telemetry only to claude_code_sessions |
ai_observability_lookup_activity | populates claude_code_activity_daily - an equivalent of the Compliance API audit feed |
ai_observability_lookup_spend_report | populates claude_code_spend_report - an equivalent of the subscription spend report for completed days |
ai_observability_lookup_identity | builds claude_code_identity - a mapping of OS account and host to member address |
ai_observability_alert_limit_weekly_80 | registers an incident when a member has used at least 80% of the weekly subscription window limit |
ai_observability_alert_limit_exhausted | registers an incident when a member has used the full subscription window limit |
ai_observability_alert_limit_collector_silent | registers an incident when a member's limit snapshots have not arrived for more than a day |
ai_observability_api_activity | sample query to claude_code_activity_daily - an equivalent of the Compliance API Activity Feed |
ai_observability_api_analytics_daily | sample query to claude_code_analytics_daily - an equivalent of the Analytics API usage_report/claude_code |
ai_observability_api_analytics_models | sample query to claude_code_analytics_models_daily - an equivalent of the model_breakdown section |
ai_observability_api_analytics_tools | sample query to claude_code_analytics_tools_daily - an equivalent of the tool_actions section |
ai_observability_api_sessions | sample query to claude_code_sessions - an equivalent of the Compliance API session list |
ai_observability_api_spend_report | sample query to claude_code_spend_report - an equivalent of the subscription spend-report export |
Examples of incidents registered by the limit-monitoring jobs are on the Incident Manager integration page.
Populating Lookups
The equivalent-report lookups follow the structure of Anthropic reports but are populated by module jobs from collected telemetry. On each run, the jobs recalculate data for the last two days, the spend-report job for the last eight completed UTC days, and the claude_code_identity lookup job for the last 30 days. Earlier telemetry is not added to the lookups: analytics accumulate from the first runs after installation.
The jobs do not populate claude_code_members or claude_code_seat_pricing; an administrator maintains these lookups. The lookups are listed in Data Sources.
Jobs Using the api Command
The six ai_observability_api_* jobs are disabled and do not change data. They show how to retrieve rows from an equivalent-report lookup through the SA Data Storage REST API using the api command. Before enabling them:
- Replace the
HOST:PORTplaceholder in the requesturlwith theA Data Storageaddress - Add the
sme.sa.api.header.sm_self_authheader token to the keystore with the valueBasic <base64 of username:password>for aSearch Anywhere Frameworkuser, as described in Creating a token
While the url contains the placeholder, the job request fails with main_url in connection_config is null.