This topic provides information to help you troubleshoot Application Live View.
Symptom
Your app is not visible in the Application Live View UI.
Solution
The connector component is responsible for discovering the app and registering it with Application Live View.
To troubleshoot, confirm the following:
The app must be a Spring Boot Application.
Confirm that an instance of a connector is located in the same namespace as your app.
kubectl get pods -n NAMESPACE | grep connector
Where NAMESPACE
is the name of the namespace that your app is located in.
Confirm that the actuator endpoints are enabled for your app as follows:
management.endpoints.web.exposure.include: "*"
Confirm that you have included the following labels within your app deployment YAML file:
tanzu.app.live.view="true"
tanzu.app.live.view.application.name="APP-NAME"
Where APP-NAME
is the name of your app.
Confirm that the Convention Service workload YAML file does not contain property management.endpoints.web.exposure.include
overrides.
See also:
Symptom
Your app is not visible in Application Live View UI, but the actuator endpoints are enabled.
Solution
To troubleshoot:
Check the port on which actuator endpoints are configured. By default, they are enabled on the application port. If they are configured on a port different from the application port, set the labels in your app deployment YAML file as follows:
tanzu.app.live.view.application.port: "APPLICATION-PORT"
tanzu.app.live.view.application.actuator.port: "ACTUATOR-PORT"
Where:
APPLICATION-PORT
is the application port.ACTUATOR-PORT
is the actuator port.Check the path on which the app and actuator endpoints are configured. If they are configured on a different paths, set the labels in your app deployment YAML file as follows:
tanzu.app.live.view.application.path: "APPLICATION-PATH"
tanzu.app.live.view.application.actuator.path: "ACTUATOR-PATH"
Where:
APPLICATION-PATH
is the application port.ACTUATOR-PATH
is the actuator port.Symptom
Your app has actuator endpoints exposed at root and the UI does not show any information.
Cause
Application Live View cannot display the app details when the app is exposing the actuator endpoint on root (/
) . This is due to conflict in the actuator context path and app default context path.
Symptom
The app shows up in Application Live View UI, but the Health page does not show details of health.
Solution
The information exposed by the health endpoint depends on the management.endpoint.health.show-details
property. This must be set to always
as as follows:
management.endpoint.health.show-details: "always"
Symptom
You can find your app in the UI, but it is an old instance that no longer exists while the new instance doesn’t show up yet.
Solution
To troubleshoot:
View the Application Live View connector pod logs to see if the connector is sending updates to the back end.
Delete the connector pod to recreate it by running:
kubectl -n app-live-view-connector delete pods -l=name=application-live-view-connector
Symptom
The certificate request is missing for certificate app-live-view-conventions/appliveview-webhook-cert
.
Solution
To troubleshoot:
Run kubectl get certificaterequest -A
to see if the certificate request is missing for Application Live View convention.
Delete the secret appliveview-webhook-cert
that corresponds to the certificate in the app-live-view-conventions
namespace by running:
kubectl delete secret appliveview-webhook-cert -n app-live-view-conventions
This recreates the certificate request and updates the corresponding certificate.
Symptom
In Tanzu Developer Portal, you receive the error No live information for pod with id
.
Cause
This might happen because of stale information in Application Live View because it is an old instance that no longer exists while the new instance doesn’t show up yet.
Solution
The workaround is to delete the connector pod so it is re-created by running:
kubectl -n app-live-view-connector delete pods -l=name=application-live-view-connector
Symptom
You are unable to override the actuator path in the labels as part of the workload deployment.
Cause
The changes to add or override the labels or annotations in the Workload
are in progress. The changes from the Workload
must be propagated up through the supply chain for the PodIntent to see the new changes.
Symptom
This might be because sslDeactivated
flag in the values YAML file does not accept values without quotes.
Cause
The sslDeactivated
Boolean flag is treated as a string in the Kubernetes YAML file.
Solution
You must specify the value within double quotation marks for the configuration to be picked up.
To verify that the labels in your workload YAML file are working:
Verify the app live view convention webhook is running properly by running:
kubectl get pods -n app-live-view | grep webhook
Verify the conventions controller is running properly by running:
kubectl get pods -n conventions-system
Verify that the conventions are applied properly to the PodSpec by running:
kubectl get podintents.conventions.carto.run WORKLOAD-NAME -oyaml
Where WORKLOAD-NAME
is the name of your workload.
If everything works correctly, the status will contain a transformed template that includes the labels added as part of your workload YAML file. For example:
status:
conditions:
- lastTransitionTime: "2021-10-26T11:26:35Z"
status: "True"
type: ConventionsApplied
- lastTransitionTime: "2021-10-26T11:26:35Z"
status: "True"
type: Ready
observedGeneration: 1
template:
metadata:
annotations:
conventions.carto.run/applied-conventions: |-
appliveview-sample/app-live-view-connector
appliveview-sample/app-live-view-appflavours
appliveview-sample/app-live-view-systemproperties
labels:
tanzu.app.live.view: "true"
tanzu.app.live.view.application.flavours: spring-boot
tanzu.app.live.view.application.name: petclinic
spec:
containers:
- env:
- name: JAVA_TOOL_OPTIONS
value: -Dmanagement.endpoint.health.show-details=always -Dmanagement.endpoints.web.exposure.include=*
image: index.docker.io/kdvolder/alv-spring-petclinic:latest@sha256:1aa7bd228137471ea38ce36cbf5ffcd629eabeb8ce047f5533b7b9176ff51f98
name: workload
resources: {}
It is not possible to override the labels set by the Application Live View convention service for the workload deployment in Tanzu Application Platform. The labels tanzu.app.live.view
, tanzu.app.live.view.application.flavours
and tanzu.app.live.view.application.name
cannot be overridden. The default values set by the Application Live View convention server are used.
However, if you want to override management.endpoints.web.exposure.include
or management.endpoint.health.show-details
, you can override these environment properties in application.properties
or application.yml
in the Spring Boot Application before deploying the workload in Tanzu Application Platform. Environment properties updated in your app take precedence over the default values set by Application Live View convention server.
If the custom actuator context path is configured as follows:
management.endpoints.web.base-path=/manage
management.server.port=8085
Configure the connector as follows:
tanzu.app.live.view.application.actuator.path=/manage (manage is the custom actuator path set on the application)
tanzu.app.live.view.application.actuator.port=8085 (8085 is the custom management server port set on the application)