Score:1

ใช้ Zabbix เพื่อบันทึกเอาต์พุต JSON จาก REST api หรือไม่ เป็นไปได้ไหม

ธง us

ฉันกำลังพยายามใช้ Zabbix (5.0) เพื่อบันทึกการตอบสนองจาก REST API

ถ้าฉันวางสิ่งต่อไปนี้ในเว็บเบราว์เซอร์ (หรือ wget / curl เป็นต้น)

http://{ชื่อผู้ใช้}:{รหัสผ่าน}@10.1.2.3:8443/api/metadata/

ฉันได้รับคำตอบที่ฉันคาดหวัง:

{"รายการ":[{"ชื่อ":"this_is_my_name"}]}

ฉันพยายามที่จะจับค่าของ ชื่อ ลงใน zabbix

ฉันได้ตั้งค่า สถานการณ์เว็บ กับเทมเพลตของฉันและใน ขั้นตอน ส่วนที่ฉันมี:

ชื่อ: test_name
URL: http://{username}:{password}@10.1.2.3:8443/api/metadata/
ข้อมูลดิบ
โหมดดึงข้อมูล: ร่างกาย
หมดเวลา: 15 วินาที
สตริงที่จำเป็น: $.items:["name"]
รหัสสถานะที่จำเป็น: 200

จากนั้นดูข้อมูลล่าสุดสำหรับมันฉันเห็นว่าฉันมีการตอบสนองของ 200แต่ข้อผิดพลาดของ:

ไม่พบรูปแบบที่ต้องการ "$.items:["name"]" ใน http://{username}:{password}@10.1.2.3:8443/api/metadata/

ฉันได้ลองใช้รูปแบบต่างๆ ทั้งหมดในฟิลด์สตริงที่จำเป็นแล้ว และผลลัพธ์ก็เหมือนเดิมเสมอ

ฉันพลาดอะไรไปหรือเข้าใจอะไรผิดหรือเปล่า Zabbix ทำในสิ่งที่ฉันพยายามทำหรือไม่?

us flag
ไม่ควรเข้าถึงรายการเป็นรายการใช่หรือไม่
Score:3
ธง in

สถานการณ์บนเว็บไม่สามารถประเมิน JSON ได้ แต่จะตรวจสอบข้อความธรรมดาด้วยนิพจน์ทั่วไปเท่านั้น

คุณสามารถตั้งค่า สตริงที่จำเป็น ถึง นี่คือชื่อของฉันแต่จะตรวจสอบว่าสตริงเกิดขึ้นในคำตอบจากเซิร์ฟเวอร์หรือไม่ไม่ว่าจะอยู่ที่ไหน ขึ้นอยู่กับผลลัพธ์ที่เหลือและกรณีการใช้งานของคุณ สิ่งนี้อาจใช้ได้หรือไม่ได้

หากคุณต้องการรับฟิลด์เฉพาะจาก JSON คุณต้องกำหนดค่า รายการประเภท ตัวแทน HTTP:

ป้อนคำอธิบายรูปภาพที่นี่

อย่าตรวจสอบ แปลงเป็น JSONมันอาจจะดึงดูด แต่มีไว้เพื่อแปลงคำตอบที่ไม่ใช่ JSON เป็น JSON คุณมี JSON อยู่แล้ว คุณจึงไม่จำเป็นต้องใช้

ต่อไป เพิ่ม ก ขั้นตอนก่อนดำเนินการ ของประเภท JSONPath. เส้นทางที่ถูกต้องสำหรับตัวอย่างของคุณคือ:

$.items[:1].name

ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์จาก JSON จะเป็น ["นี่คือชื่อของฉัน"]ไม่ใช่แค่ นี่คือชื่อของฉันคุณจึงต้องใช้นิพจน์ทั่วไป \["(.+)"\] เพื่อดึงค่าธรรมดาจากผลลัพธ์

คุณสามารถทดสอบได้โดยตรง:

ป้อนคำอธิบายรูปภาพที่นี่

จัดเก็บรายการของคุณเป็น ข้อความจากนั้นคุณสามารถเพิ่มทริกเกอร์เข้าไปได้

IGGt avatar
us flag
สมบูรณ์แบบ. ดูเหมือนว่าฉันจะเข้าใจผิดไปเสียหมด และกำลังเดินผิดทางไปเสียหมด นี่คือสิ่งที่ฉันต้องการ ไชโย
Reyan Chougle avatar
br flag
คำตอบที่สมบูรณ์ ขอบคุณสำหรับความพยายามของคุณ. บทความดีๆ อีกบทความอยู่ที่นี่บนเว็บไซต์อย่างเป็นทางการของ Zabbix - https://www.zabbix.com/documentation/5.0/en/manual/config/items/itemtypes/http

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา