giip

Service Monitor Guide

Watch the real-time status, health, and execution history of the services and cron scripts running across the GIIP ecosystem from a single admin screen. Skim the overall picture with the summary dashboard, then drill into individual services with the List, Flow, and Trigger views.

🖥️ Go to the Service Monitor page →

📋 Overview

The Service Monitor page is the admin console for observing the real-time state of the cron scripts, agent workers, and Azure Functions running across the GIIP ecosystem. It lists each service's last reported status (running / idle / error / no report), execution time, and telemetry (success, fail, skipped, etc.) in a table, and the summary cards at the top give a one-glance view of overall health. The data comes from status reports that agents push into the time-series store (tKVS); this screen is where an operator decides "what is running and what has stopped."

⚠️ This screen is admin-only. Access requires admin level uLevel >= 70. Users below that level are redirected to home.

🔍 Screen Layout

1. Top Header

  • Page title/description: "Service Monitor" (localized) plus a summary line.
  • View toggle: switches among the List / Flow / Trigger views.
  • Refresh button: immediately reloads service status (icon spins while loading). The List view auto-refreshes every 30 seconds; the Flow and Trigger views every 60 seconds.

2. Summary Dashboard

Four cards at the top show aggregate counts for all services.

CardMeaning
TotalTotal number of monitored services/scripts
RunningCount of services currently in RUNNING state
HealthyCount of services reporting IDLE (normal standby)
ErrorCount of services reporting ERROR (failed/unhealthy)

3. List View (Service Table)

Each row is one service/script; click a row to expand it and see details (sub-tasks and metrics).

ColumnDescription
Script NameScript/service name
MigrationAzure Function migration status (completed / pending / none)
HostnameHost that reported the status
StatusStatus badge (RUNNING / IDLE / ERROR / UNKNOWN)
Last ExecutionLast run time
TelemetryRun metrics such as success, fail, skipped, killed
DetailsExpand to view sub-tasks and the raw report

4. Flow View

Visualizes the dependencies and data flow between services (ServiceMonitorFlow) — see which service feeds into which as a flow diagram.

5. Trigger View

Shows recent execution status per registered trigger (schedule) and whether each is overdue. Use it to isolate triggers that have no report past their expected interval.

🛠️ How to Check Service Health

  1. On entry, check the Error count in the summary cards first.
  2. In the List view, find rows whose status badge is ERROR or UNKNOWN (no report).
  3. Click the row to expand and review Last Execution / Telemetry / sub-tasks — a stale last-run time or high failure metrics flags a stopped-service candidate.
  4. Use Refresh to reload the latest report and confirm whether it was just a transient delay.
  5. Switch to the Trigger view to cross-check any triggers that are past their expected interval (overdue).

💡 Notes

  • Status values: RUNNING = executing, IDLE = normal standby (counted under "Healthy"), ERROR = failed, UNKNOWN = no recent report (the agent has not pushed status to tKVS).
  • Many UNKNOWNs usually means the agent/script is not reporting telemetry rather than that the service is dead — check whether the agent itself is running first.
  • Auto refresh: the List view refreshes every 30s and Flow/Trigger every 60s, so values may change periodically.
  • Access is prop mode with minLevel={70} hardcoded on the page, so uLevel >= 70 is always required (independent of menu config).

API Reference

This page talks to the backend through three dispatch commands (via fetchAzureCommand). Since there is no separate API guide, the essentials are documented here.

CommandPurposeBackend SP
ApiServiceMonitorGetStatusFetch service/script status list (summary & list views)pApiApiServiceMonitorGetStatusbyAK
ApiServiceMonitorGetFlowFetch nodes/edges for the Flow view(flow SP)
ApiServiceMonitorGetTriggerStatusFetch per-trigger execution status for the Trigger viewpApiApiServiceMonitorGetTriggerStatusbyAK
  • The response is an array of result sets (e.g. [data, status]); the client reads the first (data) array.
  • A status field RstVal = 200 means success; RstVal = 401 means the session expired or is unauthenticated (re-login required).

Troubleshooting

SymptomCauseResolution
Bounced to home on loaduLevel below 70Log in with an admin account (level 70+).
"Session expired" / 401 errorAuth token expired or missingLog in again, then press Refresh.
Most rows show UNKNOWNAgents/scripts are not reporting status to tKVSVerify the agent is running and check the telemetry report path.
Trigger view all "overdue" (red)A trigger with an empty kfactor can never join tKVS reports — a possible structural false positiveCheck each trigger's recent report presence and act only on truly stalled triggers.
Values keep changing30s/60s auto-refresh is runningThis is expected. Capture the values if you need a fixed snapshot.
Top guide button (📖) not visibleGuide mapping not deployed (older build)It appears once this guide is deployed and indexed.

Version: 1.0 Last Updated: 2026-08-04 Source File: giipv3/public/help/service-monitor.en.md