Skip to main content

Monitor batch pipelines via API and email alerts — install and deploy on Linux servers from PyPI

Project description

inferyx-monitoring

Version: 1.0.49 · PyPI: inferyx-monitoring

Batch monitor + admin UI. One package, one service, one install directory.


Commands

Step Command
Install (new server) sudo bash release/install.sh
Upgrade (existing) sudo bash release/upgrade.sh
Build (maintainer) ./scripts/release.sh
Publish (maintainer) ./scripts/release.sh --publish
Test locally (WSL) sudo bash scripts/test-local.sh all

After pip install, scripts are at:
/opt/pipeline-monitor/.venv/share/inferyx-monitoring/install.sh

Maintainer docs: docs/BUILD.md · Release notes: docs/CHANGELOG.md


Project layout

Monitor/
├── docs/              BUILD.md (git), CHANGELOG.md (PyPI wheel)
├── development/       Local dev templates + gitignored secrets
├── release/           install.sh, upgrade.sh, templates (shipped in wheel)
├── scripts/           release.sh, build-ui.sh, test-local.sh (maintainers)
├── admin-ui/          Angular source
└── inferyx_pipeline_monitor/
    └── data/          .env.example, batch_file.csv.example (single .env template)

Install directory (/opt/pipeline-monitor)

Everything lives in one path:

/opt/pipeline-monitor/
├── .venv/
├── .env
├── batch_file.csv
├── auth.policy
├── www/                 Admin UI static files
├── secrets/             google_client_secret, session_secret
└── logs/
    └── monitor.log      Monitor output + admin audit (JSON lines)
URL Purpose
https://<host>/monitoring/admin/ Admin UI (nginx)
https://<host>/monitoring/api/ Admin API (nginx → 127.0.0.1:8090)

Install (new server)

sudo bash release/install.sh
# Pin version:  sudo bash release/install.sh --pin 1.0.49

Then edit config and nginx:

sudo -u inferyx vi /opt/pipeline-monitor/.env
sudo vi /opt/pipeline-monitor/auth.policy
echo 'GOOGLE_SECRET' | sudo tee /opt/pipeline-monitor/secrets/google_client_secret
sudo chmod 600 /opt/pipeline-monitor/secrets/google_client_secret

sudo cp /opt/pipeline-monitor/.venv/share/inferyx-monitoring/nginx.conf.example \
  /etc/nginx/sites-available/pipeline-monitor
sudo ln -sf /etc/nginx/sites-available/pipeline-monitor /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Verify:

sudo systemctl status inferyx-monitoring.service
curl -s http://127.0.0.1:8090/api/health
curl -s http://127.0.0.1:8090/api/ui/status

Upgrade (existing server)

sudo bash /opt/pipeline-monitor/.venv/share/inferyx-monitoring/upgrade.sh

Upgrades pip, merges missing .env keys, redeploys www/, updates systemd, restarts.
Migrates old /etc/pipeline-monitor/ and /var/www/pipeline-monitor-admin/ if found.


Configuration

.env (required)

Template: inferyx_pipeline_monitor/data/.env.example (only source — copy to /opt/pipeline-monitor/.env).

Required keys: PIPELINE_SMTP_HOST, PIPELINE_SMTP_PORT, PIPELINE_SMTP_USERNAME, PIPELINE_SMTP_PASSWORD, PIPELINE_FROM_NAME, PIPELINE_MAIL_TO, PIPELINE_API_BASE_URL, PIPELINE_API_TOKEN, PIPELINE_API_TOKEN_HEADER, PIPELINE_DEVOPS_EMAIL

auth.policy (Google SSO)

Template: release/auth.policy.example. Set client_secret_path, redirect_uri, and allowed_domains.
Add the same redirect_uri in Google Cloud Console.

Nginx

Full template: share/inferyx-monitoring/nginx.conf.example (after pip install)


Troubleshooting

Symptom Check
Admin UI "Unavailable" curl http://127.0.0.1:8090/api/ui/status and nginx /monitoring/api/
Service restart loop journalctl -u inferyx-monitoring -n 50 — missing .env keys
Admin up, monitor retrying Fix .env; monitor auto-restarts every 10s
Logs tail -f /opt/pipeline-monitor/logs/monitor.log

What's new in 1.0.49

  • Batch Data: CSV upload (column validation) and download current data
  • Release scripts in release/ folder (PyPI wheel build fix)

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

inferyx_monitoring-1.0.49.tar.gz (170.7 kB view details)

Uploaded Source

Built Distribution

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

inferyx_monitoring-1.0.49-py3-none-any.whl (182.2 kB view details)

Uploaded Python 3

File details

Details for the file inferyx_monitoring-1.0.49.tar.gz.

File metadata

  • Download URL: inferyx_monitoring-1.0.49.tar.gz
  • Upload date:
  • Size: 170.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for inferyx_monitoring-1.0.49.tar.gz
Algorithm Hash digest
SHA256 a506def74a3c74953467909537885485f1879a619acb3af86950ad7c8da1bbf3
MD5 47a2d43f3c55c3fa6988f830087f6c9e
BLAKE2b-256 987209532e303c4c5a9b3a8b3703f9c3d8841c447f4cc87c0e31698faea928c0

See more details on using hashes here.

File details

Details for the file inferyx_monitoring-1.0.49-py3-none-any.whl.

File metadata

File hashes

Hashes for inferyx_monitoring-1.0.49-py3-none-any.whl
Algorithm Hash digest
SHA256 3a67b7b4377ded3fc73a62450e2e4644d9a9c7a2f1acd552b4d05d18f0fb2546
MD5 918c30a66b2b4e34e350c51eb984232b
BLAKE2b-256 e7b98910fd8dbdebf0bca8fa694fe9c70f25d982038a0f3ca702752419050dee

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