22/03/2566

ทดลองใช้ Plugin ใน KONGA

 


        วันนี้เราจะมาลองใช้ Plugin ใน Konga กัน โดยในเมนู plugin ของ konga จะมีหัวข้อหลัก 7 หัวข้อคือ Authentication, Security, Traffic Control, Serverless, Analytics & Monitoring, Transformations, Logging ถ้าหากใครยังไม่ได้ติดตั้ง Konga สามารถเข้าไปดูวิธีการติดตั้งตามลิ้งค์นี้ได้เลย Konga

        โดยเราจะเริ่มจาก Authentication ซึ่ง plugin ที่จะเลือกมาใช้ในบทความนี้คือ Jwt 


        ในการใช้ plugin Jwt ให้กดเข้าไปใน route ที่ต้องการจะติดตั้ง plugin จากนั้นเลือก add plugin ที่เราต้องการจะติดตั้งซึ่งในที่นี้คือ Jwt เมื่อกดเข้าไปแล้วให้กดที่ add plugin ได้เลยโดยที่ไม่ต้องไปตั้งค่าอะไรทั้งสิ้น เมื่อกดเสร็จจะแสดงรายการ plugin ที่ติดตั้งใน route นี้


        หลังจากนั้นก็ไปที่ consumers เลือก user ที่ต้องการเมื่อเข้ามาแล้วจะมีแถบเมนูด้านบนให้กดไปที่ credentials แล้วเลือกไปที่ JWT กด create JWT แล้วใส่ข้อมูลในช่อง secret ในช่องนี้จะใส่อะไรก็ได้ แล้วกด submit ได้เลย


        เมื่อกด submit เสร็จจะได้ข้อมูลออกมาเป็นรูปแบบ json ตามภาพ


        ในการสร้าง token เพื่อที่จะนำไปใช้ต่อให้เข้าไปที่เว็บ jwt.io ในส่วนของ header ให้เพิ่ม iss เข้าไปและ verify signature ก็ใส่ secret ที่เราตั้งเอาไว้เมื่อใส่เสร็จแล้วทางด้านซ้ายจะมี token ให้นำ token ที่ได้ไปใส่ใน authorization โดย type ให้เลือกเป็น Bearer Token แล้วใส่ token เข้าไป จะได้ผลลัพธ์ตามภาพที่ 2 แต่ถ้าไม่มี token จะได้ผลลัพธ์ตามภาพที่ 1 

jwt.io

ภาพที่ 1

ภาพที่ 2

        Plugin ที่จะใช้ถัดมาคือ Acl ซึ่งจะอยู่ในเมนู Security ก็กด add plugin แล้วจะมีเมนูขึ้นมาให้ใส่ซึ่งในช่อง allow และ deny ให้ใส่ข้อมูลช่องใดช่องหนึ่ง



        จากนั้นให้เข้าไปที่ consumers แล้วเลือก user  ที่ต้องการแล้วเลือกไปที่ groups กด add group แล้วตั้งชื่อตามที่เราเพิ่มไว้ใน Acl หาก group ตรงกับ Acl ที่ได้เพิ่มไว้จะแสดงดังรูปที่ 2 หากไม่ตรงจะแสดงดังรูปที่ 1

add group

ภาพที่ 1

ภาพที่ 2

        Plugin Traffic Control ที่จะเลือกใช้คือ Rate Limiting เมื่อกด add plugin จะมีหน้าให้ config ตัวของ Rate Limiting ในตัวอย่างจะใส่ที่ช่อง second และ hour


        เมื่อทดลองส่ง request ไปแล้วดูในส่วนของ header ที่ response กลับมาจะพบว่ามี header เพิ่มขึ้นมาคือ X-RateLimit-Remaining และ X-RateLimit-Limit ที่ได้ตั้งเอาไว้จะมีส่วนของวินาทีและชั่วโมง

        
         Plugin Analytics & Monitoring ที่จะเลือกใช้คือ prometheus เริ่มต้นจากการเข้าไปที่ consumers เลือก user ที่ต้องการจะติดตั้ง plugin แล้วเลือก prometheus จากนั้นกด add plugin 


         เมื่อทำการ add plugin เสร็จให้เปิด ubuntu ขึ้นมาและใช้คำสั่งตามด้านล่างเพื่อดึง prom/prometheus มาที่ image
 docker pull prom/prometheus
        จากนั้นใช้คำสั่งด้านล่างเพื่อสร้าง container ของ prometheus
 docker run -d -p 9090:9090 prom/prometheus

         เมื่อสร้าง container เสร็จแล้วให้ทำตามรูปด้านล่างทีละคำสั่งเพื่อที่จะเข้าไปแก้ไฟล์ prometheus.yml ในการแก้ไขไฟล์ให้เพิ่มบรรทัดที่ทำกรอบสีแดงเอาไว้แล้วกดปุ่ม esc พิมพ์คำสั่ง :wq จะออกมาจากไฟล์จากนั้นทำการ restart container


        เมื่อเข้าไปที่ localhost:9090 แล้วกดไปที่ status และเลือก targets จะพบกับหน้าจอตามรูปด้านล่าง

        เมื่อเลือกเมนู Graph แล้วพิมพ์คำว่า kong จะมีคำสั่งต่างๆขึ้นมาให้เลือกเพื่อแสดงข้อมูล



        Plugin Tranformations ที่เลือกใช้คือ ResponseTranformer เมื่อกด add config จะมีหน้าต่างขึ้นมาให้กรอกในตัวอย่างได้ลองเพิ่ม header เข้าไปจากนั้นก็ลองเรียกใช้ route นั้นอีกครั้งแล้วลองไปดูที่ response ในส่วนของ header จะพบว่ามีส่วนที่เราเพิ่มเข้ามา



        Plugin Logging ที่เลือกใช้คือ file logs เมื่อกด add plugin ให้ใส่ path ที่ต้องการจะเก็บ log หากต้องการจะดู log ให้ใช้คำสั่งตามรูปด้านล่าง


ไม่มีความคิดเห็น:

แสดงความคิดเห็น