Skip to main content

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.read and argocd.logs.read. By default, the Astrolabe administrators.

1. πŸ“‹ Find the object at fault​

  1. Open the component from Catalog, then click the Argo CD tab.
  2. 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:

  1. In Pod, choose the pod (a Deployment or a ReplicaSet can have several).
  2. In Container, choose the container.

The last 200 lines show. Click Refresh to read them again, Copy the logs to paste them elsewhere.

Give the token the right to read logs

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 seeWhat 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.