Linux Service Triage
Diagnoses common Linux service issues using logs, systemd/PM2, file permissions.
Linux & service basics: logs, systemd/PM2, permissions, Nginx reverse proxy, DNS checks
PURPOSE
Diagnoses common Linux service issues using logs, systemd/PM2, file permissions, Nginx reverse proxy checks, and DNS sanity checks.
WHEN TO USE
- TRIGGERS:
- Restart this app cleanly and confirm it is listening on the right port.
- Fix the permissions on this folder so the service can read and write safely.
- Set up Nginx reverse proxy for this port and verify DNS and TLS are sane.
- Create a systemd service for this script and make it survive reboots.
- DO NOT USE WHEN…
- You want to exploit systems or bypass access controls.
INPUTS
- REQUIRED:
- Observed symptom: error message, status output, or logs (pasted by user).
- OPTIONAL:
- Filesystem paths used by the service.
- EXAMPLES:
systemctl status myapp output + journalctl excerpt
- Nginx server block + domain + upstream port
OUTPUTS
- Default: triage report (likely cause, evidence from logs, minimal fix plan).
- If explicitly requested and safe: exact shell commands to apply the fix.
WORKFLOW
1. Confirm scope and safety:
- identify service name and whether changes are permitted.
2. Gather evidence:
- status output + recent logs (see references/triage-commands.md).
3. Classify failure:
- config error, dependency missing, permission denied, port conflict, upstream unreachable, DNS mismatch.
4. Propose minimal fix + verification steps.
5. Validate network path (if web service):
- app listens → Nginx proxies → DNS resolves → (TLS sanity if applicable).
6. Provide restart/reload plan and confirm health checks.
7. STOP AND ASK THE USER if:
- logs/status output are missing,
- actions require privileged access not confirmed,
- TLS/cert management is required but setup is unknown.
OUTPUT FORMAT
TRIAGE REPORT
- Symptom:
- Evidence (what you provided):
- Most likely cause:
- Fix plan (minimal steps):
- Exact commands (ONLY if user approved changes):
- Verification:
- Rollback:
SAFETY & EDGE CASES
- Read-only by default: diagnose from provided outputs; do not assume you can run commands.
- Avoid destructive changes; require explicit confirmation for anything risky.
- Prefer
nginx -tbefore reload and verify ports withss.
EXAMPLES
- Input: “journal shows permission denied on /var/app/uploads.”
- Input: “App works locally but domain returns 502.”
More Web & Frontend Development Skills
View allDiscord
by steipeteUse when you need to control Discord from Clawdbot via the discord tool: send messages, react.
Frontend Design
by steipeteCreate distinctive, production-grade frontend interfaces with high design quality.
Miniflux News
by hartlcoFetch and triage the latest unread RSS/news entries from a Miniflux instance.