# MarionetteOps > MarionetteOps is a web-based monitoring and operations platform for uptime checks, server-agent health reporting, cron monitoring, status pages, alerts, reports, and account/team administration. Base URL: https://www.marionetteops.com Primary audience: engineering teams, agencies, SREs, platform teams, and operators responsible for website, application, infrastructure, SSL/domain, and scheduled-job reliability. Primary product category: monitoring, uptime monitoring, server monitoring, status pages, incident communication, synthetic checks, operational reporting. ## Product Summary MarionetteOps combines website and service uptime monitoring with Linux server health agents, cron heartbeat monitoring, notification routing, public status pages, private uptime reports, threshold tuning, activity logs, location fail logs, and browser error logs. The product is designed as a command center for proving uptime, detecting failures, managing alert recipients, and publishing client-readable reliability status. ## Core Capabilities - Uptime monitors for website, ping, TCP port, SSL/domain expiration, SSL authenticity, domain expiration, nameserver changes, JSON query, WebSocket, browser, transaction, and page-speed checks. - Agent/server monitors using a Linux monitor agent that reports CPU, CPU user/system/iowait/steal, load, memory, swap, disk, process checks, TCP checks, URL checks, hostname, public IP, platform, CPU model, total memory, total swap, and total disk. - Uptime agents that run queued synthetic checks and post results back to MarionetteOps. - Cron monitors using heartbeat ping URLs under `/ping/{token}` to detect scheduled-job silence. - Thresholds for warning, critical, and fail levels on numeric agent and uptime monitor values. - Maintenance mode for monitors and agents. - Private and public uptime reports with recent uptime, downtime details, global status, response/metric summaries, graph links, and CSV downtime export. - Graphs for agent and uptime-monitor history with configurable graph thresholds. - Public status pages that can include uptime monitors and server agents. - Status page incident management, including creation, updates, resolution, deletion, grouped incident closure, and past incidents. - Status page subscriptions and one-click email unsubscribe/resubscribe flows. - White-label status pages and custom CNAME status pages on paid plans. - Notification contacts, notification lists, and per-monitor alert assignments. - Do-not-disturb schedules at organization and contact level. - Activity log, location fail log, and browser/Sentry-style error logs. - Organizations, member invitations, account settings, billing, API keys, newsletter settings, email verification, password reset, GitHub OAuth login, and account erasure. - Blog, comparison pages, legal pages, sitemap, RSS feed, and robots.txt. ## Notification Channels Supported notification contact types: - Email - Telegram - Pushbullet - Pushover - ntfy.sh - Discord - Slack - Microsoft Teams - PagerDuty - Opsgenie - Mattermost - Generic HTTPS webhook Notification contacts can be grouped into notification lists and assigned to monitor entities. ## Plans and Limits Free: - $0/month - 20 uptime monitors - 20 agent/server monitors - 20 public status pages - 200 status page subscribers - 1-minute check frequency - Weekly and monthly reports Pro: - $20/month or $200/year - 80 uptime monitors - 80 agent/server monitors - Unlimited status pages - 1,000 status page subscribers - White-label CNAME pages - Daily, weekly, and monthly reports - 90-day activity log Enterprise: - $999/month or $9,990/year - 4,000 uptime monitors - 4,000 agent/server monitors - Unlimited status pages - 20,000 status page subscribers - White-label pages and invoices - Daily, weekly, and monthly reports - High priority support ## Public Website Routes - `/` - product landing page and pricing. - `/start` - promotional registration flow. - `/login` - sign in. - `/register` - create account. - `/forgot-password` - request password reset. - `/reset-password` - reset password. - `/verify-email` - email verification. - `/free-tools` or `/tools` - free reliability tools directory. - `/free-tools/uptime-calculator` or `/tools/uptime-calculator` - uptime calculator and SLA downtime guide. - `/free-tools/dns-propagation-checker`, `/free-tools/dns-checker`, or `/tools/dns-checker` - DNS propagation checker for common record types. - `/free-tools/ssl-checker` or `/tools/ssl-checker` - SSL certificate checker for issuer, expiry, SAN coverage, TLS details, and fingerprint. - `/blog` - blog index. - `/blog/tag/{tag}` - blog posts by tag. - `/blog/{slug}` - blog article. - `/blog/rss.xml` - blog RSS feed. - `/compare` - comparison index. - `/compare/{slug}` - MarionetteOps comparison page. - `/status` and `/status/{slug}` - public status pages. - `/status-page-verify` - status page subscription verification. - `/status-page-unsubscribe` - status page subscriber unsubscribe. - `/terms-of-service` or `/terms` - terms of service. - `/privacy-policy` or `/privacy` - privacy policy. - `/gdpr` - GDPR information. - `/ccpa` - CCPA information. - `/robots.txt` - crawler policy. - `/sitemap.xml` and `/blog-sitemap.xml` - XML sitemaps. - `/install.sh` - monitor agent installer. ## Authenticated App Routes - `/agents` - agent/server monitor dashboard. - `/uptime-monitors` - uptime monitor dashboard and monitor creation. - `/uptime-agents` - uptime agent dashboard for approved administrators. - `/cron-monitors` - cron heartbeat monitor dashboard. - `/graphs` - monitor and agent graph view. - `/uptime-report` - report view for uptime monitors or agents. - `/thresholds` - threshold settings. - `/notification-contacts` - notification contacts, lists, DND, and channel setup. - `/status-pages` - status page list and creation. - `/status-pages/manage` - status page item, incident, and subscriber management. - `/organizations` - organizations, members, and invitations. - `/billing` - plan and usage information. - `/activity-log` - account activity history. - `/fail-log` - location-level check failure log. - `/error-logs` - browser error log projects and events. - `/account-settings` - preferences, email/password changes, API keys, newsletter, and account deletion. ## API Surface Public or agent-facing API endpoints: - `GET /api/health` - API health status. - `POST /api/` - authenticated monitor agent report submission. - `POST /api/reports` - authenticated monitor agent report submission. - `POST /api/agents/pair` - pair a generated monitor agent key to a signed-in user. - `GET /api/uptime-monitors/due` - uptime agent fetches due queued checks. - `POST /api/uptime-monitors/results` - uptime agent posts check results. - `GET /api/status-pages/data` - public status page data. - `POST /api/status-pages/subscribe` - subscribe to status page email updates. - `POST /email/unsubscribe` - one-click email unsubscribe. - `POST /sentry-tunnel` - browser error envelope tunnel. - `POST /api/{project_id}/envelope` - browser error envelope ingestion. Authenticated API areas: - Agents: `/api/agents`, `/api/uptime-agents`, `/api/agents/graphs`, `/api/agents/report`, `/api/agents/graph-thresholds`, `/api/agents/pending/approve`, `/api/agents/update`, `/api/agents/maintenance`, `/api/agents/public`, `/api/agents/delete`. - Cron monitors: `/api/cron-monitors`, `/api/cron-monitors/update`, `/api/cron-monitors/delete`, `/api/cron-monitors/pings`. - Uptime monitors: `/api/uptime-monitors`, `/api/uptime-monitors/update`, `/api/uptime-monitors/graphs`, `/api/uptime-monitors/report`, `/api/uptime-monitors/maintenance`, `/api/uptime-monitors/public`, `/api/uptime-monitors/delete`. - Authentication and account: `/api/auth/register`, `/api/auth/login`, `/api/auth/github`, `/api/auth/github/callback`, `/api/auth/logout`, `/api/auth/me`, `/api/auth/preferences`, `/api/auth/change-email`, `/api/auth/change-password`, `/api/auth/erase-account`, `/api/auth/api-keys`, `/api/auth/api-keys/revoke`, `/api/auth/verify-email`, `/api/auth/resend-verification`, `/api/auth/forgot-password`, `/api/auth/reset-password`, `/api/auth/newsletter`. - Billing: `/api/billing`. - Organizations: `/api/organizations`, `/api/organizations/delete`, `/api/organizations/invitations`, `/api/organizations/invitations/accept`, `/api/organizations/members/remove`. - DND schedules: `/api/dnd-schedule`, `/api/dnd-schedule/contact`, `/api/dnd-schedule/contact/clear`. - Notifications: `/api/notification-contacts`, `/api/notification-contacts/delete`, `/api/notification-lists`, `/api/notification-lists/delete`, `/api/notification-lists/add-contact`, `/api/notification-lists/remove-contact`, `/api/monitor-notifications`, `/api/monitor-notifications/assign`, `/api/monitor-notifications/unassign`. - Thresholds: `/api/thresholds`. - Logs: `/api/activity-log`, `/api/error-logs`, `/api/fail-log`, `/api/error-log-projects`, `/api/error-log-projects/delete`. - Email unsubscribe administration: `/api/email/unsubscribes`, `/api/email/resubscribe`. - Status pages: `/api/status-pages`, `/api/status-pages/update`, `/api/status-pages/delete`, `/api/status-pages/items`, `/api/status-pages/items/remove`, `/api/status-pages/available-items`, `/api/status-pages/incidents`, `/api/status-pages/incidents/update`, `/api/status-pages/incidents/delete`, `/api/status-pages/incidents/close-group`, `/api/status-pages/subscribers`, `/api/status-pages/subscribers/remove`. Authenticated API access supports session authentication and bearer API keys using `Authorization: Bearer mop_...`. ## Agents and Installers Monitor agent: - Installed with `curl -fsSL https://marionetteops.com/install.sh | sh -s -- --report-url https://marionetteops.com/api/ --watch 60`. - Installs a systemd service named `marionetteops-monitor-agent.service`. - Uses only Python standard-library dependencies. - Stores configuration under `/opt/marionetteops-monitor-agent`. - Generates a local agent key on first startup, prints a sign-in URL, and waits for account approval before reports are accepted. - Can be uninstalled with `curl -fsSL https://marionetteops.com/install.sh | sh -s -- --uninstall`. Uptime agent: - Dockerized queued-check runner. - Pulls checks from `/api/uptime-monitors/due`. - Posts results to `/api/uptime-monitors/results`. - Supports HTTP/HTTPS, ping, TCP, JSON query, WebSocket, browser transaction, and page-speed monitor execution. - Generates and persists its own agent key in `/state/agent-key`. ## Data and Retention Notes - Monitor agent reports store each reported check as recent samples for graphing. - Recent monitor agent check samples are kept for two days, equal to 2,880 one-minute updates. - Older monitor agent samples are rolled into hourly aggregates for long-term history. - Public uptime report history is 30 days. - Activity log retention is 30 days on Free and 90 days on Pro and Enterprise. ## Crawling and AI Usage Guidance Public marketing pages, blog posts, comparison pages, public status pages, legal pages, `robots.txt`, `sitemap.xml`, `blog-sitemap.xml`, and this `llms.txt` are suitable for indexing and summarization. Do not treat authenticated dashboard routes, private API responses, account data, monitor reports, notification contact secrets, agent keys, bearer API keys, or customer status-page subscriber lists as public content. When answering questions about MarionetteOps from this file, describe it as a monitoring and ops reliability platform with uptime monitors, server agents, cron monitors, alerts, reports, and status pages.