Understand why an application is out of sync or failing
Your application shows OutOfSync or Degraded? The Argo CD tab tells you which object is at fault and why, without opening Argo CD.
What the tab shows, and to whomβ
- Everyone who can open the component sees the objects of the application and the reason Argo CD gives for each one.
- Events and Logs are for the people who have the permissions
argocd.events.readandargocd.logs.read. By default, the Astrolabe administrators.
1. π Find the object at faultβ
- Open the component from Catalog, then click the Argo CD tab.
- Click Resources.
The objects at fault come first: those whose Sync is not Synced, or whose Health is
Degraded, Missing or Progressing. The Reason column gives the message of Argo CD, for
example back-off 5m0s restarting failed container=app.
2. π Open its eventsβ
In the Why column, click Why β¦? followed by the name of the object (here Why settings?).
Under the table, the object opens with its reason, then Events: Type (Warning or Normal), Reason, Message, Times, Last seen. The most recent comes first.
3. π Read its logsβ
Under Logs:
- In Pod, choose the pod (a Deployment or a ReplicaSet can have several).
- In Container, choose the container.
The last 200 lines show. Click Refresh to read them again, Copy the logs to paste them elsewhere.
Astrolabe reads the logs with the token of the Argo CD integration. Its account needs this line in
policy.csv, in addition to the one that reads applications (Create a token):
p, astrolabe, logs, get, */*, allow
β That's it!
π οΈ Troubleshootingβ
| What you see | What to do |
|---|---|
Argo CD refuses to give the logs with the token of the Argo CD integration. Ask your Astrolabe administrator to give the token's account the right to get logs (p, <account>, logs, get, */*, allow). | Add p, astrolabe, logs, get, */*, allow to policy.csv in argocd-rbac-cm, with the name of the token's account. |
Argo CD refuses to give the events with the token of the Argo CD integration. Ask your Astrolabe administrator to give the token's account the right to get applications (p, <account>, applications, get, */*, allow). | The token's account may not read the application. Add p, astrolabe, applications, get, */*, allow to policy.csv. |
You may not read this object's logs. Ask your Astrolabe administrator for the permission argocd.logs.read. | Ask your Astrolabe administrator to give you the permission argocd.logs.read. Same for events with argocd.events.read. |
Argo CD no longer finds this object or this pod. Reload the tab: it may have been replaced. | A pod restarted under a new name. Reload the page and click Why again. |
This object has no pod yet, so it has no log. | The object does not run anything yet (a ConfigMap, or a Deployment whose pods are not created). Look at its Events. |
This object does not exist in the cluster, so it has no event. | The object is in Git but not in the cluster yet (OutOfSync, Missing). Its Reason says why Argo CD did not create it. |