Κοινή χρήση μέσω


Συλλογή αρχείων καταγραφής και μετρικών των εφαρμογών σας Apache Spark με χρήση πλήμνων συμβάντων του Azure (προεπισκόπηση)

Η επέκταση διαγνωστικού πομπού Fabric Apache Spark είναι μια βιβλιοθήκη που επιτρέπει στις εφαρμογές Apache Spark να εκπέμπουν αρχεία καταγραφής, αρχεία καταγραφής συμβάντων και μετρικά σε διάφορους προορισμούς, όπως το Azure Log Analytics, την Υπηρεσία αποθήκευσης Azure και τους Διανομείς συμβάντων Azure.

Σε αυτή την εκμάθηση, θα μάθετε πώς μπορείτε να χρησιμοποιήσετε την επέκταση διαγνωστικού πομπού Fabric Apache Spark για να στείλετε αρχεία καταγραφής εφαρμογών Apache Spark, αρχεία καταγραφής συμβάντων και μετρικά στα Κέντρα συμβάντων azure.

Συλλογή αρχείων καταγραφής και μετρικών στα Κέντρα συμβάντων azure

Βήμα 1: Δημιουργία παρουσίας πλήμνων συμβάντων του Azure

Για τη συλλογή αρχείων καταγραφής διαγνωστικού ελέγχου και μετρικών, μπορείτε να χρησιμοποιήσετε μια υπάρχουσα παρουσία Κέντρου συμβάντων Azure. Εάν δεν έχετε, μπορείτε να δημιουργήσετε ένα κέντρο συμβάντων.

Βήμα 2: Δημιουργία ενός αντικειμένου σχεδίασης περιβάλλοντος Fabric με ρύθμιση παραμέτρων Apache Spark

Επιλογή 1: Ρύθμιση παραμέτρων με τη συμβολοσειρά σύνδεσης κέντρου συμβάντων Azure

  1. Δημιουργία ενός αντικειμένου σχεδίασης περιβάλλοντος Fabric στο Fabric

  2. Προσθέστε τις ακόλουθες ιδιότητες Spark με τις κατάλληλες τιμές στο αντικείμενο σχεδίασης περιβάλλοντος ή επιλέξτε Προσθήκη από .yml στην κορδέλα για να κάνετε λήψη του δείγματος αρχείου yaml που περιέχει ήδη τις ακόλουθες ιδιότητες.

    spark.synapse.diagnostic.emitters: MyEventHub
    spark.synapse.diagnostic.emitter.MyEventHub.type: "AzureEventHub"
    spark.synapse.diagnostic.emitter.MyEventHub.categories: "Log,EventLog,Metrics"
    spark.synapse.diagnostic.emitter.MyEventHub.secret: <connection-string>
    spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
    

    Συμπληρώστε τις <connection-string> παραμέτρους στο αρχείο ρύθμισης παραμέτρων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ρυθμίσεις παραμέτρων κέντρου συμβάντων του Azure.

Επιλογή 2: Ρύθμιση παραμέτρων με το Azure Key Vault

Σημείωση

Γνωστό ζήτημα: Δεν είναι δυνατή η έναρξη μιας περιόδου λειτουργίας χρησιμοποιώντας την Επιλογή 2 προσωρινά. Προς το παρόν, η αποθήκευση μυστικών στο Key Vault αποτρέπει την έναρξη περιόδων λειτουργίας Spark. Δώστε προτεραιότητα στη ρύθμιση παραμέτρων χρησιμοποιώντας τη μέθοδο που περιγράφεται στην Επιλογή 1.

Βεβαιωθείτε ότι στους χρήστες που υποβάλλουν εφαρμογές Apache Spark εκχωρούνται δικαιώματα ανάγνωσης μυστικού κωδικού. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Παροχή πρόσβασης σε κλειδιά Key Vault, πιστοποιητικά και μυστικούς κωδικούς με έναν έλεγχο πρόσβασης βάσει ρόλων Azure.

Για να ρυθμίσετε τις παραμέτρους του Azure Key Vault για την αποθήκευση του κλειδιού χώρου εργασίας:

  1. Δημιουργήστε και μεταβείτε στον θάλαμο κλειδιών σας στην πύλη Azure.

  2. Στη σελίδα ρυθμίσεων για τον θάλαμο κλειδιών, επιλέξτε Μυστικά και, στη συνέχεια , Δημιουργία/Εισαγωγή.

  3. Στην οθόνη Δημιουργία μυστικού κωδικού επιλέξτε τις ακόλουθες τιμές:

    • Όνομα: Εισαγάγετε ένα όνομα για τον μυστικό κωδικό.
    • Τιμή: Εισαγάγετε το <connection-string> για τον μυστικό κωδικό.
    • Αφήστε τις άλλες τιμές στις προεπιλογές τους. Μετά επιλέξτε Δημιουργία.
  4. Δημιουργήστε ένα αντικείμενο σχεδίασης περιβάλλοντος Fabric στο Fabric.

  5. Προσθέστε τις παρακάτω ιδιότητες Spark. Εναλλακτικά, επιλέξτε Προσθήκη από .yml στην κορδέλα για να κάνετε λήψη του δείγματος αρχείου yaml, το οποίο περιλαμβάνει τις ακόλουθες ιδιότητες Spark.

    spark.synapse.diagnostic.emitters: MyEventHub
    spark.synapse.diagnostic.emitter.MyEventHub.type: "AzureEventHub"
    spark.synapse.diagnostic.emitter.MyEventHub.categories: "Log,EventLog,Metrics"
    spark.synapse.diagnostic.emitter.MyEventHub.secret.keyVault: <AZURE_KEY_VAULT_NAME>
    spark.synapse.diagnostic.emitter.MyEventHub.secret.keyVault.secretName: <AZURE_KEY_VAULT_SECRET_KEY_NAME>
    spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
    

    Συμπληρώστε τις παρακάτω παραμέτρους στο αρχείο ρύθμισης παραμέτρων: <AZURE_KEY_VAULT_NAME>, <AZURE_KEY_VAULT_SECRET_KEY_NAME>. Για περισσότερες λεπτομέρειες σχετικά με αυτές τις παραμέτρους, ανατρέξτε στις ρυθμίσεις παραμέτρων των Πλήμνες συμβάντων του Azure.

  6. Αποθηκεύστε και δημοσιεύστε τις αλλαγές.

Βήμα 3: Επισυνάψτε το στοιχείο περιβάλλοντος σε σημειωματάρια ή ορισμούς εργασίας Spark ή ορίστε το ως προεπιλεγμένο χώρο εργασίας

Για να επισυνάψετε το περιβάλλον σε ορισμούς εργασιών Notebooks ή Spark:

  1. Μεταβείτε στον συγκεκριμένο ορισμό εργασίας σημειωματάριου ή Spark στο Fabric.
  2. Επιλέξτε το μενού Περιβάλλον στην Αρχική καρτέλα και επιλέξτε το περιβάλλον με τις ρυθμισμένες ιδιότητες Spark διαγνωστικού ελέγχου.
  3. Η ρύθμιση παραμέτρων εφαρμόζεται κατά την έναρξη μιας περιόδου λειτουργίας Spark.

Για να ορίσετε το περιβάλλον ως προεπιλεγμένο χώρο εργασίας:

  1. Μεταβείτε στην περιοχή Ρυθμίσεις χώρου εργασίας στο Fabric.
  2. Βρείτε τις ρυθμίσεις Spark στις ρυθμίσεις χώρου εργασίας σας (Ρύθμιση χώρου εργασίας -> Μηχανική δεδομένων/Επιστήμη -> Ρυθμίσεις Spark).
  3. Επιλέξτε την καρτέλα Περιβάλλον και επιλέξτε το περιβάλλον με τις παραμέτρους των ιδιοτήτων spark διαγνωστικού ελέγχου και κάντε κλικ στο κουμπί Αποθήκευση.

Σημείωση

Μόνο οι διαχειριστές χώρου εργασίας μπορούν να διαχειρίζονται ρυθμίσεις παραμέτρων χώρου εργασίας. Οι αλλαγές που γίνονται εδώ θα ισχύουν για όλα τα σημειωματάρια και ορισμούς εργασίας Spark που συνδέονται στις ρυθμίσεις χώρου εργασίας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ρυθμίσεις χώρου εργασίας Fabric.

Διαθέσιμες ρυθμίσεις παραμέτρων

Ρύθμιση παραμέτρων Περιγραφή
spark.synapse.diagnostic.emitters Υποχρεωτικό. Τα ονόματα προορισμού διαχωρισμένων με κόμματα των διαγνωστικών εκπομπών.
spark.synapse.diagnostic.emitter.<destination>.type Απαιτείται. Ενσωματωμένος τύπος προορισμού. Για να ενεργοποιήσετε τον προορισμό κέντρου συμβάντων Του Azure, η τιμή θα πρέπει να είναι AzureEventHub.
spark.synapse.diagnostic.emitter.<destination>.categories Προαιρετικό. Τις κατηγορίες αρχείων καταγραφής διαχωρισμένων με κόμματα. Οι διαθέσιμες τιμές περιλαμβάνουν DriverLogτα , ExecutorLog, EventLog, Metrics. Εάν δεν οριστεί, η προεπιλεγμένη τιμή είναι όλες οι κατηγορίες.
spark.synapse.diagnostic.emitter.<destination>.secret Προαιρετικό. Η συμβολοσειρά σύνδεσης παρουσίας Κέντρα συμβάντων Azure. Αυτό το πεδίο θα πρέπει να συμφωνεί με αυτό το μοτίβο Endpoint=sb://<FQDN>/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<PathName>
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault Απαιτείται εάν .secret δεν έχει καθοριστεί. Το όνομα του Θαλάμου κλειδιών Azure όπου αποθηκεύεται ο μυστικός κωδικός (συμβολοσειρά σύνδεσης).
spark.synapse.diagnostic.emitter.<destination>.secret.keyVault.secretName Απαιτείται εάν .secret.keyVault έχει καθοριστεί το . Το όνομα μυστικού θαλάμου κλειδιών Azure όπου αποθηκεύεται ο μυστικός κωδικός (συμβολοσειρά σύνδεσης).
spark.synapse.diagnostic.emitter.<destination>.filter.eventName.match Προαιρετικό. Τα ονόματα των συμβάντων spark διαχωρισμένων με κόμματα, μπορείτε να καθορίσετε ποια συμβάντα θα συλλέγονται. Για παράδειγμα: SparkListenerApplicationStart,SparkListenerApplicationEnd
spark.synapse.diagnostic.emitter.<destination>.filter.loggerName.match Προαιρετικό. Τα ονόματα αρχείων καταγραφής Log4j διαχωρισμένων με κόμματα, μπορείτε να καθορίσετε ποια αρχεία καταγραφής θα συλλέγετε. Για παράδειγμα: org.apache.spark.SparkContext,org.example.Logger
spark.synapse.diagnostic.emitter.<destination>.filter.metricName.match Προαιρετικό. Τα επιθήματα ονόματος μετρικού διαχωρισμένων με κόμματα, μπορείτε να καθορίσετε ποια μετρικά θα συλλέγονται. Για παράδειγμα: jvm.heap.used

Σημείωση

Η συμβολοσειρά σύνδεσης παρουσίας Azure Eventhub θα πρέπει να περιέχει πάντα το EntityPath, το οποίο είναι το όνομα της παρουσίας διανομέων συμβάντων του Azure.

Δείγμα καταγραφής δεδομένων

Ακολουθεί ένα δείγμα εγγραφής αρχείου καταγραφής σε μορφή JSON:

{
  "timestamp": "2024-09-06T03:09:37.235Z",
  "category": "Log|EventLog|Metrics",
  "fabricLivyId": "<fabric-livy-id>",
  "applicationId": "<application-id>",
  "applicationName": "<application-name>",
  "executorId": "<driver-or-executor-id>",
  "fabricTenantId": "<my-fabric-tenant-id>",
  "capacityId": "<my-fabric-capacity-id>",
  "artifactType": "SynapseNotebook|SparkJobDefinition",
  "artifactId": "<my-fabric-artifact-id>",
  "fabricWorkspaceId": "<my-fabric-workspace-id>",
  "fabricEnvId": "<my-fabric-environment-id>",
  "executorMin": "<executor-min>",
  "executorMax": "<executor-max>",
  "isHighConcurrencyEnabled": "true|false",
  "properties": {
    // The message properties of logs, events and metrics.
    "timestamp": "2024-09-06T03:09:37.235Z",
    "message": "Initialized BlockManager: BlockManagerId(1, vm-04b22223, 34319, None)",
    "logger_name": "org.apache.spark.storage.BlockManager",
    "level": "INFO",
    "thread_name": "dispatcher-Executor"
    //...
  }
}

Χώροι εργασίας Fabric με Διαχειριζόμενο εικονικό δίκτυο

Δημιουργήστε ένα διαχειριζόμενο ιδιωτικό τελικό σημείο για τα Κέντρα συμβάντων Azure προορισμού. Για λεπτομερείς οδηγίες, ανατρέξτε στο θέμα Δημιουργία και χρήση διαχειριζόμενων ιδιωτικών τελικών σημείων στο Microsoft Fabric - Microsoft Fabric.

Μετά την έγκριση του διαχειριζόμενου ιδιωτικού τελικού σημείου, οι χρήστες μπορούν να ξεκινήσουν την εκπομπή αρχείων καταγραφής και μετρικών στα Κέντρα συμβάντων azure προορισμού.

Επόμενα βήματα