rails-pod-restart-request-searcher
Analyze Kubernetes rails container restarts to search incomplete requests. Use when you receive Grafana "Container Restarts" alerts for rails applications.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Analysis Workflow
Step 1: Extract Alert Information
From the Grafana Slack alert, extract:
-
Pod name: e.g.,
class-rails-service-apne2-prd-d795f9b9-gn6pj - Timestamp: When the alert fired
Step 2: Find CloudWatch Log Stream
Use list_log_streams.py to find the log stream that ended just before the restart (OOM).
python scripts/list_log_streams.py \
--pod-name <full-pod-name> \
--region ap-northeast-2
Selection Criteria:
- Look for the stream whose
Lasttime is closest to the OOM/restart time. - If streams are split, the one ending before the restart contains the relevant logs.
Step 3: Find Incomplete Requests
Use find_incomplete_requests.py to identify requests that started but never completed in the selected stream.
python scripts/find_incomplete_requests.py \
--log-stream '<full-stream-name-from-step-2>' \
--minutes-before 5
This script fetches logs from CloudWatch and shows which API endpoints had incomplete requests.
Step 4: Analyze Payload Sizes
Use query_alb_access_logs.py to check request and response sizes via Athena for suspicious paths found in Step 3.
python scripts/query_alb_access_logs.py \
--path '<suspicious-path>' \
--oom-time 'YYYY-MM-DDTHH:MM:SS' \
--minutes-before 10
Step 5: Summarize Abnormal Findings
Summarize the abnormal characteristics (Timing, Payloads, Duration, Concurrency) to assist the developer.
Output Format
Evidence Summary
- Pod: [name]
- Analysis window: [time range]
Suspicious Requests
- Endpoint: [path]
- Incomplete request count: [number]
- Request payload: [min-max bytes]
- Response payload: [min-max bytes]
Abnormality Description
- Describe specifically what was abnormal about these requests.
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!