Διαχείριση εργασιών Elasticsearch

Diacheirise Ergasion Elasticsearch



«Σε αυτήν την ανάρτηση, θα δούμε ένα από τα πειραματικά API του Elasticsearch (τη στιγμή που γράφουμε αυτόν τον οδηγό) που μας δίνει τη δυνατότητα να προβάλλουμε πληροφορίες σχετικά με τις τρέχουσες εργασίες σε ένα σύμπλεγμα.

Η διαχείριση εργασιών είναι ένας τεράστιος παράγοντας για κάθε διαχειριστή και όταν εργάζεστε με ένα περίπλοκο σύστημα όπως το Elasticsearch, θα χρειαστεί να κάνετε κάποια παρακολούθηση εργασιών.»

Ας καλύψουμε τι συνεπάγεται αυτό το API και πώς μπορεί να σας βοηθήσει ως διαχειριστή συστήματος.







ΣΗΜΕΙΩΣΗ: Ανάλογα με τη διαμόρφωση του συμπλέγματος και τις ρυθμίσεις ασφαλείας, αυτό το API ενδέχεται να απαιτεί δικαιώματα παρακολούθησης.



Αίτημα Σύνταξης

Το παρακάτω δείχνει τη σύνταξη για την αποστολή της αίτησης στο API διαχείρισης εργασιών.



ΠΑΙΡΝΩ / _καθήκοντα /< task_id >

ΠΑΙΡΝΩ / _καθήκοντα

Μόλις ζητήσετε το API, η εντολή θα πρέπει να επιστρέψει λεπτομερείς πληροφορίες σχετικά με τις τρέχουσες εργασίες ή την εργασία με το καθορισμένο αναγνωριστικό.





Αίτημα παραμέτρων διαδρομής

Το αίτημα υποστηρίζει μία παράμετρο διαδρομής:

  • – μια μοναδική τιμή αναγνωριστικού για την εργασία της οποίας τις πληροφορίες θέλετε να ανακτήσετε. Το αναγνωριστικό εργασίας ακολουθεί το μοτίβο node_id:task_number.

Αίτημα παραμέτρων ερωτήματος

Για να προσαρμόσετε τη συμπεριφορά και τη μορφή επιστροφής του ερωτήματος, μπορείτε να καθορίσετε τις ακόλουθες παραμέτρους:



  1. Ενέργειες – ορίζει ένα σύνολο ενεργειών που χρησιμοποιούνται για τον περιορισμό του αιτήματος. Εδώ, μπορείτε να ορίσετε τις ενέργειες ως μια λίστα τιμών διαχωρισμένων με κόμματα.
  2. Λεπτομερής – αυτή είναι μια παράμετρος Boolean που καθορίζει εάν το αίτημα εμφανίζει λεπτομερείς πληροφορίες σχετικά με τις ανακτήσεις θραυσμάτων ή όχι. Αυτή η επιλογή είναι από προεπιλογή ψευδής
  3. Group_by – ορίζει τα πλήκτρα που χρησιμοποιούνται για την ομαδοποίηση των εργασιών από την απάντηση. Οι αποδεκτές τιμές περιλαμβάνουν:
    • Κόμβοι – αναγνωριστικό κόμβου.
    • Γονείς – ταυτότητα γονέα.
    • Κόμβος - να μην γίνεται ομαδοποίηση.
  4. Node_id – ορίζει τον κόμβο ή μια λίστα κόμβων από τους οποίους θα ληφθούν οι πληροφορίες.
  5. parent_task_id – ορίζει το γονικό ID που χρησιμοποιείται για το φιλτράρισμα των πληροφοριών απόκρισης. Για να εμφανίσετε όλες τις εργασίες, καθορίστε το parent_task_id ως -1.
  6. master_timeout – καθορίζει τη διάρκεια κατά την οποία το αίτημα περιμένει για σύνδεση με τον κύριο κόμβο. Εάν το αίτημα δεν λάβει απάντηση από τον κύριο μετά την πάροδο της διάρκειας master_timeout, αποτυγχάνει και επιστρέφει ένα σφάλμα. Η προεπιλεγμένη διάρκεια έχει οριστεί στα 30 δευτερόλεπτα.
  7. Χρονικό όριο – παρόμοιο με το master_timeout, αλλά αυτή η τιμή καθορίζει τη διάρκεια στην οποία πρέπει να περιμένετε για οποιαδήποτε απάντηση.
  8. Wait_for_completion – εάν αληθεύει, το αίτημα μπλοκάρεται μέχρι να τερματιστεί η λειτουργία. Προεπιλογές σε ψευδές.

Απάντηση

Εάν είναι επιτυχής, το αίτημα θα επιστρέψει λεπτομερείς πληροφορίες σχετικά με την καθορισμένη εργασία ή εργασίες. Εάν η εργασία δεν βρεθεί, το αίτημα επιστρέφει έναν κωδικό κατάστασης 404.

Παράδειγμα χρήσης

Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε το API διαχείρισης εργασιών για να εμφανίσετε πληροφορίες σχετικά με όλες τις εργασίες που εκτελούνται στο σύμπλεγμα (όλοι οι κόμβοι).

μπούκλα -XGET “http://localhost:9200/_tasks” 'kbn-xsrf: αναφορά'

Το αίτημα θα πρέπει να παρέχει πληροφορίες σχετικά με τις εργασίες στο σύμπλεγμα, όπως φαίνεται στην παρακάτω έξοδο:

Παράδειγμα 2

Στο επόμενο παράδειγμα, χρησιμοποιούμε την παράμετρο nodes για να περιορίσουμε την απόκριση μόνο στις εργασίες που εκτελούνται στον κόμβο slave_1

μπούκλα -XGET “http://localhost:9200/_tasks?nodes=slave_1” 'kbn-xsrf: αναφορά'

Αυτό θα πρέπει να επιστρέψει τις εργασίες στον καθορισμένο κόμβο όπως φαίνεται στην παρακάτω έξοδο:

'καθήκοντα' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'κόμβος' : 'σκλάβος_1' ,
'ταυτότητα' : 1651265 ,
'τύπος' : 'μεταφορά' ,
'δράση' : 'indices:monitor/fleet/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'ακυρώσιμο' : ψεύτικο,
'κεφαλίδες' : {
'X-elastic-product-origin' : 'στόλος'
}
}

Παράδειγμα 3

Στο παράδειγμα 3, χρησιμοποιούμε το API διαχείρισης εργασιών για να εμφανίσουμε πληροφορίες σχετικά με την εργασία με το καθορισμένο αναγνωριστικό:

μπούκλα -XGET “http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” 'kbn-xsrf: αναφορά'

Οι πληροφορίες εργασίας εξόδου είναι όπως φαίνεται:

Παράδειγμα 4

Για να εμφανίσετε λεπτομερείς πληροφορίες σχετικά με την εργασία, προσθέστε τη λεπτομερή παράμετρο στο αίτημα όπως φαίνεται:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
μπούκλα -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Αυτό θα πρέπει να παρέχει πρόσθετες πληροφορίες σχετικά με τις εργασίες:

συμπέρασμα

Αυτή η ανάρτηση εξερευνήθηκε πώς να χρησιμοποιήσετε το API διαχείρισης εργασιών στο Elasticsearch. Αυτό το API μας επιτρέπει να ανακτούμε πληροφορίες σχετικά με εργασίες που εκτελούνται αυτήν τη στιγμή στο σύμπλεγμα.

Στην υγειά σας!! & Θα σε πιάσω στο επόμενο.