ความเกี่ยวข้องและความจำเป็นของ SNMP [ปิด]


1

แก้ไข:ฉันอยู่ในกระบวนการออกแบบเครื่องมือตรวจสอบบน Java ที่จะส่ง "การตรวจสุขภาพ" เป็นระยะของแอพ Java ที่ปรับใช้กับคลัสเตอร์ของเซิร์ฟเวอร์ GlassFish ฉันกำลังพยายามหาโปรโตคอลที่ดีที่สุดสำหรับเครื่องมือตรวจสอบนี้เพื่อส่งข้อมูลกลับไปยังเซิร์ฟเวอร์การตรวจสอบ

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

  • หากข้างต้นไม่ถูกต้องโปรดแก้ไขฉัน !!!

สมมติว่ามีความถูกต้องมากกว่าหรือน้อยกว่าคำถามต่อไปของฉันคือ: ทำไมโปรโตคอลนี้ถึงเป็น!

ในยุคของโปรโตคอล REST / SOAP / TCP เหตุใดจึงมีความต้องการโปรโตคอลมาตรฐานที่เหมาะกับแอปพลิเคชันประเภทเดียวเท่านั้น (การตรวจสอบ) กล่าวอีกนัยหนึ่งถ้าฉันเป็นนักพัฒนาที่ได้รับมอบหมายให้สร้างเครื่องมือตรวจสอบใหม่ที่สำรวจเซิร์ฟเวอร์และรายงานเกี่ยวกับ CPU และหน่วยความจำที่มีอยู่เป็นระยะ ๆSNMP มีข้อดีอะไรบ้างที่ทำให้ฉันผ่าน POSTing RESTful API ผ่าน HTTP

ฉันแน่ใจว่าฉันพลาดอะไรบางอย่างที่นี่ - ฉันแค่ต้องการใครสักคนที่จะช่วยเชื่อมต่อจุดต่าง ๆ ! ขอบคุณล่วงหน้า!


ฉันเห็นว่าสิ่งนี้ได้รับการปิดบันทึกแล้ว ฉันมาที่ superuser.com เพื่อเรียนรู้และไม่มีปัญหากับการวิจารณ์ตราบใดที่มันสมเหตุสมผล ฉันอยากจะถามว่าทำไมสิ่งนี้ถึงถูกปิด!
pnongrata

1
ฉันเห็นว่าเหตุผลการปิดบัญชีคือ "ไม่ใช่คำถามจริง" ฉันนอบน้อมถ่อมตน !! เพื่อสรุปคำถามนี้ขึ้นมาใน 1 ประโยค: " สิ่งที่เป็นประโยชน์ในวันนี้และอายุของการใช้ SNMP มากกว่าการแก้ปัญหา REST- หรือสบู่ตาม? " ผมเชื่อว่าเป็นอย่างคำถามที่แท้จริง!
pnongrata

ปัญหาคอมพิวเตอร์ที่แก้ไขได้ของคุณคืออะไร
Ƭᴇcʜιᴇ007

@ techie007 - โปรดเข้าใจว่าคำตอบนี้ไม่ได้เป็นความท้าทายสำหรับสิ่งที่คุณเพิ่งเขียนมันเป็นเพียงความพยายามที่จะได้รับความชัดเจนว่าฉันควรโพสต์คำถามแบบนี้ในอนาคต "ปัญหาคอมพิวเตอร์ที่แก้ไขได้" จริงๆแล้วเป็นเกณฑ์ที่แน่นอนสำหรับคำถาม SuperUser หรือไม่ เพราะมันค่อนข้างคลุมเครือและจะรวมถึง StackOverflow, ServerFault และไซต์ StackExchange ที่เน้นเทคโนโลยีเป็นส่วนใหญ่ ถ้าเป็นเช่นนั้นฉันพูดว่านี่เป็นปัญหาที่แก้ไขได้: ฉันต้องการเวลาและสถานที่ที่ฉันควรใช้ SNMP หากไม่ใช่เกณฑ์แล้ว / คืออะไร? คำตอบนั้นจะเป็นตัวกำหนดว่าสิ่งนี้อยู่ที่ไหน !
pnongrata

1
แม้หลังจากการแก้ไขของคุณคุณยังคงขอให้ใช้โพรโทคอล 'ดีที่สุด' ซึ่งโดยทั่วไปแล้วสามารถตอบได้ด้วยความเห็นเท่านั้น
Ƭᴇcʜιᴇ007

คำตอบ:


3

ความต้องการโปรโตคอลมาตรฐาน ... เพราะมันเป็นมาตรฐานหรือไม่ มันยังมาก่อน HTTP (1988 vs 1991) ส่วนที่เหลือจะอยู่กับ HTTP 1.0, 1996 เมื่อมีบางสิ่งที่ใช้งานอยู่บ่อยครั้งที่จะติดกับมันได้ง่ายขึ้นถ้าเพียงเพื่อรองรับการรับมรดก

เพื่อตอบสนองการแก้ไขของคุณ: คุณต้องการ / ต้องการเครื่องมืออื่น ๆ ที่มีอยู่แล้วเพื่อให้สามารถสื่อสารกับแอปพลิเคชันของคุณหรือไม่? ถ้าไม่คุณสามารถใช้วิธีการที่คุณรู้สึกชอบ แต่คุณจะต้องใช้เครื่องมือการตรวจสอบของคุณเอง ถ้าใช่คุณจะต้องใช้บางสิ่งที่ได้รับการสนับสนุนทั่วไปเช่น SNMP


ดังนั้นในใจของคุณมันไม่ได้ให้ประโยชน์ใด ๆ แก่ฉันมากกว่า REST- หรือ SOAP-based solution?
pnongrata

@AdamTannon SNMP เป็นที่ยอมรับมากขึ้นและมีค่าใช้จ่ายในการตั้งค่าน้อยกว่าอย่างมากที่เกี่ยวข้องกับ HTTP
Ƭᴇcʜιᴇ007

อีกครั้งไม่เถียงที่นี่เพียงพยายามที่จะเข้าใจ ด้วยเฟรมเวิร์กอย่าง Jersey และไลบรารี่ของฉันเองและสามารถรับบริการเว็บ RESTful และทำงานด้วยโค้ด 30 บรรทัด คุณสามารถอธิบายสิ่งที่คุณหมายถึงโดย "ค่าใช้จ่าย"?
pnongrata

@Bob - เป็นคำตอบเดียวที่ฉันยินดีที่จะให้คุณ "ตรวจสอบสีเขียว" ถ้าคุณสามารถอ้างถึงข้อได้เปรียบเฉพาะที่ SNMP มีวิธีการที่ทันสมัยกว่า (REST / SOAP / etc)
pnongrata

1
@AdamTannon คงจะดีกว่าถ้าคุณรอให้คนอื่นตอบ ฉันไม่คุ้นเคยเพียงพอกับ SNMP หรือวิธีการอื่น ทั้งหมดที่ฉันสามารถพูดได้คือ SNMP นั้นถูกใช้งานเป็นเวลานานและเป็นมาตรฐานเพียงพอที่คุณจะสามารถหาตัวบันทึก SNMP ทั่วไปและคาดว่ามันจะทำงานได้
บ๊อบ

1

นอกเหนือจากการเป็นผู้เชี่ยวชาญในเรื่องนี้ฉันขอแนะนำต่อไปนี้:

SNMP มีฐานข้อมูลการจัดการคงที่หนึ่งฐานที่มีลำดับชั้นของคลาสของข้อมูล (เช่นแบนด์วิดท์ที่แท้จริงของอินเตอร์เฟส) คุณสามารถเพิ่มโหนดในเครือข่ายที่คุณกำลังตรวจสอบได้อย่างง่ายดายโดยไม่ต้องกำหนดค่ามากนัก

ยิ่งไปกว่านั้นมีบางเครื่องที่คุณอาจไม่สามารถเข้าถึงได้ (อาจเป็นเพราะการอนุญาตหรือเพราะเราเตอร์แบบง่ายๆ) ในกรณีนี้ SNMP จะเป็นวิธีที่ง่ายในการรับและตั้งค่าพารามิเตอร์การกำหนดค่า


1
RESTful API via plain 'ole HTTP

สิ่งนี้มีการพึ่งพาต่อไปนี้:

  • เซิร์ฟเวอร์ HTTP
  • กระบวนการแบ็กเอนด์ที่เรียกใช้โดยเซิร์ฟเวอร์นั้นที่รักษาสถานะ
  • หน่วยความจำแบนด์วิดท์และแหล่งเก็บข้อมูลเพียงพอที่จะรองรับการพยายามเชื่อมต่อพร้อมกันทั้งหมดที่เป็นไปได้บนอุปกรณ์ที่ควรทำ (เราสมมติว่าคุณต้องการให้อุปกรณ์ของคุณทำสิ่งอื่นนอกเหนือจากการตอบสนองต่อคำขอสถานะ)
  • และการพึ่งพาของเฟรมเวิร์กทั้งหมดที่จำเป็นต้องใช้ในการดำเนินการข้างต้นหากมีการใช้เฟรมเวิร์ก (เช่นถ้ากระบวนการแบ็กเอนด์ของคุณเขียนด้วยภาษา Perl นั่นเป็นทรัพยากรที่จำเป็นมากกว่า ฯลฯ )

ข้างต้นเป็นเรื่องไม่สำคัญในปัจจุบัน (และอุปกรณ์จำนวนมาก ฯลฯ มีเซิร์ฟเวอร์ HTTP ที่สร้างขึ้นในสมัยนี้) แต่เมื่อ SNMP ได้รับการพัฒนามันไม่ได้เป็นเช่นนั้น

SNMP นั้นง่ายกว่ามากและสามารถจัดการได้ง่ายขึ้นโดยอุปกรณ์ฝังตัวที่มีทรัพยากรต่ำ (คิดว่าสวิตช์เก่า ฯลฯ ) และซอฟต์แวร์ที่ตอบสนองต่อคำร้องขอ SNMP นั้นสามารถเขียนได้ง่ายขึ้นโดยมีโอกาสน้อยที่ช่องโหว่ด้านความปลอดภัย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.