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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a506def74a3c74953467909537885485f1879a619acb3af86950ad7c8da1bbf3
|
|
| MD5 |
47a2d43f3c55c3fa6988f830087f6c9e
|
|
| BLAKE2b-256 |
987209532e303c4c5a9b3a8b3703f9c3d8841c447f4cc87c0e31698faea928c0
|
File details
Details for the file inferyx_monitoring-1.0.49-py3-none-any.whl.
File metadata
- Download URL: inferyx_monitoring-1.0.49-py3-none-any.whl
- Upload date:
- Size: 182.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a67b7b4377ded3fc73a62450e2e4644d9a9c7a2f1acd552b4d05d18f0fb2546
|
|
| MD5 |
918c30a66b2b4e34e350c51eb984232b
|
|
| BLAKE2b-256 |
e7b98910fd8dbdebf0bca8fa694fe9c70f25d982038a0f3ca702752419050dee
|