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.2.tar.gz (18.0 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.2-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: runsentry_agent-1.1.2.tar.gz
  • Upload date:
  • Size: 18.0 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.2.tar.gz
Algorithm Hash digest
SHA256 a1066f41bbbd4aa9699ead65f85793a54bee5c842d40fb3d58707f4e6ab32af4
MD5 837c78b0748eac6fdc6df2bee5e56f88
BLAKE2b-256 25c626003d3b542c5e11c4b874d883760ba6269f05333a5ced576bed246f1f43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for runsentry_agent-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 65f0302be2e7bf713840941c7315a9cf7e1265ad944904c69906b674f8ff7b68
MD5 a5ca569e884ebea8f23ac730782b9bd9
BLAKE2b-256 41ffbf9e54c54947596e423bb53a8e02b2acc8814f8d4b78f8982d03926dc8f3

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