Ikhtisar EventStore

Catatan

Mulai Service Fabric versi 6.4. API EventStore hanya tersedia untuk kluster Windows yang berjalan di Azure saja. Kami sedang berupaya mentransfer fungsi ini ke Linux serta kluster Mandiri kami.

Gambaran Umum

Diperkenalkan dalam versi 6.2, layanan EventStore adalah opsi pemantauan di Service Fabric. EventStore menyediakan cara untuk memahami keadaan kluster atau beban kerja Anda pada titik waktu tertentu. EventStore adalah layanan Service Fabric yang kuat yang menyimpan peristiwa dari kluster. Peristiwa ini dipaparkan melalui Service Fabric Explorer, REST dan API. EventStore mengkueri kluster secara langsung untuk mendapatkan data diagnostik pada entitas apa pun di kluster Anda dan harus digunakan untuk membantu:

  • Mendiagnosis masalah dalam pengembangan atau pengujian, atau tempat Anda mungkin menggunakan alur pemantauan
  • Mengkonfirmasikan bahwa tindakan manajemen yang Anda lakukan pada kluster Anda sedang diproses dengan benar
  • Mendapatkan "rekam jepret" tentang bagaimana Service Fabric berinteraksi dengan entitas tertentu

Cuplikan layar memperlihatkan tab PERISTIWA di panel Node beberapa peristiwa, termasuk peristiwa NodeDown.

Untuk melihat daftar lengkap peristiwa yang tersedia di EventStore, lihat Peristiwa Service Fabric.

Catatan

Mulai Service Fabric versi 6.4. API EventStore dan UX umumnya tersedia untuk kluster Windows Azure. Kami sedang berupaya mentransfer fungsi ini ke Linux serta kluster Mandiri kami.

Layanan EventStore dapat dikueri untuk peristiwa yang tersedia untuk setiap entitas dan jenis entitas di kluster Anda. Ini berarti Anda bisa membuat kueri untuk peristiwa pada tingkat berikut:

  • Kluster: peristiwa khusus untuk kluster itu sendiri (misalnya peningkatan kluster)
  • Node: semua peristiwa tingkat node
  • Node: peristiwa khusus untuk satu node, diidentifikasi oleh nodeName
  • Aplikasi: semua peristiwa tingkat aplikasi
  • Aplikasi: peristiwa khusus untuk satu aplikasi yang diidentifikasi oleh applicationId
  • Layanan: peristiwa dari semua layanan di kluster Anda
  • Layanan: peristiwa dari layanan tertentu yang diidentifikasi oleh serviceId
  • Partisi: peristiwa dari semua partisi
  • Partisi: peristiwa dari partisi tertentu yang diidentifikasi oleh partitionId
  • Replika Partisi: peristiwa dari semua replika/instans dalam partisi tertentu yang diidentifikasi oleh partitionId
  • Replika Partisi: peristiwa dari replika/instans tertentu yang diidentifikasi oleh replicaId dan partitionId

Untuk mempelajari lebih lanjut tentang API, lihat referensi API EventStore.

Layanan EventStore juga memiliki kemampuan untuk mengkorelasikan peristiwa di kluster Anda. Dengan melihat peristiwa yang ditulis pada saat yang sama dari entitas yang berbeda yang mungkin berdampak satu sama lain, layanan EventStore dapat menautkan peristiwa ini untuk membantu mengidentifikasi penyebab aktivitas di kluster Anda. Misalnya, jika salah satu aplikasi Anda menjadi tidak sehat tanpa perubahan yang diinduksi, EventStore juga akan melihat peristiwa lain yang diekspos oleh platform dan dapat menghubungkan ini dengan peristiwa Error atau Warning. Ini akan membantu dengan deteksi kegagalan yang lebih cepat dan analisis penyebab akar.

Aktifkan EventStore di kluster Anda

Kluster lokal

Di fabricSettings.json di kluster Anda, tambahkan EventStoreService sebagai fitur addOn dan lakukan peningkatan kluster.

    "addOnFeatures": [
        "EventStoreService"
    ],

Kkluster Azure versi 6.5+

Jika kluster Azure Anda ditingkatkan ke versi 6.5 atau yang lebih tinggi, EventStore akan diaktifkan secara otomatis di kluster Anda. Untuk memilih keluar, Anda perlu memperbarui templat kluster Anda dengan yang berikut ini:

  • Menggunakan versi API dari 2019-03-01 atau yang lebih baru
  • Menambahkan kode berikut ke bagian properti di kluster Anda
      "fabricSettings": [
        …
      ],
      "eventStoreServiceEnabled": false
    

Kluster Azure versi 6.4

Jika Anda menggunakan versi 6.4, Anda dapat mengedit templat Azure Resource Manager untuk mengaktifkan layanan EventStore. Ini dilakukan dengan melakukan peningkatan konfigurasi kluster dan menambahkan kode berikut, Anda dapat menggunakan PlacementConstraints untuk menempatkan replika layanan EventStore pada NodeType tertentu misalnya NodeType khusus untuk layanan sistem. Bagian upgradeDescription mengonfigurasi peningkatan konfigurasi untuk memicu mulai ulang pada node. Anda dapat menghapus bagian di pembaruan lain.

    "fabricSettings": [
          …
          …
          …,
         {
            "name": "EventStoreService",
            "parameters": [
              {
                "name": "TargetReplicaSetSize",
                "value": "3"
              },
              {
                "name": "MinReplicaSetSize",
                "value": "1"
              },
              {
                "name": "PlacementConstraints",
                "value": "(NodeType==<node_type_name_here>)"
              }
            ]
          }
        ],
        "upgradeDescription": {
          "forceRestart": true,
          "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807",
          "healthCheckWaitDuration": "00:01:00",
          "healthCheckStableDuration": "00:01:00",
          "healthCheckRetryTimeout": "00:5:00",
          "upgradeTimeout": "1:00:00",
          "upgradeDomainTimeout": "00:10:00",
          "healthPolicy": {
            "maxPercentUnhealthyNodes": 100,
            "maxPercentUnhealthyApplications": 100
          },
          "deltaHealthPolicy": {
            "maxPercentDeltaUnhealthyNodes": 0,
            "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0,
            "maxPercentDeltaUnhealthyApplications": 0
          }
        }

Langkah berikutnya