-
Notifications
You must be signed in to change notification settings - Fork 53
Container Debugging
At times, on-call personnel may be presented with a situation in which they need to quickly access container or application crash logs. Azure does not make this an intuitive process.
Thankfully, Azure does provide a centralized location for this information...if you know where to look!
Most of our diagnostic tools will be specific to the App Service, unless you need direct DB logs. Even in that case, it is recommended to consult the App Service Logs before you proceed further, just to corroborate the symptoms you are seeing.
Sidebar menu items in Azure are affectionately known as "blades". (This may be a reference to Microsoft's fascination with sharp objects, given the "Razor" framework, "C-Sharp", etc...or, it may be a reference to the concept of blade servers. You be the judge.) To proceed, find and select the blade for "Diagnose and Solve Problems", as shown:
We have several options to choose from. For most purposes, including container crashes, "Availability and Performance" is the best place to begin.
The correct option is highlighted below:
You will be presented with a collection of tool blades along the left sidebar. "Container Issues" keeps a record of recent container crashes, and is a great place to see, at-a-glance, what may be causing the problem.
If you run into continued deployment failures for an environment, use the above process on the staging
slot's App Service. The "Container Crash" blade will indicate exactly why a container is failing to start.
- Getting Started
- [Setup] Docker and docker compose development
- [Setup] IntelliJ run configurations
- [Setup] Running DB outside of Docker (optional)
- [Setup] Running nginx locally (optional)
- [Setup] Running outside of docker
- Accessing and testing weird parts of the app on local dev
- Accessing patient experience in local dev
- API Testing with Insomnia
- Cypress
- How to run e2e locally for development
- E2E tests
- Database maintenance
- MailHog
- Running tests
- SendGrid
- Setting up okta
- Sonar
- Storybook and Chromatic
- Twilio
- User roles
- Wiremock
- CSV Uploader
- Log local DB queries
- Code review and PR conventions
- SimpleReport Style Guide
- How to Review and Test Pull Requests for Dependabot
- How to Review and Test Pull Requests with Terraform Changes
- SimpleReport Deployment Process
- Adding a Developer
- Removing a developer
- Non-deterministic test tracker
- Alert Response - When You Know What is Wrong
- What to Do When You Have No Idea What is Wrong
- Main Branch Status
- Maintenance Mode
- Swapping Slots
- Monitoring
- Container Debugging
- Debugging the ReportStream Uploader
- Renew Azure Service Principal Credentials
- Releasing Changelog Locks
- Muting Alerts
- Architectural Decision Records
- Backend Stack Overview
- Frontend Overview
- Cloud Architecture
- Cloud Environments
- Database ERD
- External IDs
- GraphQL Flow
- Hibernate Lazy fetching and nested models
- Identity Verification (Experian)
- Spring Profile Management
- SR Result bulk uploader device validation logic
- Test Metadata and how we store it
- TestOrder vs TestEvent
- ReportStream Integration
- Feature Flag Setup
- FHIR Resources
- FHIR Conversions
- Okta E2E Integration
- Deploy Application Action
- Slack notifications for support escalations
- Creating a New Environment Within a Resource Group
- How to Add and Use Environment Variables in Azure
- Web Application Firewall (WAF) Troubleshooting and Maintenance
- How to Review and Test Pull Requests with Terraform Changes