ถ้าจะพูดถึงโซลูชั่นในการบริหารจัดการระบบเครือข่ายที่ยอดเยี่ยมก็คงหนีไม่พ้นจาก Cisco Meraki เป็นแน่ สำหรับรายละเอียดความสามารถของเจ้า Cisco Meraki นั้นขอยกผ่านไปแล้วกันนะครับ เพราะความสามารถเค้าเยอะจริงๆ สามารถลองไปศึกษาที่เว็บไซต์ของ Cisco หรือไม่ก็สอบถามกับเซลล์เพิ่มเติมได้
เริ่มต้นให้เราเข้าไปศึกษาที่ https://developer.cisco.com/meraki/ โดยเริ่มต้นสำหรับมือใหม่ที่ยังไม่รู้จักว่า Meraki ทำอะไรได้บ้างทาง Cisco เองก็เนื้อหา Meraki 101 ที่อธิบาย พร้อมวิดีโอให้เราได้ศึกษาทำความเข้าใจ และมี hands-on เล็กให้ทดลองเรียกใช้ APIs ของ Meraki
โดย hands-on แรกก็จะเป็นการเรียกดูข้อมูลต่างๆ ผ่าน APIs ด้วย Postman หรือถ้าถนัดใช้เครื่องมืออื่นอย่างเช่น curl, wget หรือ httpie ก็ได้เช่นกัน สำหรับส่วนตัวผมก็จะเลือกใช้ httpie เพราะถนัดมากกว่า
เริ่มต้นให้เราเข้าไปศึกษาที่ https://developer.cisco.com/meraki/ โดยเริ่มต้นสำหรับมือใหม่ที่ยังไม่รู้จักว่า Meraki ทำอะไรได้บ้างทาง Cisco เองก็เนื้อหา Meraki 101 ที่อธิบาย พร้อมวิดีโอให้เราได้ศึกษาทำความเข้าใจ และมี hands-on เล็กให้ทดลองเรียกใช้ APIs ของ Meraki
โดย hands-on แรกก็จะเป็นการเรียกดูข้อมูลต่างๆ ผ่าน APIs ด้วย Postman หรือถ้าถนัดใช้เครื่องมืออื่นอย่างเช่น curl, wget หรือ httpie ก็ได้เช่นกัน สำหรับส่วนตัวผมก็จะเลือกใช้ httpie เพราะถนัดมากกว่า
- ในขั้นตอนแรกได้อธิบายการส่ง API Key ที่เราได้จากตัวอย่างไปพร้อมกับ request โดยผ่าน header ที่ชื่อ X-Cisco-Meraki-API-Key
- เรียกรายการองค์กรทั้งหมด
$ http -j -F GET https://api.meraki.com/api/v1/organizations X-Cisco-Meraki-API-Key:6bec40cf957de430a6f1f2baa056b99a4fac9ea0
- เมื่อรันคำสั่งเราจะได้ผลลัพท์ดังแสดงด้านล่าง
[ { "id": "681155", "name": "DeLab", "url": "https://n392.meraki.com/o/49Gm_c/manage/organization/overview" }, { "id": "575334852396583237", "name": "Xorg", { "id": "566327653141842188", "name": "DevNetAssoc", "url": "https://n6.meraki.com/o/dcGsWag/manage/organization/overview" }, "url": "https://n22.meraki.com/o/ZF92zcw/manage/organization/overview" }, ... { "id": "549236", "name": "DevNet Sandbox", "url": "https://n149.meraki.com/o/-t35Mb/manage/organization/overview" }, { "id": "463308", "name": "DevNet San Jose", "url": "https://n18.meraki.com/o/vB2D8a/manage/organization/overview" } ]
- จากนั้นทดลองทำตาม hands-on ไปเรื่อยๆ จนจบ ซึ่งเราจะได้เรียนรู้เกี่ยวกับองค์กร เครือข่ายในองค์กร อุปกรณ์ที่ติดตั้งอยู่ภายในแต่ละเครือข่าย และ SSID ที่มองเห็น
สำหรับสิ่งถัดไปที่ควรศึกษาต่อก็คือการเขียนโปรแกรมด้วยภาษาที่ตนเองถนัด เพื่อเรียกใช้ APIs ดังกล่าวดู เพื่อเพิ่มความชำนาญ และเข้าใจใน Meraki APIs
require 'httparty' base_uri = 'https://api.meraki.com/api/v1' api_key = "6bec40cf957de430a6f1f2baa056b99a4fac9ea0" orgranizations = HTTParty.get( "#{base_uri}/organizations", { headers: { "X-Cisco-Meraki-API-Key": api_key } } ) orgranizations.each do |organization| puts "#{organization["id"]} : #{organization["name"]}" end
จากโค้ดข้างต้นเป็นตัวอย่างการเรียก APIs ด้วย ruby ให้ดูกัน