vm-infrastructure-ops

Diagnose and recover GCP VM service outages for the eth-realtime-collector.

Updated Nov 4, 2025
One-click install
npx skills add https://github.com/terrylica/gapless-network-data --skill vm-infrastructure-ops
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vm-infrastructure-ops
Source: https://github.com/terrylica/gapless-network-data/tree/main/.claude/skills/vm-infrastructure-ops
Command: npx skills add https://github.com/terrylica/gapless-network-data --skill vm-infrastructure-ops

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires bash, gcloud, journalctl, systemctl, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides a structured approach to diagnosing and recovering Ethereum real-time data collection on a GCP e2-micro VM. It targets VM service outages, systemd failures, streaming interruptions, and network problems, enabling quick restoration of data flow.

Core Features & Use Cases

  • Service health checks: verify eth-collector daemon is active and responsive.
  • Live log visibility: stream or view the collector logs to spot errors.
  • Recovery actions: restart the service, pull fresh credentials, or reinitialize networking.
  • VM recovery options: perform a hard VM reset if networking is completely broken.
  • Data flow verification: validate that blocks are flowing into ClickHouse after recoveries.

Quick Start

Use the cloud-based commands and scripts to diagnose and recover:

  • Check service status on the VM: gcloud compute ssh eth-realtime-collector --zone=us-east1-b --command='sudo systemctl status eth-collector'
  • View live logs: gcloud compute ssh eth-realtime-collector --zone=us-east1-b --command='sudo journalctl -u eth-collector -f'
  • Restart the collector service: gcloud compute ssh eth-realtime-collector --zone=us-east1-b --command='sudo systemctl restart eth-collector'
  • Quick status using provided script: .claude/skills/vm-infrastructure-ops/scripts/check_vm_status.sh
  • Alternative restart script with pre-checks: .claude/skills/vm-infrastructure-ops/scripts/restart_collector.sh
  • VM hard reset (last-resort): gcloud compute instances reset eth-realtime-collector --zone=us-east1-b
  • Verify data flow to ClickHouse after restart: doppler run --project aws-credentials --config prd -- python3 -c "import clickhouse_connect; ..."

Frequently Asked Questions about vm-infrastructure-ops

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I troubleshoot a GCP VM running eth-collector that's not collecting data?▼

Troubleshoot eth-collector data collection by checking service status with systemctl, viewing live logs via journalctl, and verifying network connectivity. Use gcloud compute ssh to access the VM, then run systemctl status eth-collector and journalctl -u eth-collector -f to identify errors, restart the service if needed, and validate data flow to ClickHouse.

What should I do if the eth-collector systemd service fails on my GCP VM?▼

When eth-collector systemd service fails, SSH into the VM via gcloud, check service status with systemctl, review detailed logs using journalctl, and restart the service with systemctl restart. If networking is broken, perform a hard VM reset using gcloud compute instances reset as a last resort.

Can I restart the eth-collector service without manual SSH commands?▼

Yes, use the provided restart_collector.sh script which includes pre-checks before restarting eth-collector, or the check_vm_status.sh script for quick status verification. Both scripts automate common troubleshooting tasks and reduce manual gcloud command execution.

How do I verify that eth-collector is actually sending data to ClickHouse after recovery?▼

Verify data flow by running a ClickHouse validation query through doppler with your AWS credentials config, which confirms blocks are being ingested. This confirms eth-collector recovery is complete and the real-time data stream has resumed.

What access and tools do I need to troubleshoot GCP VM infrastructure for eth-collector?▼

You need access to the eonlabs-ethereum-bq GCP project, the eth-realtime-collector VM in us-east1-b zone, a configured gcloud CLI, and permissions to execute systemctl and journalctl commands. The Skill provides scripts and references for systemd and log inspection.

When should I perform a hard reset instead of just restarting the eth-collector service?▼

Perform a hard VM reset when networking is completely broken and service restarts fail, as it's a last-resort recovery action. Use this only after checking service status and logs confirms the issue is infrastructure-level, not application-level.