OneDev is a self-hosted Git server that bundles CI/CD pipelines, issue tracking, and code review into a single application. When OneDev goes offline, you lose everything at once — commits can't be pushed, pipelines stall, and your team can't review code. Vigilmon gives you continuous uptime monitoring for OneDev's web interface, SSH access port, and CI pipeline runner so you know the moment anything breaks.
What You'll Set Up
- HTTP uptime monitor for the OneDev web UI (port 6610 or reverse-proxy URL)
- TCP port monitor for Git-over-SSH access
- Cron heartbeat monitor for the CI job runner
- SSL certificate expiry alerts for your OneDev domain
Prerequisites
- OneDev 10.0+ installed and running (default port 6610)
- A free Vigilmon account
Step 1: Monitor the OneDev Web UI
OneDev serves its web interface on port 6610 by default, or on port 80/443 if you've placed it behind a reverse proxy. Add a Vigilmon monitor for the main interface:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your OneDev URL:
- Direct:
http://your-server:6610 - Behind reverse proxy:
https://git.yourdomain.com
- Direct:
- Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Click Save.
OneDev returns a 200 from the root path when the application is running. If the Java process crashes or the embedded Jetty server fails to bind, this check will immediately alert you.
Step 2: Probe the OneDev Health Endpoint
OneDev exposes server metrics and status information at a well-known path. Add a dedicated health check monitor pointing to the OneDev status page:
- Click Add Monitor → HTTP / HTTPS.
- Enter the URL:
http://your-server:6610/~server(orhttps://git.yourdomain.com/~server). - Set Expected HTTP status to
200. - Set Expected response body contains to
OneDevto verify the page is actually rendering application content. - Set Check interval to
1 minute. - Click Save.
This endpoint loads the server information page, which only renders successfully when OneDev's application context is fully initialized. A 200 here means the JVM is running, the database connection pool is active, and the Jetty server is accepting requests.
Step 3: Monitor Git-over-SSH Access
OneDev supports Git operations over SSH on port 22 (or a custom SSH port you configure in Administration → Server Settings → SSH port). SSH access going down means developers can't push or pull code — even if the web UI is responsive.
- Click Add Monitor → TCP Port.
- Enter your server hostname.
- Set Port to
22(or your custom SSH port). - Set Check interval to
5 minutes. - Click Save.
To find your configured SSH port in OneDev:
Administration → Server Settings → SSH port
The default is 22 but many installations use 2222 to avoid conflicts with the system SSH daemon. Check your OneDev admin panel and monitor the correct port.
Step 4: Monitor HTTP Git Access
OneDev also serves Git repositories over HTTP/HTTPS using the same port as the web UI. You can verify Git HTTP access is working by probing a known repository's info endpoint:
- Click Add Monitor → HTTP / HTTPS.
- Enter a URL in the format:
https://git.yourdomain.com/your-org/your-repo/info/refs?service=git-upload-pack - Set Expected HTTP status to
401(OneDev returns 401 for unauthenticated Git HTTP requests, which proves the Git HTTP backend is alive). - Set Check interval to
5 minutes. - Click Save.
A 401 response from this endpoint confirms that OneDev's Git HTTP backend is active and handling protocol negotiation. A 502 or connection timeout means the backend is down even if the web UI appears responsive.
Step 5: Cron Heartbeat for the CI Job Runner
OneDev's built-in CI/CD job runner executes pipeline jobs defined in .onedev-buildspec.yml. The runner is an internal component of the OneDev process — it doesn't expose its own HTTP port — so monitor it indirectly using a heartbeat from a scheduled pipeline.
Create a lightweight "watchdog" pipeline in one of your OneDev repositories. Add a .onedev-buildspec.yml file (or add a job to an existing one):
version: 37
jobs:
- name: Vigilmon Heartbeat
steps:
- !CommandStep
name: ping
runInContainer: false
commands:
- curl -fs https://vigilmon.online/heartbeat/YOUR_HEARTBEAT_ID
triggers:
- !ScheduleTrigger
cronExpression: 0 * * * *
retryCondition: never
maxRetries: 0
retryDelay: 30
timeout: 120
Then in Vigilmon:
- Click Add Monitor → Cron Heartbeat.
- Set the expected ping interval to
65 minutes(slightly longer than the 60-minute schedule to allow for startup lag). - Copy the heartbeat URL and paste it into the
curlcommand above. - Click Save.
If the CI job runner stalls, crashes, or the schedule fails to trigger, Vigilmon alerts after 65 minutes without a ping.
Step 6: SSL Certificate Alerts
If OneDev is behind a reverse proxy (nginx, Caddy, or Traefik) with HTTPS, monitor the certificate expiry:
- Open the HTTP/HTTPS monitor you created in Step 1.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - Click Save.
For a Caddy reverse proxy configuration:
git.yourdomain.com {
reverse_proxy localhost:6610
}
Caddy handles automatic Let's Encrypt renewal, but renewal can fail if port 80 is firewalled or DNS is misconfigured. A 21-day SSL alert gives you enough time to diagnose and fix renewal failures before the certificate expires and Git clients start refusing connections.
Step 7: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add your preferred channel: Slack, email, or webhook.
- Set Consecutive failures before alert to
2on the web UI monitor — OneDev can take up to 30 seconds to restart if it auto-recovers from a transient error. - Set the SSH TCP monitor to alert after
1failure — SSH port drops are rarely transient.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web UI | http://your-server:6610 | Application crash, Jetty failure |
| Health page | /~server | Incomplete startup, DB connection loss |
| SSH port | TCP :22 | SSH daemon down, firewall change |
| Git HTTP | /repo/info/refs | Git HTTP backend failure |
| CI heartbeat | Heartbeat URL | Job runner stall, schedule failure |
| SSL certificate | HTTPS domain | Let's Encrypt renewal failure |
OneDev consolidates your entire development workflow into one process — which means a single crash affects code hosting, CI/CD, and issue tracking simultaneously. With Vigilmon watching the web UI, SSH port, CI runner heartbeat, and SSL certificate, you'll catch failures before your team does.