ownCloud Infinite Scale (OCIS) is not your grandfather's ownCloud. Gone is the PHP monolith — OCIS is a cloud-native rewrite in Go with a fully decomposed microservices architecture: separate services for storage, user management, authentication, the web UI, search, thumbnails, and more. You can run them all as a single binary or as independent processes, making OCIS both flexible and complex to operate.
That flexibility introduces real monitoring complexity. When a file sync client reports an error, is it the gateway service? The storage provider? The IDP? The Graph API? Without systematic monitoring, you are left guessing. Vigilmon gives you an always-on view across every OCIS service endpoint so you know exactly where a failure originates.
What You'll Set Up
- OCIS web/API gateway availability (port 9200)
- IDP/OIDC service health monitoring
- Storage provider API health checks
- Graph API (LibreGraph) user management endpoint monitoring
- Search and thumbnail service health
- Storage backend accessibility (S3, POSIX, EOS)
- Redis cache connectivity (if configured)
- HTTPS/TLS certificate expiry alerts
Prerequisites
- OCIS 5.x+ running on a VPS or bare-metal server (single-binary or decomposed)
- OCIS accessible over HTTPS (standard production setup) or HTTP (lab setup)
- A free Vigilmon account
Step 1: Monitor the OCIS Web/API Gateway (Port 9200)
Port 9200 is the single entry point for both the ownCloud Web SPA and the OCIS REST APIs. If this service is down, clients cannot connect, sync stops, and web UI access is lost.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your OCIS gateway URL:
https://ocis.yourdomain.com/. - Set Check interval to
1 minute. - Set Expected HTTP status to
200(the web UI returns 200 for the SPA shell). - Click Save.
For a more precise signal, monitor the status endpoint instead of the root:
https://ocis.yourdomain.com/ocs/v1.php/cloud/capabilities?format=json
This endpoint exercises the OCS compatibility layer that ownCloud desktop and mobile clients rely on. A 200 response confirms the gateway and OCS routing layer are healthy.
Step 2: Monitor the IDP/OIDC Authentication Service
OCIS ships with a built-in IDP (identity provider) based on LibreConnect/Dex, handling OIDC authentication for all services. If authentication fails, users cannot log in and API calls using OCIS-issued tokens fail.
Add a monitor for the OIDC discovery document:
- Add a new HTTP monitor in Vigilmon.
- URL:
https://ocis.yourdomain.com/.well-known/openid-configuration - Expected HTTP status:
200 - Check interval:
1 minute
The OIDC discovery endpoint returns JSON describing the provider's endpoints. A healthy response means the IDP service is running and responding.
If you have configured an external IDP (Keycloak, Authentik, Zitadel), add a second monitor for that external provider's discovery URL instead:
https://keycloak.yourdomain.com/realms/ocis/.well-known/openid-configuration
Step 3: Monitor the Graph API (LibreGraph User Management)
The Graph API (/graph/v1.0/) is the LibreGraph endpoint OCIS uses for user and group management. Admin operations, sharing, and user provisioning all flow through this API. A degraded Graph API means broken sharing and user management even when file sync appears to work.
-
Add an HTTP monitor in Vigilmon.
-
URL:
https://ocis.yourdomain.com/graph/v1.0/usersNote: This endpoint requires authentication. The check will return
401 Unauthorizedfor unauthenticated requests — which is the correct behavior and indicates the service is running. Set Expected HTTP status to401for this monitor. -
Expected HTTP status:
401 -
Check interval:
2 minutes
A 404 or connection refused response indicates the Graph API service or the routing layer is down.
Step 4: Monitor Storage Provider Health
OCIS storage providers handle the actual read/write operations to your storage backend (local POSIX filesystem, S3-compatible storage, or EOS). In decomposed mode, these run as separate processes. Use the OCIS metrics endpoint to probe storage provider health:
-
Add an HTTP monitor in Vigilmon.
-
URL:
https://ocis.yourdomain.com/metricsOCIS exposes Prometheus metrics at
/metrics. A200response confirms the metrics scrape endpoint is reachable, which is a proxy for the overall process health. -
Expected HTTP status:
200 -
Check interval:
2 minutes
If you run decomposed OCIS with storage providers on separate ports (e.g., localhost:9215 for the storage-users service), add monitors for each internal service port if they are accessible from your monitoring network.
Step 5: Monitor the Search Service
OCIS integrates full-text search via an embedded Bleve index or external search backends. A degraded search service results in users unable to find files by content.
- Add an HTTP monitor in Vigilmon.
- URL:
https://ocis.yourdomain.com/dav/spaces/(a WebDAV path that exercises the sharing/DAV layer which depends on search indexing being healthy) - Expected HTTP status:
401(unauthenticated; confirms WebDAV is serving) - Check interval:
5 minutes
For more targeted search health, if your OCIS deployment exposes internal service metrics, scrape the ocis_search_* Prometheus metrics to alert on indexing lag exceeding a threshold.
Step 6: Monitor the Thumbnail Service
OCIS generates file preview thumbnails on demand. A down thumbnail service does not break file access, but it degrades the web UI experience significantly and may cause JavaScript errors that cascade.
- Add an HTTP monitor in Vigilmon.
- URL:
https://ocis.yourdomain.com/remote.php/dav/(the WebDAV compatibility endpoint; thumbnail requests flow through this path) - Expected HTTP status:
401 - Check interval:
5 minutes
Step 7: Monitor the WebDAV / Sharing Layer
The WebDAV endpoint is the primary sync protocol for ownCloud desktop clients. If /remote.php/dav/ stops responding, all desktop sync clients stall.
- Add an HTTP monitor in Vigilmon.
- URL:
https://ocis.yourdomain.com/remote.php/dav/ - Expected HTTP status:
401 - Check interval:
1 minute
Also monitor the OCS sharing API:
https://ocis.yourdomain.com/ocs/v2.php/apps/files_sharing/api/v1/shares
Expected HTTP status: 401
Step 8: Monitor Storage Backend Accessibility
If your OCIS uses an S3-compatible backend (MinIO, Ceph RGW, AWS S3), add a monitor for the S3 endpoint's health check:
- Add an HTTP monitor in Vigilmon.
- URL:
https://minio.yourdomain.com/minio/health/live(MinIO health endpoint) - Expected HTTP status:
200 - Check interval:
1 minute
For local POSIX filesystem storage, create a Vigilmon cron/heartbeat monitor: configure a cron job on the OCIS host that writes and reads a test file from the OCIS data directory, then sends a heartbeat ping to Vigilmon on success.
# /etc/cron.d/ocis-storage-health
*/5 * * * * ocis test -f /mnt/ocis-data/.write-test && \
echo "ok" > /mnt/ocis-data/.write-test && \
curl -fsS https://vigilmon.online/api/heartbeat/YOUR_HEARTBEAT_TOKEN > /dev/null
If the heartbeat stops arriving, Vigilmon alerts you that the storage backend is unhealthy.
Step 9: Monitor Redis Connectivity (If Configured)
OCIS can use Redis for distributed caching (storage metadata, auth session caches). Add a TCP monitor if your OCIS is configured to use Redis:
- Add a TCP monitor in Vigilmon.
- Host:
redis.yourdomain.com - Port:
6379 - Check interval:
1 minute
Step 10: Configure TLS Certificate Expiry Alerts
All OCIS endpoints are exposed via HTTPS. Certificate expiry takes down every service simultaneously.
- Add an SSL Certificate monitor in Vigilmon.
- Domain:
ocis.yourdomain.com - Set an alert threshold of 14 days before expiry.
- Click Save.
If you use a wildcard certificate covering multiple subdomains, monitor the certificate for the primary domain — it covers them all.
Step 11: Configure Alerting
OCIS is a production file sync platform — downtime means lost productivity. Set up escalating alerts:
- In Vigilmon, navigate to Alert Settings.
- Add email alerts for all OCIS monitors: immediate notification on first failure.
- For the gateway monitor (port 9200) and WebDAV monitor, consider a webhook to your team chat (Slack, Mattermost, Rocket.Chat) for real-time notification.
- Set Re-alert interval to
15 minutesfor persistent outages.
For a self-hosted OCIS instance serving a team, integrate alerts with your on-call rotation so storage outages receive the same urgency as application outages.
Summary: Full OCIS Monitoring Coverage
| Monitor | URL / Target | Expected Status | Interval |
|---|---|---|---|
| Web/API Gateway | https://ocis.domain/ | 200 | 1 min |
| OCS Capabilities | https://ocis.domain/ocs/v1.php/cloud/capabilities | 200 | 1 min |
| OIDC Discovery | https://ocis.domain/.well-known/openid-configuration | 200 | 1 min |
| Graph API | https://ocis.domain/graph/v1.0/users | 401 | 2 min |
| OCIS Metrics | https://ocis.domain/metrics | 200 | 2 min |
| WebDAV | https://ocis.domain/remote.php/dav/ | 401 | 1 min |
| S3 Backend | https://minio.domain/minio/health/live | 200 | 1 min |
| Redis | TCP redis.domain:6379 | — | 1 min |
| TLS Certificate | ocis.domain | 14-day alert | daily |
Conclusion
ownCloud OCIS's microservices architecture gives you flexibility and scale, but it also multiplies the number of things that can fail independently. A single Vigilmon dashboard covering the gateway, authentication, Graph API, WebDAV, storage backend, and Redis gives you the full picture the moment anything goes wrong. Set it up once, and you'll never be blindsided by an OCIS outage again.