tutorial

Monitoring Floccus with Vigilmon

Floccus syncs bookmarks across Chrome, Firefox, and Edge via WebDAV or Nextcloud — but sync failures and server connectivity issues are invisible to users until bookmarks start drifting. Here's how to monitor your Floccus backend and keep sync reliable with Vigilmon.

Floccus keeps your bookmarks in sync across browsers using your own infrastructure — WebDAV, Nextcloud, or a compatible backend. Unlike cloud bookmark services, there is no central server to blame when sync breaks: if your WebDAV endpoint goes down, your Nextcloud storage fills up, or the conflict resolution service starts returning errors, bookmarks silently diverge across devices with no notification. Vigilmon provides the external uptime monitoring layer that catches these failures before your bookmark collections get out of sync.

What You'll Set Up

  • WebDAV endpoint availability monitor
  • Bookmark sync API response time probe
  • Conflict resolution service health check
  • Browser extension connectivity validation
  • Authentication service monitoring

Prerequisites

  • A WebDAV, Nextcloud, or compatible Floccus backend running and accessible
  • A free Vigilmon account

Step 1: Monitor the WebDAV Endpoint

The WebDAV endpoint is the core sync target Floccus writes bookmark data to. If it goes down, all browser extension sync attempts fail silently:

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your WebDAV URL: https://YOUR_SERVER/remote.php/dav/files/USERNAME/ (for Nextcloud) or https://YOUR_SERVER/dav/ (for a standalone WebDAV server).
  4. Set Method to PROPFIND if your monitoring supports custom HTTP verbs, or GET as a fallback.
  5. Set Expected HTTP status to 207 (Multi-Status, the correct WebDAV response) or 200.
  6. Set Check interval to 2 minutes.
  7. Click Save.

Authentication: WebDAV endpoints require credentials. Under Custom Headers, add Authorization: Basic BASE64_OF_USER:PASS or use your monitoring tool's basic-auth fields. Alternatively, create a dedicated monitoring user in Nextcloud or your WebDAV server with read-only access to the bookmark directory.


Step 2: Monitor the Bookmark Sync API Response Time

Floccus stores bookmarks as an XBEL or JSON file (e.g., bookmarks.xbel) in your WebDAV folder. Probe this file directly to measure sync API response times and detect corrupted or inaccessible bookmark data:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter the bookmark file URL: https://YOUR_SERVER/remote.php/dav/files/USERNAME/Bookmarks/bookmarks.xbel.
  3. Set Expected HTTP status to 200.
  4. Under Response body contains, enter <!DOCTYPE or xbel to confirm a valid XBEL document is returned.
  5. Set Check interval to 5 minutes.
  6. Under Response time threshold, set an alert if response exceeds 3000 ms — slow WebDAV responses cause Floccus sync timeouts in browser extensions.
  7. Click Save.

If you use the JSON backend instead of XBEL, adjust the URL to point to bookmarks.json and update the body check to "children" or "title".


Step 3: Monitor Nextcloud Availability (If Using Nextcloud Backend)

If your Floccus sync backend is Nextcloud, the Nextcloud status endpoint gives you a single signal for the entire backend stack:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter: https://YOUR_NEXTCLOUD_DOMAIN/status.php.
  3. Set Expected HTTP status to 200.
  4. Under Response body contains, enter "installed":true to confirm Nextcloud is fully operational.
  5. Set Check interval to 1 minute.
  6. Click Save.

Also monitor the Nextcloud OCS API, which Floccus uses for authentication token validation:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter: https://YOUR_NEXTCLOUD_DOMAIN/ocs/v2.php/apps/serverinfo/api/v1/info?format=json.
  3. Set Expected HTTP status to 200.
  4. Under Response body contains, enter "status":"ok".
  5. Set Check interval to 5 minutes.
  6. Click Save.

Step 4: Monitor Authentication Service Health

Floccus authenticates to your backend on every sync cycle. An expired app password, a broken LDAP connection, or a locked user account causes all extension clients to fail authentication silently:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter the authentication probe URL. For Nextcloud: https://YOUR_SERVER/remote.php/dav/files/USERNAME/.
  3. Add credentials under Custom Headers: Authorization: Basic BASE64_OF_USER:PASS.
  4. Set Expected HTTP status to 207 or 200. A 401 response means authentication has broken.
  5. Set Check interval to 5 minutes.
  6. Click Save.

This probe catches credential expiration before browser extension users notice their bookmarks have stopped syncing. When the alert fires, check for expired Nextcloud app passwords or LDAP connectivity issues.


Step 5: Monitor the Conflict Resolution Service

Floccus merges bookmark trees from multiple browser clients using a conflict resolution algorithm. If the bookmark file becomes corrupted or concurrent writes produce an unresolvable conflict, the next sync cycle will fail for all clients. Set up a periodic integrity check:

#!/bin/bash
# Download the bookmark file and verify it parses as valid XML/XBEL
BOOKMARK_URL="https://YOUR_SERVER/remote.php/dav/files/USERNAME/Bookmarks/bookmarks.xbel"
RESPONSE=$(curl -s -u "USERNAME:PASSWORD" "$BOOKMARK_URL")

# Check for well-formed XML (requires xmllint)
if echo "$RESPONSE" | xmllint --noout - 2>/dev/null; then
  curl -s https://vigilmon.online/heartbeat/YOUR_INTEGRITY_HEARTBEAT_ID
fi

In Vigilmon:

  1. Click Add MonitorCron Heartbeat.
  2. Set the expected ping interval to 30 minutes.
  3. Copy the heartbeat URL into the script above.
  4. Add to crontab: */30 * * * * /usr/local/bin/check-floccus-bookmarks.sh
  5. Click Save.

If the bookmark file becomes corrupted or returns invalid XML (which would prevent Floccus from parsing and syncing), Vigilmon alerts after 30 minutes without a successful ping.


Step 6: Monitor WebDAV Standalone Server (Apache/Nginx WebDAV)

If you run a standalone WebDAV server without Nextcloud, monitor the WebDAV OPTIONS response to confirm the server is advertising the correct protocol capabilities:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter your WebDAV base URL: https://YOUR_SERVER/dav/.
  3. Set Method to OPTIONS.
  4. Set Expected HTTP status to 200.
  5. Under Response headers contain, check for DAV: 1,2 to confirm WebDAV class 2 support (required for proper locking behavior).
  6. Set Check interval to 2 minutes.
  7. Click Save.

Also check the backing storage for the WebDAV server:

#!/bin/bash
# Verify WebDAV storage directory is writable
TEST_FILE="/path/to/webdav/storage/.vigilmon-probe"
echo "probe" > "$TEST_FILE" 2>/dev/null && rm "$TEST_FILE" 2>/dev/null

if [ $? -eq 0 ]; then
  curl -s https://vigilmon.online/heartbeat/YOUR_STORAGE_HEARTBEAT_ID
fi

Step 7: Configure Alerts and Maintenance Windows

  1. Go to Alert Channels in Vigilmon and add email, Slack, or a webhook endpoint.
  2. For WebDAV and authentication monitors, set Consecutive failures before alert to 1 — sync failures immediately affect all connected browser clients.
  3. For response time monitors, set alerts for > 3000 ms sustained over 2 consecutive checks to avoid false alerts on intermittent latency spikes.
  4. Use Maintenance windows during Nextcloud upgrades:
# Open a 30-minute maintenance window before upgrading Nextcloud
curl -X POST https://vigilmon.online/api/maintenance \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"monitor_id": "YOUR_MONITOR_ID", "duration_minutes": 30}'

# Perform the upgrade
cd /path/to/nextcloud && sudo -u www-data php occ upgrade

Summary

| Monitor | Target | What It Catches | |---|---|---| | WebDAV endpoint | PROPFIND /dav/ | WebDAV server down, storage unreachable | | Bookmark file | GET /bookmarks.xbel | File corruption, slow sync response | | Nextcloud status | /status.php | Backend stack failure | | OCS API | /ocs/v2.php/…/info | Auth infrastructure failure | | Auth probe | Authenticated GET /dav/ | Credential expiration, locked account | | Integrity heartbeat | Heartbeat URL | Bookmark XML corruption | | WebDAV OPTIONS | OPTIONS /dav/ | WebDAV protocol misconfiguration |

Floccus gives you browser-agnostic bookmark sync without handing your data to a cloud provider — but the responsibility for uptime sits entirely with your infrastructure. With Vigilmon watching the WebDAV endpoint, authentication service, and bookmark file integrity, you catch sync failures in minutes rather than days.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →