กงสุล - การสืบค้นโหนด
ในบทนี้เราจะเรียนรู้วิธีการค้นหาโหนดด้วยฟังก์ชันต่อไปนี้ -
- ใช้ขุด
- ใช้คำสั่ง Monitor
- ใช้คำสั่ง Watch
- โดยการลงทะเบียนบริการภายนอก
ให้เราเข้าใจรายละเอียดของแต่ละฟังก์ชันเหล่านี้
ใช้ Dig
กงสุลรับฟัง 127.0.0.1:8600 เพื่อสอบถาม DNS ในกงสุล วิธีพิจารณาว่าโหนดใดพร้อมใช้งานเพื่อให้บริการคือการใช้การตรวจสอบที่สามารถเป็นได้ -
สคริปต์ที่ถูกเรียกใช้งานและส่งกลับไฟล์ nagios compliant code.
การตรวจสอบ HTTP ที่ส่งคืนรหัสตอบกลับ HTTP
การตรวจสอบ TCP ที่กำลังตรวจสอบว่าพอร์ตเปิดอยู่หรือไม่
คำสั่งทั่วไปสำหรับการทดลองใช้ dig คือ -
$ dig @127.0.0.1 -p <port> <service-name>.consul
ตอนนี้ให้เราลองใช้ตัวอย่าง dig คำสั่ง -
$ dig @127.0.0.1 -p 8600 web.service.consul
ผลลัพธ์จะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้

การใช้คำสั่ง Monitor
ใช้เพื่อเชื่อมต่อและแสดงบันทึกของตัวแทนกงสุลที่รันอยู่ คำสั่งนี้จะแสดงบันทึกล่าสุด นอกจากนี้ยังช่วยให้คุณสามารถบันทึกเอเจนต์ในระดับการบันทึกที่ค่อนข้างสูง ประกอบด้วยระดับการบันทึกต่างๆซึ่งคุณสามารถติดตามได้เช่น - Trace, Debug, Info, Warn และ Err
ให้เราลองใช้คำสั่งต่อไปนี้ -
$ consul monitor
ผลลัพธ์จะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้

คุณยังสามารถตั้งค่าคำสั่งมอนิเตอร์โดยใช้คำสั่งย่อยเช่น -log-level และ -rpc-address ตามค่าเริ่มต้นที่อยู่ของ RPC คือ 127.0.0.1:8400 สำหรับข้อมูลเพิ่มเติมคลิกที่นี่
การใช้คำสั่ง Watch
คำสั่งนี้มีกลไกในการเฝ้าดูการเปลี่ยนแปลงในรายการโหนดสมาชิกบริการค่าคีย์ ฯลฯ นอกจากนี้ยังเรียกใช้กระบวนการที่มีค่าล่าสุดของมุมมอง หากไม่ได้ระบุกระบวนการค่าปัจจุบันจะถูกประมวลผลเป็นSTDOUTซึ่งอาจเป็นวิธีที่มีประโยชน์ในการตรวจสอบข้อมูลในกงสุล คำสั่ง Consul Watch Command มีตัวเลือกต่างๆมากมายดังที่แสดงในภาพหน้าจอต่อไปนี้ -

ให้เราลองสาธิตด้วย -type = service ดังแสดงในคำสั่งต่อไปนี้
$ consul watch -type = service -service = consul

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้คุณสามารถคลิกที่นี่
โดยการลงทะเบียนบริการภายนอก
เมื่อลงทะเบียนแล้วอินเทอร์เฟซ DNS จะสามารถส่งคืน 'A Records' หรือ CNAME Records ที่เหมาะสมสำหรับบริการได้ ให้เราลงทะเบียนบริการภายนอกเช่น Amazon ตามที่แสดงในบล็อกรหัสต่อไปนี้และภาพหน้าจอด้วย
$ sudo curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon",
"Address": "www.amazon.com",
"Service": {"Service": "shop", "Port": 80}}'
http://127.0.0.1:8500/v1/catalog/register

คำสั่งดังกล่าวระบุบริการที่เรียกว่าร้านค้า โหนดนี้เรียกว่า amazon โดยมี URL อยู่ที่www.amazon.comบนพอร์ต 80 ให้เราตรวจสอบผลลัพธ์ในกงสุลเพื่อให้แน่ใจว่าเราได้ติดตั้งบริการนี้อย่างถูกต้อง สำหรับสิ่งนี้โปรดเปิดหน้าต่างเบราว์เซอร์ที่ localhost: 8500

ในการลบบริการเราสามารถใช้คำสั่งต่อไปนี้
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister

ให้เราตรวจสอบ UI ตามที่แสดงในภาพหน้าจอต่อไปนี้
