kubectl get ingress
    pod=`kubectl get pods -n ingress-nginx | grep controller | awk '{print $1}'`
check the CM has been applied
    kubectl -n ingress-nginx exec -ti $pod -- bash
    grep log_format nginx.conf
    grep access_log nginx.conf
    grep error_log nginx.conf
    grep gzip nginx.conf
    #grep brotli nginx.conf
    ^D
notice access and error logs to to std outputs
    kubectl exec -ti $pod -n ingress-nginx -- bash
    ls -lF /var/log/nginx/
    ^D
generate a few access logs with gzip enabled
    curl --compressed -i --resolve hello-world.info:80:192.168.49.2 http://hello-world.info/
# -H "Accept-Encoding: gzip,deflate"
    curl --compressed -i --resolve hello-world.info:80:192.168.49.2 http://hello-world.info/NO-EXIST
note nginx will discard vhosts that it doesn’t know about WITHOUT ANY LOG
#curl --compressed -i http://192.168.49.2/
one could try something nasty e.g. trying to talk SSL on 80/tcp but that doesn’t generate error log either
#curl --compressed -i --resolve hello-world.info:80:192.168.49.2 https://hello-world.info:80/
in the end there’s no easy way to generate error log on ingress-nginx.  you will only get errors on an nginx server while trying to reach a file not found or some file with bad permissions.
let’s get root into minikube (minikube ssh isn’t enough)
docker exec -ti minikube bash
now let’s check the raw logs
    cd /var/log/containers/
    tail -F ingress-nginx-controller*log
    kubectl get ingress
    pod=`kubectl get pods -n ingress-nginx | grep controller | awk '{print $1}'`
access logs should show up as usual over there
    kubectl logs $pod -n ingress-nginx | grep GET
    kubectl logs -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx | grep GET
check that fluent-bit finds out about that log file and can reach the log server just fine (otherwise prints an error)
    kubectl get pods | grep ^fluent
    pod=`kubectl get pods | grep ^fluent | awk '{print $1}'`
    kubectl logs $pod --tail=5
first let’s check local logs
    kubectl exec -ti $pod -- bash
    tail -F /var/log/fluent-bit.std.log
then check pod’s logs
kubectl logs $pod
and finally check the indexing dashboard (==> Discover) for the newly created index (index template need to exist beforehand) – you might also check the dynamic mappings that got generated on-the-fly on that index