การจัดการงาน Elasticsearch

Kar Cadkar Ngan Elasticsearch



“ในโพสต์นี้ เราจะดูหนึ่งใน API ทดลองของ Elasticsearch (ในขณะที่เขียนคู่มือนี้) ที่ช่วยให้เราดูข้อมูลเกี่ยวกับงานที่กำลังทำงานอยู่ในคลัสเตอร์ได้

การจัดการงานเป็นปัจจัยสำคัญสำหรับผู้ดูแลระบบ และเมื่อทำงานกับระบบที่ซับซ้อน เช่น Elasticsearch คุณจะต้องตรวจสอบงานบางอย่าง”

ให้เราอธิบายสิ่งที่ API นี้สร้างขึ้นและวิธีที่จะช่วยให้คุณเป็นผู้ดูแลระบบ sys







หมายเหตุ: ขึ้นอยู่กับการกำหนดค่าคลัสเตอร์และการตั้งค่าความปลอดภัย API นี้อาจต้องใช้สิทธิ์ของจอภาพ



ขอไวยากรณ์

ต่อไปนี้แสดงไวยากรณ์สำหรับส่งคำขอไปยัง API การจัดการงาน



รับ / _tasks /< task_id >

รับ / _tasks

เมื่อคุณขอ API คำสั่งควรส่งคืนข้อมูลโดยละเอียดเกี่ยวกับงานปัจจุบันหรืองานที่มี ID ที่ระบุ





ขอพารามิเตอร์เส้นทาง

คำขอรองรับพารามิเตอร์เส้นทางเดียว:

  • – ค่า ID เฉพาะสำหรับงานที่คุณต้องการดึงข้อมูล ID งานตามรูปแบบ node_id:task_number

ขอพารามิเตอร์แบบสอบถาม

ในการกำหนดลักษณะการทำงานและรูปแบบการส่งคืนของแบบสอบถาม คุณสามารถระบุพารามิเตอร์ต่อไปนี้:



  1. การดำเนินการ – กำหนดชุดของการดำเนินการที่ใช้ในการจำกัดคำขอ ที่นี่ คุณสามารถกำหนดการดำเนินการเป็นรายการค่าที่คั่นด้วยเครื่องหมายจุลภาค
  2. รายละเอียด – นี่คือพารามิเตอร์บูลีนที่กำหนดว่าคำขอจะแสดงข้อมูลโดยละเอียดเกี่ยวกับการกู้คืนชาร์ดหรือไม่ ตัวเลือกนี้มีค่าเริ่มต้นเป็น false
  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 การจัดการงานเพื่อแสดงข้อมูลเกี่ยวกับงานทั้งหมดที่ทำงานอยู่ในคลัสเตอร์ (โหนดทั้งหมด)

curl -XGET “http://localhost:9200/_tasks” -ชม 'kbn-xsrf: กำลังรายงาน'

คำขอควรให้ข้อมูลเกี่ยวกับงานในคลัสเตอร์ ดังแสดงในผลลัพธ์ด้านล่าง:

ตัวอย่าง 2

ในตัวอย่างต่อไป เราใช้พารามิเตอร์ nodes เพื่อจำกัดการตอบสนองเฉพาะงานที่กำลังทำงานอยู่ในโหนด slave_1

curl -XGET “http://localhost:9200/_tasks?nodes=slave_1” -ชม 'kbn-xsrf: กำลังรายงาน'

สิ่งนี้ควรส่งคืนงานในโหนดที่ระบุดังแสดงในผลลัพธ์ด้านล่าง:

'งาน' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'โหนด' : 'ทาส_1' ,
'ไอดี' : 1651265 ,
'พิมพ์' : 'ขนส่ง' ,
'การกระทำ' : 'ดัชนี:monitor/fleet/global_checkpoints' ,
'start_time_in_millis' : 166214054489 ,
'running_time_in_nanos' : 94450056094 ,
'ยกเลิกได้' : เท็จ,
'ส่วนหัว' : {
'X-elastic-product-ต้นกำเนิด' : 'กองเรือ'
}
}

ตัวอย่างที่ 3

ในตัวอย่างที่ 3 เราใช้ API การจัดการงานเพื่อแสดงข้อมูลเกี่ยวกับงานด้วย ID ที่ระบุ:

curl -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 นี้ช่วยให้เราสามารถดึงข้อมูลเกี่ยวกับงานที่กำลังดำเนินการอยู่ในคลัสเตอร์

ไชโย!! และฉันจะจับคุณในครั้งต่อไป