Getting Envoy's Access Logs

    • Setup Istio by following the instructions in the Installation guide.

    • Deploy the sample app to use as a test source for sending requests.If you haveautomatic sidecar injectionenabled, run the following command to deploy the sample app:

    Otherwise, manually inject the sidecar before deploying the sleep application with the following command:

    Zip

      You can use any pod with curl installed as a test source.

      • Set the SOURCE_POD environment variable to the name of your source pod:
      1. $ export SOURCE_POD=$(kubectl get pod -l app=sleep -o jsonpath={.items..metadata.name})
      • Start the sample.

      If you have enabled automatic sidecar injection, deploy the httpbin service:

      Otherwise, you have to manually inject the sidecar before deploying the httpbin application:

      1. $ kubectl apply -f <(istioctl kube-inject -f @samples/httpbin/httpbin.yaml@)

      Edit the istio configuration map:

      1. $ istioctl manifest apply --set values.global.proxy.accessLogFile="/dev/stdout"
      2. configmap "istio" replaced

      You can also choose between JSON and text by setting to JSON or TEXT.

      You may also want to customize theformat of the access log by editing accessLogFormat.

      All three of these parameters may also be configured via :

      • global.proxy.accessLogFile
      • global.proxy.accessLogEncoding
      • Send a request from sleep to httpbin:
      • Check sleep’s log:
      1. $ kubectl logs -l app=sleep -c istio-proxy
      2. [2019-03-06T09:31:27.354Z] "GET /status/418 HTTP/1.1" 418 - "-" 0 135 11 10 "-" "curl/7.60.0" "d209e46f-9ed5-9b61-bbdd-43e22662702a" "httpbin:8000" "172.30.146.73:80" outbound|8000||httpbin.default.svc.cluster.local - 172.21.13.94:8000 172.30.146.82:60290 -
      • Check ’s log:
      1. $ kubectl logs -l app=httpbin -c istio-proxy
      2. [2019-03-06T09:31:27.360Z] "GET /status/418 HTTP/1.1" 418 - "-" 0 135 5 2 "-" "curl/7.60.0" "d209e46f-9ed5-9b61-bbdd-43e22662702a" "httpbin:8000" "127.0.0.1:80" inbound|8000|http|httpbin.default.svc.cluster.local - 172.30.146.73:80 172.30.146.82:38618 outbound_.8000_._.httpbin.default.svc.cluster.local

      Note that the messages corresponding to the request appear in logs of the Istio proxies of both the source and the destination, sleep and httpbin, respectively. You can see in the log the HTTP verb (GET), the HTTP path (/status/418), the response code (418) and other request-related information.

      Shutdown the and httpbin services:

      Zip

      Edit the istio configuration map and set accessLogFile to "".

      1. $ istioctl manifest apply

      Mixer Adapter Model

      Provides an overview of Mixer's plug-in architecture.

      This task shows you how to configure Istio to collect and customize logs.

      Collecting Metrics

      This task shows you how to configure Istio to collect and customize metrics.

      This task shows you how to configure Istio to collect metrics for TCP services.

      Jaeger