pixop-pack-logs
pixop-pack-logs
Advanced support component. Build a standalone log and runtime snapshot tarball from journald, optional Docker inspect output, local metrics, and files under /var/log/pixop-live. For normal escalations, use pixop-support-bundle, which embeds this archive under logs-archive/pixop-logs-*.tar.gz.
Availability: Verify this tool on your appliance with command -v pixop-pack-logs and pixop-version. Installed path when present: /opt/pixop/bin/pixop-pack-logs (called by pixop-support-bundle).
Purpose and scope
Use when support needs recent service logs and container state without re-running the full host, GPU, and network collection. The script writes one new .tar.gz; it does not rotate logs, restart units, or truncate journals on disk.
There are no CLI flags in the shipped script—behavior is fixed except for environment overrides below.
Usage
pixop-pack-logsNon-root users are always re-execed via sudo (absolute path to the script).
Output:
/var/lib/pixop-live/support/pixop-logs-<hostname>-<UTC-timestamp>.tar.gzUTC timestamp: YYYYMMDDTHHMMSSZ. Prints Wrote: <path> and optional sha256sum. File mode 0600 (umask 077).
Environment variables
| Variable | Default | Effect |
|---|---|---|
OUT_DIR | /var/lib/pixop-live/support | Output directory |
PIXOP_JOURNAL_LINES | 5000 | Line count for main journal exports |
PIXOP_METRICS_PORT | 8080 | Local HTTP metrics scrape (/v1/metrics) |
REDACT_BIN | /opt/pixop/bin/pixop-redact | Sanitizer; if not executable, packing continues without redaction |
Unlike pixop-pack-config, a missing pixop-redact does not abort the run—treat output as higher risk until redaction is confirmed on the appliance.
Archive contents
| Path | Source |
|---|---|
journal/pixop-live.txt | journalctl -u pixop-live.service -n <LINES> |
journal/pixop-instance-init.txt | Last 200 lines, instance-init unit |
journal/tsduck-in.txt | tsduck-in@*.service, -n <LINES> |
journal/tsduck-out.txt | tsduck-out@*.service, -n <LINES> |
journal/pixop-healthcheck.txt | Last 200 lines |
meta/manifest.txt | created_utc, host, uname -a, optional docker --version |
meta/status-pixop-live.txt | systemctl status pixop-live.service |
meta/status-units.txt | systemctl list-units for tsduck-* and pixop-* |
meta/coredumps.txt | coredumpctl list when available |
meta/metrics | curl to http://127.0.0.1:<port>/v1/metrics (2s timeout) |
docker/inspect-pixop-live.json, docker/ps.txt | When Docker is installed |
docker/inspect-<name>.json | Per-container inspect for pixop-live and tsduck-* names |
files/pixop-live/* | Copy of regular files in /var/log/pixop-live |
Failed subprocesses are generally ignored (|| true); missing units yield empty or partial files rather than failing the packer.
When pixop-redact runs, it scans the entire staging tree in place (same key and URL/bearer rules as config packing). JWT files are skipped by name. Redaction does not remove IP addresses, instance identifiers in journal text, or non-matching secret shapes—review before sharing.
Never include raw Pulse credentials, license JWT bodies, or SRT passphrases from tsduckctl credentials in tickets; prefer the sanitized archive after local inspection.
pixop-redact is a support-pack helper, not the primary operator API.
Operator workflow
df -h /var/lib/pixop-live/support
pixop-pack-logs
ls -lt /var/lib/pixop-live/support/pixop-logs-*.tar.gz | head
tar -tzf /var/lib/pixop-live/support/pixop-logs-*.tar.gzTo shrink journal volume for a one-off pack, you may set PIXOP_JOURNAL_LINES for that invocation only (support agreement). Unpack only on trusted analysis hosts.
Correlate service health with Monitoring and troubleshooting (metrics port, healthcheck timer) outside the archive.
vs full support bundle
pixop-pack-logs alone | pixop-support-bundle |
|---|---|
| Journals, Docker inspect, log files, local metrics | Above nested under logs-archive/ plus host, NVIDIA, network, sanitized config, preflight, marketplace observability |
Full bundle also re-runs pixop-redact on the outer stage after nesting.
Troubleshooting
| Issue | Action |
|---|---|
| Permission denied | Script expects root via sudo; confirm membership in pixop / sudo policy |
Very large pixop-logs-*.tar.gz | Default 5000 lines per major unit; lower PIXOP_JOURNAL_LINES or use full bundle guidance in pixop-support-bundle |
| Suspected secrets in output | Verify /opt/pixop/bin/pixop-redact is executable; grep archive before send |
Empty meta/metrics | Metrics endpoint down or port not 8080; set PIXOP_METRICS_PORT to match runtime |
Related
Updated about 10 hours ago
