Bagikan melalui


Peristiwa kluster Service Fabric Linux di Syslog

Service Fabric mengekspos serangkaian peristiwa platform untuk memberi tahu Anda tentang aktivitas penting di kluster Anda. Daftar lengkap peristiwa yang diekspos tersedia di sini. Ada berbagai cara di mana peristiwa ini dapat dikonsumsi. Dalam artikel ini, kita akan membahas cara mengonfigurasi Service Fabric untuk menulis peristiwa ini ke Syslog.

Catatan

Artikel ini baru-baru ini diperbarui untuk menggunakan istilah log Azure Monitor alih-alih Analitik Log. Data log masih disimpan di ruang kerja Analitik Log dan masih dikumpulkan dan dianalisis oleh layanan Analitik Log yang sama. Kami memperbarui terminologi untuk mencerminkan peran log di Azure Monitor dengan lebih baik. Lihat Perubahan terminologi Azure Monitor untuk detailnya.

Pendahuluan

Dalam rilis 6.4, SyslogConsumer telah diperkenalkan untuk mengirim peristiwa platform Service Fabric ke Syslog untuk kluster Linux. Setelah diaktifkan, peristiwa akan secara otomatis mengalir ke Syslog yang dapat dikumpulkan dan dikirim oleh Agen Log Analytics.

Setiap peristiwa Syslog memiliki 4 komponen

  • Fasilitas
  • Identitas
  • Pesan
  • Tingkat keparahan

SyslogConsumer menulis semua peristiwa platform menggunakan Local0 Fasilitas. Anda dapat memperbarui ke fasilitas yang valid dengan mengubah konfigurasi. Identitas yang digunakan adalah ServiceFabric. Bidang Pesan berisi seluruh peristiwa yang dimuat berseri di JSON sehingga dapat dikueri dan dikonsumsi oleh berbagai alat.

Aktifkan SyslogConsumer

Untuk mengaktifkan SyslogConsumer, Anda perlu melakukan peningkatan kluster Anda. fabricSettingsBagian ini perlu diperbarui dengan kode berikut. Perhatikan bahwa kode ini hanya berisi bagian yang terkait dengan SyslogConsumer

    "fabricSettings": [
        {
            "name": "Diagnostics",
            "parameters": [
            {
                "name": "ConsumerInstances",
                "value": "AzureWinFabCsv, AzureWinFabCrashDump, AzureTableWinFabEtwQueryable, SyslogConsumer"
            }
            ]
        },
        {
            "name": "SyslogConsumer",
            "parameters": [
            {
                "name": "ProducerInstance",
                "value": "WinFabLttProducer"
            },
            {
            "name": "ConsumerType",
            "value": "SyslogConsumer"
            },
            {
                "name": "IsEnabled",
                "value": "true"
            }
            ]
        },
        {
            "name": "Common",
            "parameters": [
            {
                "name": "LinuxStructuredTracesEnabled",
                "value": "true"
            }
            ]
        }
    ],

Berikut adalah perubahan untuk dipanggil

  1. Di bagian Umum, ada parameter baru yang disebut LinuxStructuredTracesEnabled. Ini diperlukan agar peristiwa Linux terstruktur dan diserialisasikan ketika dikirim ke Syslog.
  2. Di bagian Diagnostik, ConsumerInstance: SyslogConsumer baru telah ditambahkan. Ini memberi tahu platform bahwa ada konsumen lain dari peristiwa tersebut.
  3. Bagian baru SyslogConsumer perlu memiliki IsEnabled sebagai true. Dikonfigurasi untuk menggunakan fasilitas Local0 secara otomatis. Anda dapat menimpa ini dengan menambahkan parameter lain.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Integrasi log Azure Monitor

Anda dapat membaca peristiwa Syslog ini di alat pemantauan seperti log Azure Monitor. Anda dapat membuat ruang kerja Log Analytics menggunakan Azure Marketplace menggunakan [instructions].(../azure-monitor/logs/quick-create-workspace.md) Anda juga perlu menambahkan agen Log Analytics ke kluster Anda untuk mengumpulkan dan mengirim data ini ke ruang kerja. Ini adalah agen yang sama yang digunakan untuk mengumpulkan penghitung performa.

  1. Buka blade Advanced Settings

    Pengaturan Ruang Kerja

  2. Klik Data

  3. Klik Syslog

  4. Konfigurasikan Local0 sebagai Fasilitas yang akan dilacak. Anda dapat menambahkan Fasilitas lain jika Anda mengubahnya di fabricSettings

    Mengonfigurasi Syslog

  5. Buka penjelajah kueri dengan mengklik Logs menu sumber daya ruang kerja untuk mulai mengkueri

    Log ruang kerja

  6. Anda bisa membuat kueri terhadap tabel Syslog yang mencari ServiceFabric sebagai ProcessName. Kueri di bawah ini adalah contoh cara mengurai JSON dalam peristiwa dan menampilkan kontennya

    Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload

Kueri syslog

Contoh di atas adalah peristiwa NodeDown. Anda dapat melihat daftar lengkap peristiwa di sini.

Langkah berikutnya