> For the complete documentation index, see [llms.txt](https://docs.hyperswitch.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperswitch.io/self-hosting/want-to-explore/troubleshooting.md).

# Troubleshooting local setup

This guide explains how to troubleshoot the Hyperswitch setup on your local system and verify if all the components are up and running as expected

### System Health Check

Hyperswitch provides a deep health check endpoint to check if the various components involved are up and running. To check the readiness of the application, you can run the following command.

```bash
curl http://localhost:8080/health/ready
```

The above command will check the Database connection, Redis connection, Hyperswitch Vault connection (if enabled), ability to send outgoing requests, and the health of analytical components. If the components are up and running with the correct configurations, you will get a success response as shown below

```json
{
    "database": true,
    "redis": true,
    "vault": true,
    "analytics": true,
    "outgoing_request": true
}
```

If there is an issue with one of the components, the API will return an error response which will indicate the reason for the failure. For example, if the app server is not able to connect with the database, the error response would be as follows

```json
{
    "error": {
        "type": "api",
        "message": "Database health check failed with error: Error while connecting to database",
        "code": "HE_00"
    }
}
```

Additionally you can add this as a Readiness Probe in your Kubernetes Deployment

```yaml
readinessProbe:
  httpGet:
    path: /health/ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 15
```

In case the app server does not start due to the failure of the readiness probe, you can check the logs through Kubernetes Logs using the below command

{% code fullWidth="false" %}

```bash
kubectl logs <your-pod-name> --tail 10 -n <your-namespace-name> -c <container-name>
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hyperswitch.io/self-hosting/want-to-explore/troubleshooting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
