🔍
AKS の情報採取ツール (AKS Periscope) を試してみた
Azure 関連の Blog にて、AKS Periscope なるものを初めて知りました。
GitHub の情報を見るに、AKS のノード情報をごっそり取得してくれるツールのようです。
ちょうど今、AKS の勉強をしているところだったので、試してみました。
インストール&実行方法
インストール自体は、こちらにあるように Storage Account を用意して、下記のように Cloud Shell から実行するだけです。なお、az aks kollect
に要する時間は1分かからないくらいでした。
az extension add --name aks-preview
az aks kollect -g <Resource Group Name> -n <AKS Cluster Name> --storage-account <Storage Account Name>
namespace の指定などは個別にオプションがあるので、そのあたりは GitHub などのページを参照してください。
実行結果
実行が完了すると、Storage Account 配下にノードごとのフォルダが作成され、それぞれに診断情報が出力されます。
zip ファイルが作成されるので、これをダウンロードするのがローカルでも確認しやすいですね。
上記のコマンドで取得した場合、解凍して TREE コマンドを打つと、下記のような感じになっています。具体的な中身は、試して確認してくださいませ。
├─collector
│ ├─containerlogs
│ │ kube-system_coredns-869cb84759-mpf6k
│ │ kube-system_coredns-869cb84759-qndgk
│ │ kube-system_coredns-autoscaler-5b867494f-p2clj
│ │ kube-system_dashboard-metrics-scraper-56878684f9-tf84x
│ │ kube-system_kube-proxy-ncnpg
│ │ kube-system_kubernetes-dashboard-7f7d6bbd7f-lvqkf
│ │ kube-system_metrics-server-5f4c878d8-5px7h
│ │ kube-system_omsagent-d7lgk
│ │ kube-system_omsagent-rs-b6dcbcd46-7lvsk
│ │ kube-system_tunnelfront-6b7ddc55f6-7sp97
│ │
│ ├─dns
│ │ kubernetes
│ │ virtualmachine
│ │
│ ├─iptables
│ │ iptables
│ │
│ ├─kubeletcmd
│ │ kubeletcmd
│ │
│ ├─kubeobjects
│ │ kube-system_deployment_coredns
│ │ kube-system_deployment_coredns-autoscaler
│ │ kube-system_deployment_dashboard-metrics-scraper
│ │ kube-system_deployment_kubernetes-dashboard
│ │ kube-system_deployment_metrics-server
│ │ kube-system_deployment_omsagent-rs
│ │ kube-system_deployment_tunnelfront
│ │ kube-system_pod_coredns-869cb84759-mpf6k
│ │ kube-system_pod_coredns-869cb84759-qndgk
│ │ kube-system_pod_coredns-autoscaler-5b867494f-p2clj
│ │ kube-system_pod_dashboard-metrics-scraper-56878684f9-tf84x
│ │ kube-system_pod_kube-proxy-hjz8p
│ │ kube-system_pod_kube-proxy-ncnpg
│ │ kube-system_pod_kube-proxy-pmxmg
│ │ kube-system_pod_kubernetes-dashboard-7f7d6bbd7f-lvqkf
│ │ kube-system_pod_metrics-server-5f4c878d8-5px7h
│ │ kube-system_pod_omsagent-d7lgk
│ │ kube-system_pod_omsagent-gq2t6
│ │ kube-system_pod_omsagent-rs-b6dcbcd46-7lvsk
│ │ kube-system_pod_omsagent-zrmls
│ │ kube-system_pod_tunnelfront-6b7ddc55f6-7sp97
│ │ kube-system_service_dashboard-metrics-scraper
│ │ kube-system_service_healthmodel-replicaset-service
│ │ kube-system_service_kube-dns
│ │ kube-system_service_kubernetes-dashboard
│ │ kube-system_service_metrics-server
│ │
│ ├─networkoutbound
│ │ AKS API Server
│ │ AKS Tunnel
│ │ Azure Container Registry
│ │ Internet
│ │ Microsoft Container Registry
│ │
│ ├─nodelogs
│ │ var_log_azure_cluster-provision.log
│ │ var_log_cloud-init.log
│ │
│ ├─systemlogs
│ │ docker
│ │ kubelet
│ │
│ └─systemperf
│ nodes
│ pods
│
└─diagnoser
networkconfig
networkoutbound
こんな感じで、色々な情報をごっそり取得してくれます。
トラブル時に自分でも色々とログから漁ってみる際には、すごく便利なツールだなと思いました!
Discussion