KB001: How to collect detailed logs from VPC setup

This article explains the proccess that allows to collect logging from all kubernetes pod replicas


Setting the log level

Increase the log level by changing the environment variable EW_OBSERVATORY__LOG_LEVEL to DEBUG in 'values.yaml'.
Apply the setting by deploying the environment variables for helm chart.

Reproduce the error after the change.

Collecting the logs

  1. Find the Deployment's pod label selector (copy the matchLabels)
kubectl -n everworker get deploy everworker -o jsonpath='{.spec.selector.matchLabels}{"\n"}
  1. Use those labels to pull logs from ALL pods (all replicas)
    Example if you saw: {"app":"everworker"}
kubectl -n everworker logs -l app=everworker --all-containers --prefix=true --timestamps=true
  1. Save to a file
kubectl -n everworker logs -l app=everworker --all-containers --prefix=true --timestamps=true > everworker.log
  1. If pods restart, also capture the "previous" logs (per pod)
    (kubectl can't do --previous with -l selector, so loop pods)
for p in $(kubectl -n everworker get pods -l app=everworker -o name); do
  kubectl -n everworker logs ${p#pod/} --all-containers --prefix=true --timestamps=true --previous \
    > "everworker_${p#pod/}_previous.log" 2>&1 || true