การจัดการงานเป็นปัจจัยสำคัญสำหรับผู้ดูแลระบบ และเมื่อทำงานกับระบบที่ซับซ้อน เช่น Elasticsearch คุณจะต้องตรวจสอบงานบางอย่าง”
ให้เราอธิบายสิ่งที่ API นี้สร้างขึ้นและวิธีที่จะช่วยให้คุณเป็นผู้ดูแลระบบ sys
หมายเหตุ: ขึ้นอยู่กับการกำหนดค่าคลัสเตอร์และการตั้งค่าความปลอดภัย API นี้อาจต้องใช้สิทธิ์ของจอภาพ
ขอไวยากรณ์
ต่อไปนี้แสดงไวยากรณ์สำหรับส่งคำขอไปยัง API การจัดการงาน
รับ / _tasks /< task_id >
รับ / _tasks
เมื่อคุณขอ API คำสั่งควรส่งคืนข้อมูลโดยละเอียดเกี่ยวกับงานปัจจุบันหรืองานที่มี ID ที่ระบุ
ขอพารามิเตอร์เส้นทาง
คำขอรองรับพารามิเตอร์เส้นทางเดียว:
-
– ค่า ID เฉพาะสำหรับงานที่คุณต้องการดึงข้อมูล ID งานตามรูปแบบ node_id:task_number
ขอพารามิเตอร์แบบสอบถาม
ในการกำหนดลักษณะการทำงานและรูปแบบการส่งคืนของแบบสอบถาม คุณสามารถระบุพารามิเตอร์ต่อไปนี้:
- การดำเนินการ – กำหนดชุดของการดำเนินการที่ใช้ในการจำกัดคำขอ ที่นี่ คุณสามารถกำหนดการดำเนินการเป็นรายการค่าที่คั่นด้วยเครื่องหมายจุลภาค
- รายละเอียด – นี่คือพารามิเตอร์บูลีนที่กำหนดว่าคำขอจะแสดงข้อมูลโดยละเอียดเกี่ยวกับการกู้คืนชาร์ดหรือไม่ ตัวเลือกนี้มีค่าเริ่มต้นเป็น false
- Group_by – ตั้งค่าคีย์ที่ใช้จัดกลุ่มงานจากการตอบกลับ ค่าที่ยอมรับ ได้แก่
- โหนด – รหัสโหนด
- ผู้ปกครอง – รหัสผู้ปกครอง
- โหนด - ไม่จัดกลุ่ม
- Node_id – กำหนดโหนดหรือรายการโหนดที่จะดึงข้อมูล
- parent_task_id – กำหนด ID หลักที่ใช้ในการกรองข้อมูลการตอบกลับ หากต้องการแสดงงานทั้งหมด ให้ระบุ parent_task_id เป็น -1
- master_timeout – ระบุระยะเวลาที่คำขอรอการเชื่อมต่อกับโหนดหลัก หากคำขอไม่ได้รับการตอบกลับจากต้นแบบหลังจากผ่านระยะเวลา master_timeout ไปแล้ว คำขอจะล้มเหลวและส่งคืนข้อผิดพลาด ระยะเวลาเริ่มต้นถูกตั้งไว้ที่ 30 วินาที
- หมดเวลา – คล้ายกับ master_timeout แต่ค่านี้กำหนดระยะเวลาที่จะรอการตอบสนองใดๆ
- 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 นี้ช่วยให้เราสามารถดึงข้อมูลเกี่ยวกับงานที่กำลังดำเนินการอยู่ในคลัสเตอร์
ไชโย!! และฉันจะจับคุณในครั้งต่อไป