Karn Tirasoontorn

May 22, 2021

เริ่มต้นกับการเป็น Cisco Meraki Developer 101

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

เริ่มต้นให้เราเข้าไปศึกษาที่ https://developer.cisco.com/meraki/ โดยเริ่มต้นสำหรับมือใหม่ที่ยังไม่รู้จักว่า Meraki ทำอะไรได้บ้างทาง Cisco เองก็เนื้อหา Meraki 101 ที่อธิบาย พร้อมวิดีโอให้เราได้ศึกษาทำความเข้าใจ และมี hands-on เล็กให้ทดลองเรียกใช้ APIs ของ Meraki
Screenshot from 2021-05-22 12-28-28.png

โดย hands-on แรกก็จะเป็นการเรียกดูข้อมูลต่างๆ ผ่าน APIs ด้วย Postman หรือถ้าถนัดใช้เครื่องมืออื่นอย่างเช่น curl, wget หรือ httpie ก็ได้เช่นกัน สำหรับส่วนตัวผมก็จะเลือกใช้ httpie เพราะถนัดมากกว่า
Screenshot from 2021-05-22 13-05-43.png
  • ในขั้นตอนแรกได้อธิบายการส่ง 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 ให้ดูกัน