Skip to main content

RunSentry Agent - Monitor and track scheduled job executions

Project description

RunSentry Agent

The RunSentry agent automatically discovers and monitors scheduled jobs on Linux systems. It integrates seamlessly with your existing cron jobs and Kubernetes CronJobs, providing visibility into your critical scheduled operations.

Features

  • 🔍 Auto-Discovery: Automatically discovers cron jobs and Kubernetes CronJobs
  • 📊 Execution Tracking: Monitors job executions, durations, and outcomes
  • 🔒 Secure: Outbound-only HTTPS communication
  • 💾 Resilient: Local buffering ensures no data loss during network issues
  • 🚀 Easy Installation: One-line installer script

Quick Start

Installation

Install the agent with a single command:

RUNSENTRY_TOKEN=your_token_here curl -fsSL https://runsentrystorage.blob.core.windows.net/main/install.sh | bash

The installer will:

  1. Verify Python 3.10+ is installed
  2. Create an isolated virtual environment
  3. Install the RunSentry agent package
  4. Register the agent with your RunSentry backend (if token provided)
  5. Set up and start the systemd service

Installation without token:

curl -fsSL https://runsentrystorage.blob.core.windows.net/main/install.sh | bash

# Register manually later
RUNSENTRY_TOKEN=xxx /opt/runsentry/venv/bin/runsentry register --backend-url https://runsentry-api.azurewebsites.net/
systemctl start runsentry-agent

Usage

Service Management

The agent runs automatically as a systemd service:

# Check status
systemctl status runsentry-agent

# View logs
journalctl -u runsentry-agent -f

# Restart
systemctl restart runsentry-agent

Optional: Wrap Cron Jobs

You can optionally wrap your cron jobs for enhanced tracking:

# Instead of:
0 * * * * /path/to/script.sh

# Use:
0 * * * * /opt/runsentry/venv/bin/runsentry exec /path/to/script.sh

This provides execution-level tracking and ensures events are captured even if the backend is temporarily unavailable.

Configuration

Configuration is automatically created at /etc/runsentry/config.yaml during registration. The agent requires minimal configuration and works out of the box after registration.

What Gets Discovered

The agent automatically discovers:

  • Linux Cron: User crontabs, system crontab, and /etc/cron.d/ files
  • Kubernetes CronJobs: All CronJobs across all namespaces (requires Kubernetes Python client)

Requirements

  • Python 3.10 or higher
  • Linux operating system
  • Network access to RunSentry backend
  • Root or sudo access for installation

Upgrading

Upgrade the agent with:

source /opt/runsentry/venv/bin/activate
pip install --upgrade runsentry-agent
systemctl restart runsentry-agent

Configuration is preserved during upgrades.

Troubleshooting

Agent not starting:

journalctl -u runsentry-agent -f

Check agent status:

systemctl status runsentry-agent

Verify configuration:

cat /etc/runsentry/config.yaml

Support

For help and questions:

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runsentry_agent-1.1.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runsentry_agent-1.1.1-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file runsentry_agent-1.1.1.tar.gz.

File metadata

  • Download URL: runsentry_agent-1.1.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for runsentry_agent-1.1.1.tar.gz
Algorithm Hash digest
SHA256 371bc90bd51affef5479e9941b50c51221fde1ded007762df2692b4e7fa4bdc2
MD5 02f0b0859d069fe4494491bc933758c6
BLAKE2b-256 26414e75cbb94d4a9878acc2190abeef0717b19dea338683d4402be8a95cd75e

See more details on using hashes here.

File details

Details for the file runsentry_agent-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for runsentry_agent-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea3460d12eb0a82f90bebbddef528497bd232a4f3971d929e9225c194b79fa47
MD5 2e7eacde91d508090bac40b17d31ba05
BLAKE2b-256 0757d1e4c4bcabe724887734f869e5032f01c5d873c24ff8b773d1d3ee5ec000

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page