BBansalMarketplace
All tools
πŸ”­
πŸ”­

Observe

Open source

Ops & Monitoring

Extract unique error signatures from log datasets β€” with AI fixes and Slack reports.

What is it

Observe pulls unique error signatures out of Observe log datasets across multiple services and regions. It calls the Observe API, runs OPAL pipelines per service, and writes a report with IST timestamps, occurrence counts, the error messages themselves, and deep links straight to the Observe log explorer.

Beyond extraction it's a small triage cockpit: a Flask web app lets you check a dashboard, look up a hostname, hit Fix to have an AI agent analyze a single error against a known-error runbook, and Send to Slack to post a formatted summary to a webhook. Run it as a CLI for the raw report, or as the web app for the interactive flow β€” both ship with Dockerfiles.

Why you need it

  • Raw log explorers bury the signal β€” Observe collapses noise into unique error signatures you can actually triage.
  • Covers a whole fleet of services (Launch Management, Logs, telemetry, Nginx, Deployment Agent…) in a single run.
  • The Fix button runs an agent against an error plus a known-error runbook to suggest root causes and concrete fixes.
  • Reports come with deep links and counts, and can be pushed to Slack so the team sees them where they already work.

User guide β€” quickstart

  1. 1

    Clone and install

    Grab the repo and install the Python dependencies (or build the provided Docker image instead).

    git clone https://github.com/AryanBansal-launch/Observe.git
    cd Observe
    pip install -r requirements.txt
  2. 2

    Get your Observe credentials

    Your Customer ID is the subdomain before .observeinc.com in your workspace URL. Create an API token from your Observe instance at /settings/my-api-tokens β€” copy it once, it may not be shown again. The token's user needs dataset:view on the datasets you query.

  3. 3

    Configure the environment

    Copy the sample env file and fill in your credentials. The script authenticates as: Authorization: Bearer <CUSTOMER_ID> <API_KEY>.

    cp env.sample .env
    # set OBSERVE_CUSTOMER_ID and OBSERVE_API_KEY
  4. 4

    Define your services

    List the services to scan in config/services.json β€” each entry sets name, workspace_id, dataset_id, and a pipeline_file under pipelines/ (which must output latest_timestamp, total_occurrences, error_msg, context).

  5. 5

    Run the extraction

    Run the CLI for a terminal report plus error_report.txt with links and counts.

    python extract_errors.py
  6. 6

    Or launch the web app

    Start the Flask app for the interactive UI β€” dashboard check, hostname lookup, Fix (single-error AI analysis), and Send to Slack.

    python app.py

Under the hood

PythonFlaskObserve API + OPALGeminiCursor agentDocker

Works with: Observe log datasets (multi-service, multi-region)

Ready to try Observe?