SKILL.md
Cloud Logging
This skill provides utilities for analyzing logs, errors, and system health across Google Cloud deployments.
- Prioritize Logs with
severity>= "ERROR" as they tend to be less verbose. - Constrain logs around the time of investigation (possibly going back a few hours/days to find smoking guns).
Logs DOs and DONT's
Ingesting Logs into an LMM memory can easily saturate your context.
- [BAD] DO NOT ingest big files. Antipattern:
ReadFile path/to/accesslogsraw.json.
It's ok to get raw logs, but also use jq or scripts to read them without polluting your context window. [GOOD] Use simple maniuplation like: jq -r '.[] | .httpRequest.status' to get a list of statuses. * [GOOD] Reduce size with scripts such as scripts/cloudlogging2apachelogs.py <big_logfile.json> (provided in the skill)
- [BAD] Do not call long-running calls without precautions, eg
gcloud logging read
[GOOD] Rather prepend some reasonable timeout 60 gcloud logging read ..., or [BEST] Use the runshellcommand tool with is_background: true and poll the results being dumped to file periodically.
Bundled Scripts
cloudlogging2apachelogs.py
Converts GCP Cloud Logging JSON exports into a format loosely resembling Apache Combined Log format. This is much more token-efficient for the LLM.
Usage:
python3 scripts/cloudlogging2apachelogs.py path/to/logs.json
Testing: You can verify the script works by running its test:
python3 scripts/cloudlogging2apachelogs_test.py
Bundled Assets
assets/sample_logs.json: A small sample of GCP Cloud Logging JSON for testing conversion scripts.