Elasticsearch รับสถานะสแนปชอต

Elasticsearch Rab Sthana Snaepchxt



บทความนี้สำรวจวิธีที่เราสามารถดึงคำอธิบายโดยละเอียดของชาร์ดแต่ละรายการที่เข้าร่วมในสแนปชอตที่กำหนด

ในการดึงสถานะของสแน็ปช็อตที่กำหนดใน Elasticsearch เราใช้ปลายทาง API รับสถานะสแน็ปช็อต







ขอไวยากรณ์

ไวยากรณ์คำขอมีดังต่อไปนี้:



รับ _snapshot / _สถานะ
รับ _snapshot /< ที่เก็บ >/ _สถานะ
รับ _snapshot /< ที่เก็บ >/< สแนปชอต >/ _สถานะ



คำขอรองรับพารามิเตอร์เส้นทางต่อไปนี้:





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

เราสามารถละเว้นสแน็ปช็อตในพารามิเตอร์คำขอเพื่อดึงข้อมูลเกี่ยวกับสแน็ปช็อตที่กำลังทำงานอยู่

ร่างกายตอบสนอง

คำขอควรส่งคืนข้อมูลโดยละเอียดเกี่ยวกับสแนปชอต ข้อมูลดังกล่าวรวมอยู่ในคำตอบคือ:



  1. ที่เก็บ – ชื่อของที่เก็บที่มีสแน็ปช็อตอยู่
  2. สแนปชอต - ชื่อของสแนปชอต
  3. uuid – UUID ของสแนปชอต
  4. สถานะ – สถานะปัจจุบันของสแนปชอต สแนปชอตสามารถอยู่ในสถานะต่อไปนี้:
  5. ก. ล้มเหลว – สแน็ปช็อตที่เสร็จสิ้นโดยมีข้อผิดพลาดและไม่สามารถกู้คืนข้อมูลที่สำรองไว้
    ข. เริ่ม – ระบุว่าสแน็ปช็อตกำลังทำงานอยู่
    ค. บางส่วน – แสดงว่ากู้คืนสถานะคลัสเตอร์ส่วนกลางแล้ว แต่ข้อมูลของชาร์ดอย่างน้อยหนึ่งรายการล้มเหลวในการจัดเก็บสำเร็จ
    ง. ความสำเร็จ – ระบุว่าสแน็ปช็อตเสร็จสิ้นเรียบร้อยแล้ว

  6. รวม_global_state – ระบุว่าสถานะคลัสเตอร์ส่วนกลางรวมอยู่ในสแน็ปช็อตที่ระบุหรือไม่
  7. Shard_stats - แสดงจำนวนชาร์ด
  8. สถิติ – รายละเอียดเกี่ยวกับจำนวนไฟล์นับและขนาดของไฟล์ในสแน็ปช็อต

นี่คือข้อมูลบางส่วนที่ส่งคืนจากสถานะสแนปชอต

Elasticsearch สร้างสแนปชอต

เพื่อให้เห็นภาพวิธีใช้ Elasticsearch Get snapshot API ได้ดีที่สุด ให้เราสร้างสแน็ปช็อตตัวอย่าง โปรดทราบว่าส่วนนี้ไม่ครอบคลุมพื้นฐานของการสร้างที่เก็บ Elasticsearch หรือข้อกำหนดอื่นๆ สำหรับสแน็ปช็อตของ Elasticsearch

ตรวจสอบเอกสารเพื่อเรียนรู้เพิ่มเติม

สมมติว่าเรามีที่เก็บข้อมูลชื่อ elk_bakcups เราสามารถสร้างสแน็ปช็อตในที่เก็บนั้นด้วยคำขอดังที่แสดงต่อไปนี้:

curl -XPUT 'http://localhost:9200/_snapshot/elk_backups/test_snapshot?wait_for_completion=true' -ชม 'kbn-xsrf: กำลังรายงาน'

คำขอก่อนหน้านี้เริ่มต้นการสร้างสแน็ปช็อตในที่เก็บที่ระบุ

บันทึก : เวลาที่ต้องใช้ในการสร้างสแน็ปช็อตขึ้นอยู่กับปัจจัยหลายประการ

Elasticsearch รับสถานะสแนปชอต

เมื่อเราเริ่มต้นกระบวนการสร้างสแนปชอตแล้ว เราจะสามารถตรวจสอบสถานะได้โดยเรียกใช้แบบสอบถามต่อไปนี้:

curl -XGET 'http://localhost:9200/_snapshot/elk_backups/test_snapshot/_status' -ชม 'kbn-xsrf: กำลังรายงาน'

สิ่งนี้ควรส่งคืนข้อมูลโดยละเอียดเกี่ยวกับสถานะสแนปชอต ตัวอย่างผลลัพธ์ดังแสดงในต่อไปนี้:

{
'ภาพรวม' : [
{
'ภาพรวม' : 'test_snapshot' ,
'ที่เก็บ' : 'each_backups' , < แข็งแกร่ง >
แข็งแกร่ง > 'อุอิอิด' : '9oOJtTunR_WC-1a7NA-9WQ' ,
'สถานะ' : 'ความสำเร็จ' ,
'include_global_state' : จริง ,
'shards_stats' : {
'กำลังเริ่มต้น' : 0 ,
'เริ่ม' : 0 ,
'จบ' : 0 ,
'เสร็จแล้ว' : 94 ,
'ล้มเหลว' : 0 ,
'ทั้งหมด' : 94
} ,
'สถิติ' : {
'เพิ่มขึ้น' : {
'file_count' : 282 ,
'size_in_bytes' : 750304
} ,
'ทั้งหมด' : {
'file_count' : 692 ,
'size_in_bytes' : 62159894
} ,
'start_time_in_millis' : 1663770043239 ,
'time_in_millis' : 26212
} ,
'ดัชนี' : { < แข็งแกร่ง >
แข็งแกร่ง > 'สตรีมข้อมูลของฉัน' : {
'shards_stats' : {
'กำลังเริ่มต้น' : 0 ,
'เริ่ม' : 0 ,
'จบ' : 0 ,
'เสร็จแล้ว' : 1 ,
'ล้มเหลว' : 0 ,
'ทั้งหมด' : 1
} ,
'สถิติ' : {
'เพิ่มขึ้น' : {
'file_count' : 0 ,
'size_in_bytes' : 0
} ,
'ทั้งหมด' : {
'file_count' : 10 ,
'size_in_bytes' : 13518
} ,

----------------- เอาท์พุท ตัดทอน ------------------------

ใน Kibana คุณสามารถตรวจสอบสถานะสแน็ปช็อตได้โดยไปที่ส่วน Stack Management – ​​Snapshot and Restore

เลือกสแนปชอตเป้าหมายและดูรายละเอียด

บันทึก : โปรดทราบว่า Kibana ไม่ได้ให้รายละเอียดที่ครอบคลุมตามที่ได้รับจาก API สถานะสแนปชอตของ Elasticsearch

บทสรุป

ในโพสต์นี้ เราได้สำรวจพื้นฐานของการทำงานกับ API สถานะการรับสแนปชอต ซึ่งช่วยให้เราดึงข้อมูลโดยละเอียดเกี่ยวกับสแน็ปช็อตที่กำหนด

ขอบคุณที่อ่าน!