Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log levels for Istio are not easily configurable and missing documentation #11847

Closed
GregHanson opened this issue Feb 19, 2019 · 6 comments

Comments

4 participants
@GregHanson
Copy link
Member

commented Feb 19, 2019

Describe the bug
Istio control plane and sidecars have options for configuring log verbosity level but are not exposed as something configurable via helm. Also control plane log level requires scope:level and some references in the charts still refer to just a level format.

Gateways include incorrect --log_output_level info example in helm charts:
https://github.com/istio/istio/blob/release-1.1/install/kubernetes/helm/istio/charts/gateways/templates/deployment.yaml#L105

Expected behavior
To be able to configure istio control plane and sidecar proxy log levels via helm.
Envoy proxy instances have --proxyLogLevel trace|debug|info|warning|error|critical|off
Control plane components have different scopes depending on component, but expect to at least be able to configure default log level, i.e. --log_output_level default:warn

@jaredeis

This comment has been minimized.

Copy link

commented Feb 25, 2019

This is an issue for us as we ship logs to Sumologic and istio is very noisy at info level.

@GregHanson

This comment has been minimized.

Copy link
Member Author

commented Feb 25, 2019

/assign ericvn

@GregHanson

This comment has been minimized.

Copy link
Member Author

commented Feb 25, 2019

@jaredeis is the log level issue a problem at the istio control plane, i.e. pilot/mixer/citadel? Or is this a problem at the sidecar log level? Or both? We are working on having a set of helm defaults optimized for performance in 1.1. For example: #11476

@jaredeis

This comment has been minimized.

Copy link

commented Feb 25, 2019

It's mixer that's too noisy for us.

@esnible

This comment has been minimized.

Copy link
Contributor

commented Mar 13, 2019

Is the basic idea to modify the istio-sidecar-injector ConfigMap through Helm allowing choices made in Helm to become --proxyLogLevel args on the sidecar?

Envoy lets the log level be configured dynamically. I use kubectl exec $(kubectl get pod --selector app=httpbin --output jsonpath='{.items[0].metadata.name}') -c istio-proxy -- curl -X POST http://localhost:15000/logging?level=info but would it help users to put this into a CLI command lke istioctl proxy-logging that would perhaps be easier to find and could possibly affect >1 pod in a single invocation?

Envoy exposes loggers: admin, assert, backtrace, client, config, connection, dubbo, file, filter, , grpc, hc, health_checker, http, http2, hystrix, lua, main, misc, mongo, quic, pool, rbac, redis, router, runtime, stats, secret, tap, testing, thrift, tracing, upstream. Do we want an option to customize that?

@GregHanson

This comment has been minimized.

Copy link
Member Author

commented Mar 20, 2019

@esnible I like the idea of adding the proxy-logging command to istioctl. I don't think there needs to be logger type granularity though - it seems like something specific for advanced users whereas configuring all loggers to the same log level would cover the majority of use cases.

To address @jaredeis issue with istio control plane logging verbosity, that needs to be configured via helm. See #12639

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.