【Istio】istio-proxy(Envoy)のログを確認する

はじめに

Istioを利用してistio-proxy(Envoy)をPodのサイドカーとして追加している場合に、istio-proxyのログを確認する方法を紹介します。

コマンド

下記のコマンドでistio-proxyのログが確認できます。

kubectl logs <pod name> -c istio-proxy

実際にログを確認してみる

ここからは試しにサンプルアプリでログを確認してみます。

サンプルとして利用するアプリはIstioのリポジトリにある下記のアプリになります。

istio/samples/bookinfo at master · istio/istio
Connect, secure, control, and observe services. Contribute to istio/istio development by creating an account on GitHub.

まずはIstioをインストールします。

istioctl install --set profile=demo -y

istio-proxyが追加される設定を有効化します。

kubectl label namespace default istio-injection=enabled

マニフェストを適用して、アプリをデプロイします。

kubectl apply -f bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f bookinfo/networking/bookinfo-gateway.yaml

ポートとURLの環境変数を設定します。

export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
export INGRESS_HOST=127.0.0.1
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT

ポートフォワードしてローカルからアクセスできるようにします。

kubectl -n istio-system port-forward svc/istio-ingressgateway $INGRESS_PORT:80

下記のコマンドで表示されるURLにブラウザやcurlコマンドでアクセスします。

❯ echo "http://$GATEWAY_URL/productpage"
"http://127.0.0.1:30939/productpage"

ログを確認するPodの名前を確認します。

❯ kubectl get pod
NAME                              READY   STATUS    RESTARTS   AGE
details-v1-79f774bdb9-4m6fx       2/2     Running   0          17m
productpage-v1-6b746f74dc-jz5cw   2/2     Running   0          17m
ratings-v1-b6994bb9-t7fb8         2/2     Running   0          17m
reviews-v1-545db77b95-h795v       2/2     Running   0          17m
reviews-v2-7bf8c9648f-sgjnt       2/2     Running   0          17m
reviews-v3-84779c7bbc-576wv       2/2     Running   0          17m

確認したPod名でistio-proxyのログを確認すると先ほどアクセスした時のログが確認できます。

❯ kubectl logs productpage-v1-6b746f74dc-jz5cw -c istio-proxy
          :
          :
[2022-01-03T13:41:34.908Z] "GET /details/0 HTTP/1.1" 200 - via_upstream - "-" 0 178 122 120 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "details:9080" "10.1.1.240:9080" outbound|9080||details.default.svc.cluster.local 10.1.1.245:40050 10.98.65.87:9080 10.1.1.245:55038 - default
[2022-01-03T13:41:35.057Z] "GET /reviews/0 HTTP/1.1" 200 - via_upstream - "-" 0 295 1596 1594 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "reviews:9080" "10.1.1.242:9080" outbound|9080||reviews.default.svc.cluster.local 10.1.1.245:33828 10.96.6.64:9080 10.1.1.245:38394 - default
[2022-01-03T13:41:34.840Z] "GET /productpage HTTP/1.1" 200 - via_upstream - "-" 0 4183 1887 1860 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "ddf161ff-4e2a-92e6-a31a-6d394423ec33" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:49701 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
[2022-01-03T13:41:36.853Z] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 - via_upstream - "-" 0 121200 89 55 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "1d84999b-a5cc-9b1a-8222-10074a7f7b9e" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:41127 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
[2022-01-03T13:41:36.858Z] "GET /static/bootstrap/css/bootstrap-theme.min.css HTTP/1.1" 200 - via_upstream - "-" 0 23409 95 85 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "72a5fdd0-39ee-91f8-9e8a-6ce8054aed7a" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:60851 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
[2022-01-03T13:41:36.966Z] "GET /static/bootstrap/js/bootstrap.min.js HTTP/1.1" 200 - via_upstream - "-" 0 37045 18 13 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "e4593f99-2738-919a-a10e-e97aba3e296d" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:35073 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default
[2022-01-03T13:41:36.975Z] "GET /static/jquery.min.js HTTP/1.1" 200 - via_upstream - "-" 0 89493 23 19 "10.1.1.238" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" "6e9cbe80-822f-944e-87c5-23c82db603db" "127.0.0.1:30939" "10.1.1.245:9080" inbound|9080|| 127.0.0.6:51299 10.1.1.245:9080 10.1.1.238:0 outbound_.9080_._.productpage.default.svc.cluster.local default

参考

タイトルとURLをコピーしました