Troubleshooting issues¶
This section is your go-to resource for tackling common issues and finding solutions. For additional troubleshooting tips and known issues, see the Percona Everest Release Notes and known limitations section.
General troubleshooting guidelines¶
Before troubleshooting, it’s important to understand how Percona Everest works at a high level. Understanding how it works can help narrow down potential areas to investigate.
The kubectl quick reference is a useful resource.
Important logs and commands¶
Depending on the specific issue, you can review different logs for additional information.
-
Percona operator logs:
kubectl logs -f deploy/everest-operator -n everest-system
-
Percona Everest server Logs:
kubectl logs -f deploy/everest-server -n everest-system
-
Percona operator logs in namespaces. For example in everest namespace:
kubectl logs -f deploy/percona-postgresql-operator -n everest kubectl logs -f deploy/percona-server-mongodb-operator -n everest kubectl logs -f deploy/percona-xtradb-cluster-operator -n everest
-
Victoria Metrics operator logs for monitoring issues:
kubectl logs -f deploy/vm-operator -n everest-monitoring kubectl logs -f deploy/vmagent-everest-monitoring -n everest-monitoring
-
Logs of database Pods/Proxy:
kubectl logs -f <pod-name of database or proxy> -c <database-container>
-
Events (Events are stored only for 60 mins, if there are any events which are older than 60 mins, it will be lost).
kubectl get events --sort-by=".lastTimestamp"
Troubleshooting key areas¶
Installation issues¶
For troubleshooting Percona Everest installation issues using everestctl or the Helm chart, the following steps may be helpful:
-
Appropriate privileges may be required depending on the selected components for installation. For instance, if OLM is to be installed,
cluster-admin
privileges are required. If any of the components fail, verify that the appropriate privileges are granted.Run the following command to check if the required privileges are granted:
kubectl auth can-i
-
Verify the installation status of the Helm chart. A properly functioning chart should be in a Deployed status.
To verify the values used during the chart installation, run the following command:
helm list -n everest-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION everest-core everest-system 1 2025-01-16 16:24:56.577713 +0530 IST deployed everest-1.4.0 1.4.0
-
As there are many components in the Percona Everest installation, installation will fail if any of the subcomponent installations fail. Check the relevant namespace where components are installed, along with the logs and events.
For instance, a job is created to approve the installation plan for operators. If there are no resources left in the cluster to run pods, the Helm installation will continue waiting for the specified
--timeout
or the default of 5 minutes before failing.
API,Authentication, and frontend issues¶
To troubleshoot issues with the Percona Everest API, authentication, or frontend, check the everest-server deployment.
-
If the Percona Everest API is not working, check the status of the everest-server pod, specifically its Status and Restarts.
kubectl get po -l app.kubernetes.io/name=everest-server -n everest-system NAME READY STATUS RESTARTS AGE everest-server-78699679d4-kgqk5 1/1 Running 0 4d23h
-
Check the
everest-server
logs.kubectl logs -f deploy/everest-server -n everest-system
-
To resolve authentication and access issues, check the Percona Everest server logs. If Role-Based Access Control (RBAC) is implemented, validate or check the permissions using
everestctl
.kubectl get configmap everest-rbac -n everest-system
-
Check the
everest-operator
logs for any reconciliation errors.kubectl logs -f deploy/everest-operator -n everest-system
-
If you experience any access issues or lag in the Percona Everest frontend or API, try port-forwarding to the service and check the latency compared to accessing it via a LoadBalancer or NodePort. Once you have set up the port-forward, access the webpage using
localhost:8080
.kubectl port-forward svc/everest 8080:8080
Database operation issues¶
Here are the common issues related to the database operations:
-
Check the
everest-operator
logs if theDatabaseCluster
object has not been created or if there are any issues with it.kubectl logs -f deploy/everest-operator -n everest-system
-
Check the
DatabaseCluster
object, verify its status and events. The status should be Ready. If it is anything other than Ready, further investigation is required. Describing theDatabaseCluster
object provides details about the database configuration.kubectl get DatabaseCluster <DatabaseCluster-Name> kubectl describe DatabaseCluster <DatabaseCluster-Name> kubectl get DatabaseCluster <DatabaseCluster-Name> -oyaml
-
Check the relevant database objects such as PXC, PSMDB, and PG, as well as the operator logs. For instance, check the PXC object followed by the operator logs.
kubectl get pxc <database-name> kubectl describe pxc <database-name> kubectl get pxc <database-name> -oyaml kubectl logs -f deploy/percona-xtradb-cluster-operator # Change to pxc,psmdb,pg for respective database
-
Check the database pod logs:
kubectl logs -f <database-pod-name> -c <database-container-name> # (container name could be database,pxc,mongo)
Get expert help¶
If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.