Bagikan melalui


Mendapatkan log untuk memecahkan masalah layanan data dengan dukungan Azure Arc

Prasyarat

Sebelum melanjutkan, Anda perlu:

Mendapatkan file log

Anda bisa mendapatkan log layanan di semua pod atau pod tertentu untuk tujuan pemecahan masalah. Salah satu caranya adalah dengan menggunakan alat Kubernetes standar seperti kubectl logs perintah. Dalam artikel ini, Anda akan menggunakan Azure (az) CLI ekstensi arcdata, yang mempermudah mendapatkan semua log sekaligus.

Jalankan perintah berikut untuk membuang log:

az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace

Contohnya:

#az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace

Pengontrol data membuat file log di direktori kerja saat ini dalam subdirektori yang disebut logs.

Opsi

Perintah az arcdata dc debug copy-logs menyediakan opsi berikut untuk mengelola output:

  • Keluarkan berkas log ke direktori lain dengan menggunakan parameter --target-folder.
  • Padatkan file dengan menghilangkan parameter --skip-compress.
  • Picu dan sertakan cadangan memori dengan menghilangkan --exclude-dumps. Kami tidak merekomendasikan metode ini kecuali Dukungan Microsoft telah meminta cadangan memori. Mendapatkan cadangan memori mengharuskan pengaturan pengontrol data allowDumps diatur ke true saat pengontrol data dibuat.
  • Filter untuk mengumpulkan log hanya digunakan untuk pod tertentu (--pod) atau kontainer (--container) dengan nama.
  • Filter untuk mengumpulkan log untuk sumber daya kustom tertentu dengan melewati parameter --resource-kind dan --resource-name. Nilai parameter resource-kind harus menjadi salah satu nama definisi sumber daya kustom. Anda dapat mengambil nama tersebut dengan menggunakan perintah kubectl get customresourcedefinition.

Dengan parameter ini, Anda dapat mengganti <parameters> pada contoh berikut:

az arcdata dc debug copy-logs --target-folder <desired folder> --exclude-dumps --skip-compress -resource-kind <custom resource definition name> --resource-name <resource name> --use-k8s --k8s-namespace 

Contohnya:

az arcdata dc debug copy-logs --target-folder C:\temp\logs --exclude-dumps --skip-compress --resource-kind postgresql-12 --resource-name pg1 --use-k8s --k8s-namespace

Hirarki folder berikut adalah contoh. Hierarki diatur oleh nama pod, lalu kontainer, dan kemudian oleh hierarki direktori dalam kontainer.

<export directory>
├───debuglogs-arc-20200827-180403
│   ├───bootstrapper-vl8j2
│   │   └───bootstrapper
│   │       ├───apt
│   │       └───fsck
│   ├───control-j2dm5
│   │   ├───controller
│   │   │   └───controller
│   │   │       ├───2020-08-27
│   │   │       └───2020-08-28
│   │   └───fluentbit
│   │       ├───agent
│   │       ├───fluentbit
│   │       └───supervisor
│   │           └───log
│   ├───controldb-0
│   │   ├───fluentbit
│   │   │   ├───agent
│   │   │   ├───fluentbit
│   │   │   └───supervisor
│   │   │       └───log
│   │   └───mssql-server
│   │       ├───agent
│   │       ├───mssql
│   │       ├───mssql-server
│   │       └───supervisor
│   │           └───log
│   ├───controlwd-ln6j8
│   │   └───controlwatchdog
│   │       └───controlwatchdog
│   ├───logsdb-0
│   │   └───opensearch
│   │       ├───agent
│   │       ├───opensearch
│   │       ├───provisioner
│   │       └───supervisor
│   │           └───log
│   ├───logsui-7gg2d
│   │   └───kibana
│   │       ├───agent
│   │       ├───apt
│   │       ├───fsck
│   │       ├───kibana
│   │       └───supervisor
│   │           └───log
│   ├───metricsdb-0
│   │   └───influxdb
│   │       ├───agent
│   │       ├───influxdb
│   │       └───supervisor
│   │           └───log
│   ├───metricsdc-2f62t
│   │   └───telegraf
│   │       ├───agent
│   │       ├───apt
│   │       ├───fsck
│   │       ├───supervisor
│   │       │   └───log
│   │       └───telegraf
│   ├───metricsdc-jznd2
│   │   └───telegraf
│   │       ├───agent
│   │       ├───apt
│   │       ├───fsck
│   │       ├───supervisor
│   │       │   └───log
│   │       └───telegraf
│   ├───metricsdc-n5vnx
│   │   └───telegraf
│   │       ├───agent
│   │       ├───apt
│   │       ├───fsck
│   │       ├───supervisor
│   │       │   └───log
│   │       └───telegraf
│   ├───metricsui-h748h
│   │   └───grafana
│   │       ├───agent
│   │       ├───grafana
│   │       └───supervisor
│   │           └───log
│   └───mgmtproxy-r5zxs
│       ├───fluentbit
│       │   ├───agent
│       │   ├───fluentbit
│       │   └───supervisor
│       │       └───log
│       └───service-proxy
│           ├───agent
│           ├───nginx
│           └───supervisor
│               └───log
└───debuglogs-kube-system-20200827-180431
    ├───coredns-8bbb65c89-kklt7
    │   └───coredns
    ├───coredns-8bbb65c89-z2vvr
    │   └───coredns
    ├───coredns-autoscaler-5585bf8c9f-g52nt
    │   └───autoscaler
    ├───kube-proxy-5c9s2
    │   └───kube-proxy
    ├───kube-proxy-h6x56
    │   └───kube-proxy
    ├───kube-proxy-nd2b7
    │   └───kube-proxy
    ├───metrics-server-5f54b8994-vpm5r
    │   └───metrics-server
    └───tunnelfront-db87f4cd8-5xwxv
        ├───tunnel-front
        │   ├───apt
        │   └───journal
        └───tunnel-probe
            ├───apt
            ├───journal
            └───openvpn