Skip to content

title: System Status Monitoring description: Learn how to monitor Werk24's performance and uptime using the status command, API, and client. path: tree/main/docs/getting_started source: system_status_monitoring.md


System Status Monitoring

Proactively monitoring the Werk24 platform ensures that your applications remain reliable and resilient, even in the face of network issues, degraded performance, or scheduled maintenance. The status feature gives you real-time visibility into the current health of the Werk24 service—both from the command line, the Python client, and directly via the public API.


Monitoring with the CLI

The CLI is the fastest way to check system uptime from a terminal or script:

werk24 status

This prints a structured JSON summary, for example:

{
  "page": "Werk24 TechRead Status",
  "status_indicator": "ok",
  "status_description": "All Systems Operational",
  "incidents": [],
  "scheduled_maintenances": [],
  "components": [
    {"id": "8zwk0wh6r7x2", "name": "AskFeatures", "status": "operational", "updated_at": "2025-08-14T18:28:09.776Z"},
    {"id": "5l81nvh6mp3k", "name": "AskMetaData", "status": "operational", "updated_at": "2025-08-14T18:28:20.691Z"},
    {"id": "4z73b9nnrw2c", "name": "Ask[Sheet|View]Images", "status": "operational", "updated_at": "2025-08-14T18:28:22.755Z"}
  ]
}

Automation & Logging

  • Cron jobs: Run werk24 status every few minutes to log uptime locally.
  • Monitoring agents: Pipe the JSON output into Prometheus, Datadog, or CloudWatch.
  • Alerting: Trigger Slack or email notifications if status_indicator is not ok.

Monitoring via the Public API

You don’t need to use the CLI or Python client if you just want raw status data. The same JSON is always available at:

https://api.w24.co/status

This endpoint is public and can be queried by any monitoring tool or script.

Example:

curl https://api.w24.co/status

Monitoring with Python

For programmatic access, use Werk24Client.get_system_status:

import asyncio
from werk24 import Werk24Client

async def log_status(interval: int = 60) -> None:
    async with Werk24Client() as client:
        while True:
            status = await client.get_system_status()
            print(status.status_indicator, status.status_description)
            await asyncio.sleep(interval)

asyncio.run(log_status())

The returned SystemStatus model includes:

  • status_indicator: High-level health (ok, degraded, partial_outage, major_outage).
  • status_description: Human-readable summary.
  • components: Fine-grained states of underlying services.
  • incidents: Details of ongoing issues.
  • scheduled_maintenances: Planned downtime windows.

Interpreting Results

A healthy system reports:

{"status_indicator": "ok"}

Other possible values:

  • degraded → Service is running but slower or partially limited.
  • partial_outage → Some components are down.
  • major_outage → Significant disruption across the platform.
  • maintenance → A planned service window is in progress.

Component & Incident Models


Best Practices

  • Dashboards: Feed status into Grafana or Kibana for live visualization.
  • CI/CD Guardrails: Block deployments if status_indicatorok.
  • Backoff Strategies: Queue or slow down batch jobs when the system is degraded.
  • User Transparency: Surface status messages directly in your product UI.

By combining CLI checks, direct API access, Python queries, and alerting hooks, you can integrate Werk24’s health signals directly into your operations workflow—ensuring that your users experience maximum uptime and clear communication when issues arise.