Menggunakan Ekstensi Diagnostik Linux untuk memantau performa dan data diagnostik VM Linux

Penting

Komputer virtual klasik akan dihentikan pada 1 Maret 2023.

Jika Anda menggunakan sumber IaaS dari ASM, harap menyelesaikan migrasi sebelum 1 Maret 2023. Kami mendorong Anda untuk beralih lebih cepat untuk memanfaatkan banyak peningkatan fitur di Azure Resource Manager.

Untuk mengetahui informasi selengkapnya, lihat Migrasikan sumber IaaS Anda ke Azure Resource Manager sebelum 1 Maret 2023.

Dokumen ini menjelaskan versi 2.3 dari Linux Diagnostic Extension.

Penting

Versi ini tidak digunakan lagi, dan mungkin tidak diterbitkan kapan saja setelah 30 Juni 2018. Ini telah digantikan oleh versi 3.0. Untuk informasi selengkapnya, lihat dokumentasi untuk ekstensi Diagnostik Linux versi 3.0.

Pengantar

(Catatan: Ekstensi Diagnostik Linux bersumber terbuka di GitHub tempat informasi terbaru tentang ekstensi pertama kali diterbitkan. Anda mungkin ingin memeriksa halaman GitHub terlebih dahulu.)

Ekstensi Diagnostik Linux membantu pengguna memantau VM Linux yang berjalan di Microsoft Azure. Linux diagnostic extension memiliki kemampuan berikut:

  • Mengumpulkan dan mengunggah informasi performa sistem dari VM Linux ke tabel penyimpanan pengguna, termasuk informasi diagnostik dan syslog.
  • Memungkinkan pengguna untuk menyesuaikan metrik data yang akan dikumpulkan dan diunggah.
  • Memungkinkan pengguna untuk mengunggah file log tertentu ke tabel penyimpanan yang ditentukan.

Dalam versi 2.3 saat ini, data mencakup:

Ekstensi ini berfungsi dengan model penyebaran klasik dan Resource Manager.

Versi ekstensi dan penghentian versi lama saat ini

Versi terbaru ekstensi ini adalah 2.3, dan versi lama apa pun (2.0, 2.1, dan 2.2) akan ditolak dan tidak diterbitkan pada akhir tahun ini (2017). Jika Anda menginstal ekstensi Diagnostik Linux dengan peningkatan versi minor otomatis dinonaktifkan, sangat disarankan agar Anda menghapus instalan ekstensi dan menginstalnya kembali dengan peningkatan versi minor otomatis diaktifkan. Pada VM klasik (ASM), Anda dapat mencapai ini dengan menentukan '2.*' sebagai versi jika Anda menginstal ekstensi melalui Azure XPLAT CLI atau Powershell. Pada VM ARM, Anda dapat mencapai ini dengan menyertakan '"autoUpgradeMinorVersion": true' dalam templat penyebaran VM. Selain itu, penginstalan ekstensi baru harus mengaktifkan opsi peningkatan versi minor otomatis.

Aktifkan ekstensi

Anda dapat mengaktifkan ekstensi ini dengan menggunakan skrip portal Azure, Azure PowerShell, atau Azure CLI.

Untuk melihat dan mengonfigurasi sistem dan data performa langsung dari portal Azure, ikuti langkah-langkah ini di blog Azure.

Artikel ini berfokus pada cara mengaktifkan dan mengonfigurasi ekstensi dengan menggunakan perintah Azure CLI. Ini memungkinkan Anda untuk membaca dan melihat data langsung dari tabel penyimpanan.

Perhatikan bahwa metode konfigurasi yang dijelaskan di sini tidak akan berfungsi untuk portal Azure. Untuk melihat dan mengonfigurasi sistem dan data performa langsung dari portal Azure, ekstensi harus diaktifkan melalui portal.

Prasyarat

  • Azure Linux Agent versi 2.0.6 atau yang lebih baru.

    Perhatikan bahwa sebagian besar gambar galeri Azure VM Linux menyertakan versi 2.0.6 atau yang lebih baru. Anda dapat menjalankan WAAgent -version untuk mengonfirmasi versi mana yang diinstal pada VM. Jika VM menjalankan versi yang lebih lama dari 2.0.6, Anda dapat mengikuti ini di GitHub untuk memperbaruinya.

  • Azure CLI. Ikuti panduan ini untuk menginstal CLI untuk menyiapkan lingkungan Azure CLI di komputer Anda. Setelah Azure CLI diinstal, Anda dapat menggunakan perintah azure dari antarmuka baris perintah (Bash, Terminal, atau prompt perintah) untuk mengakses perintah Azure CLI. Contohnya:

    • Jalankan set ekstensi azure vm --help untuk informasi bantuan terperinci.
    • Jalankan masuk azure untuk masuk ke Azure.
    • Jalankan daftar azure vm untuk mencantumkan semua komputer virtual yang Anda miliki di Azure.
  • Akun penyimpanan untuk menyimpan data. Anda akan memerlukan nama akun penyimpanan yang dibuat sebelumnya dan kunci akses untuk mengunggah data ke penyimpanan Anda.

Gunakan perintah Azure CLI untuk mengaktifkan Ekstensi Diagnostik Linux

Skenario 1. Mengaktifkan ekstensi dengan himpunan data default

Di versi 2.3 atau yang lebih baru, data default yang akan dikumpulkan meliputi:

  • Semua informasi Rsyslog (termasuk log sistem, keamanan, dan aplikasi).
  • Sekumpulan data sistem dasar inti. Perhatikan bahwa himpunan data lengkap dijelaskan di situs System Center Cross Platform Solutions. Jika Anda ingin mengaktifkan data tambahan, lanjutkan dengan langkah-langkah dalam Skenario 2 dan 3.

Langkah 1. Buat file bernama PrivateConfig.json dengan konten berikut:

{
    "storageAccountName" : "the storage account to receive data",
    "storageAccountKey" : "the key of the account"
}

Langkah 2. Jalankan set ekstensi azure vm vm_name LinuxDiagnostic Microsoft.OSTCExtensions 2.* --private-config-path PrivateConfig.json.

Skenario 2. Menyesuaikan metrik monitor performa

Bagian ini menjelaskan cara mengkustomisasi performa dan tabel data diagnostik.

Langkah 1. Buat file bernama PrivateConfig.json dengan konten yang dijelaskan dalam Skenario 1. Buat juga file bernama PublicConfig.json. Tentukan data tertentu yang ingin Anda kumpulkan.

Untuk semua penyedia dan variabel yang didukung, referensikan situs System Center Cross Platform Solutions. Anda dapat memiliki beberapa kueri dan menyimpannya dalam beberapa tabel dengan menambahkan lebih banyak kueri ke skrip.

Secara default, data Rsyslog selalu dikumpulkan.

{
      "perfCfg":
      [
          {
              "query" : "SELECT PercentAvailableMemory, AvailableMemory, UsedMemory ,PercentUsedSwap FROM SCX_MemoryStatisticalInformation",
              "table" : "LinuxMemory"
          }
      ]
}

Langkah 2. Jalankan set ekstensi azure vm vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Skenario 3. Mengunggah file log Anda sendiri

Bagian ini menjelaskan cara mengumpulkan dan mengunggah file log tertentu ke akun penyimpanan Anda. Anda perlu menentukan jalur ke file log Anda dan nama tabel tempat Anda ingin menyimpan log Anda. Anda dapat membuat beberapa file log dengan menambahkan beberapa entri file/tabel ke skrip.

Langkah 1. Buat file bernama PrivateConfig.json dengan konten yang dijelaskan dalam Skenario 1. Kemudian buat file lain bernama PublicConfig.json dengan konten berikut:

{
    "fileCfg" :
    [
        {
            "file" : "/var/log/mysql.err",
            "table" : "mysqlerr"
            }
    ]
}

Langkah 2. Jalankan azure vm extension set vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Perhatikan bahwa dengan pengaturan ini pada versi ekstensi sebelum 2.3, semua log yang ditulis /var/log/mysql.err mungkin diduplikasi ke /var/log/syslog (atau /var/log/messages tergantung pada distro Linux) juga. Jika Anda ingin menghindari pengelogan duplikat ini, Anda dapat mengecualikan pengelogan local6 log fasilitas dalam konfigurasi rsyslog Anda. Ini tergantung pada distro Linux, tetapi pada sistem Ubuntu 14.04, file yang akan dimodifikasi adalah /etc/rsyslog.d/50-default.conf dan Anda dapat mengganti baris *.*;auth,authpriv.none -/var/log/syslog ke *.*;auth,authpriv,local6.none -/var/log/syslog. Masalah ini diperbaiki dalam rilis perbaikan terbaru 2.3 (2.3.9007), jadi jika Anda memiliki ekstensi versi 2.3, masalah ini seharusnya tidak terjadi. Jika masih terjadi bahkan setelah menghidupkan ulang VM Anda, silakan hubungi kami dan bantu kami memecahkan masalah mengapa versi perbaikan terbaru tidak diinstal secara otomatis.

Skenario 4. Menghentikan ekstensi mengumpulkan log apa pun

Bagian ini menjelaskan cara menghentikan ekstensi mengumpulkan log. Perhatikan bahwa proses agen pemantauan akan tetap aktif dan berjalan bahkan dengan konfigurasi ulang ini. Jika Anda ingin menghentikan proses agen pemantauan sepenuhnya, Anda dapat melakukannya dengan menonaktifkan ekstensi. Perintah untuk menonaktifkan ekstensi adalah azure vm extension set --disable <vm_name> LinuxDiagnostic Microsoft.OSTCExtensions '2.*'.

Langkah 1. Buat file bernama PrivateConfig.json dengan konten yang dijelaskan dalam Skenario 1. Buat file lain bernama PublicConfig.json dengan konten berikut:

{
    "perfCfg" : [],
    "enableSyslog" : "false"
}

Langkah 2. Jalankan set ekstensi azure vm vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Meninjau data Anda

Data performa dan diagnostik disimpan dalam tabel Azure Storage. Tinjau Cara menggunakan Azure Table Storage dari Ruby untuk mempelajari cara mengakses data dalam tabel penyimpanan dengan menggunakan skrip Azure CLI.

Selain itu, Anda dapat menggunakan alat UI berikut untuk mengakses data:

  1. Penjelajah Server Visual Studio. Buka akun penyimpanan Anda. Setelah VM berjalan selama sekitar lima menit, Anda akan melihat empat tabel default: "LinuxCpu", "LinuxDisk", "LinuxMemory", dan "Linuxsyslog". Klik dua kali nama tabel untuk menampilkan data.
  2. Azure Storage Explorer.

gambar

Jika Anda telah mengaktifkan fileCfg atau perfCfg (seperti yang dijelaskan dalam Skenario 2 dan 3), Anda dapat menggunakan Visual Studio Server Explorer dan Azure Storage Explorer untuk melihat data non-default.

Masalah yang diketahui

  • Informasi Rsyslog dan file log yang ditentukan pelanggan hanya dapat diakses melalui pembuatan skrip.