Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis

เนื่องจากโครงสร้างพื้นฐานด้านไอทีของคุณมีขนาดใหญ่ขึ้นและซับซ้อนขึ้น คุณอาจถูกบังคับให้ให้ความสนใจมากขึ้นเพื่อให้มั่นใจว่าทุกอย่างได้รับการจัดการอย่างเหมาะสม

นับตั้งแต่การเพิ่มขึ้นของคลาวด์ สิ่งนี้มีความเกี่ยวข้องมากขึ้นโดยเฉพาะอย่างยิ่ง เนื่องจากขณะนี้เรามีข้อมูลทางเทคนิคมากมายกระจายอยู่ตามสถานที่ต่างๆ

แต่ความสามารถในการวิเคราะห์บันทึกอย่างครอบคลุมอาจเป็นเรื่องที่น่าเบื่อ ใช้เวลานาน และ น่าเบื่ออย่างเจ็บปวด

วิธีง่ายๆ แต่ได้ผลในการปลดปล่อยตัวเองจากภาระนี้คือการใช้ซอฟต์แวร์หรือแอปพลิเคชันที่ออกแบบมาเพื่อให้บันทึกการตรวจสอบเป็นเรื่องง่าย... และนั่นคือสิ่งที่ Alexis Gardin ได้ทำในแอปพลิเคชัน Logub ของเขา

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

หัวใจสำคัญของแอปพลิเคชันนี้คืออาศัยความสามารถของ RediSearch ในการสำรวจและวิเคราะห์บันทึกในสถานที่ต่างๆ ด้วยประสิทธิภาพที่ไม่มีใครเทียบได้ มาดูกันว่า Alexis นำแอปพลิเคชันนี้มารวมกันอย่างไร

แต่ก่อนที่เราจะดำดิ่งลงไป เราควรแจ้งให้คุณทราบว่าเรายังมีแอปพลิเคชันที่น่าตื่นเต้นมากมายให้คุณลองใช้บน Redis Launchpad

  1. คุณจะสร้างอะไร
  2. คุณต้องการอะไร
  3. สถาปัตยกรรม
  4. เริ่มต้นใช้งาน
  5. วิธีการจัดเก็บข้อมูล
  6. วิธีการสืบค้นข้อมูล
  7. แถบค้นหาทำงานอย่างไร
  8. จะรวม Logub เข้ากับโครงการของคุณได้อย่างไร
  9. บทสรุป

1. คุณจะสร้างอะไร

คุณจะสร้างแอปพิเศษที่ขับเคลื่อนโดย Redis เพื่อรวบรวม วิเคราะห์ และสำรวจแอปพลิเคชันบันทึก ในขั้นตอนด้านล่าง เราจะพูดถึง A-Z ของสิ่งที่จำเป็นในการสร้างแอปพลิเคชันนี้ พร้อมด้วยส่วนประกอบที่จำเป็น

แม้ว่าคุณจะเพิ่งเริ่มใช้ Redis เราจะแสดงให้คุณเห็นถึงวิธีจัดการกับฐานข้อมูลอันทรงพลังนี้ คุณพร้อมที่จะเริ่มต้นหรือยัง

ตกลง มาดำดิ่งกัน
วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis2. คุณต้องการอะไร

  • คล่องแคล่ว : ใช้เป็นซอฟต์แวร์รวบรวมข้อมูลโอเพนซอร์ซข้ามแพลตฟอร์มสำหรับการประมวลผลบันทึก
  • Redis เอาต์พุตปลั๊กอินสำหรับ Fluent: fluke-plugin-redis เป็นปลั๊กอินที่ส่งออกไปยัง redis ได้อย่างคล่องแคล่ว RediSearch:
  • นักเทียบท่า : ใช้เป็นแพลตฟอร์มสำหรับนักพัฒนาในการบรรจุแอปพลิเคชันไปยังคอนเทนเนอร์
  • นักเทียบท่าเขียน : ใช้สำหรับกำหนดและเรียกใช้แอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์

3. สถาปัตยกรรม

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis อาจใช้เวลาประมาณหนึ่งนาทีเพื่อดูบันทึกที่กำลังมา คุณสามารถดูบันทึกในหน้าโดยกรองด้วยแถบด้านข้างทางด้านขวา หรือคุณจะค้นหาโดยใช้ตัวกรองหรือข้อความค้นหาแบบเต็มผ่านแถบค้นหาที่ด้านบน

เมื่อคุณคลิกที่บันทึก รายละเอียดจะปรากฏขึ้น และคุณจะมีตัวเลือกในการสร้างดัชนีคุณสมบัติทางธุรกิจ คุณสมบัติทางธุรกิจเหล่านี้สามารถใช้เป็นตัวกรองได้ในภายหลัง

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis ถัดไป ไปที่ localhost:3000/demo เพื่อเข้าถึง Playground และเพิ่มบันทึกที่กำหนดเองของคุณ หน้าสาธิตนี้จะช่วยให้คุณ: 

  • สร้างผู้ใช้ปลอมในเดโมแอปปลอมและดูพวกเขาในบันทึก
  • เผยแพร่บันทึกของคุณในระบบ
วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis

คำสั่งดังกล่าวจะช่วยให้คุณสร้างข้อความค้นหา RediSearch แบบธรรมดาตามข้อมูลที่ผู้ใช้ป้อน มี QueryBuilders ขนาดเล็กจำนวนมากที่สร้างขึ้นที่ด้านบนของไลบรารี RediSearch เป็นคำสั่งเดียวกับที่ Logub UI ส่งมาเพื่อทำการค้นหาที่ครอบคลุมและมีประสิทธิภาพในบันทึกของคุณ

ขั้นตอนที่ 2:วิธีการทำงานของแถบค้นหา

คุณสามารถดำเนินการค้นหาโดยใช้แท็กหรือค้นหาข้อความแบบเต็ม ด้านล่างนี้คือตัวอย่างบางส่วนที่คุณสามารถใช้เป็นแบบจำลองได้หากคุณติดขัด

  • env:dev Ut ea vero voluptate* จะค้นหาบันทึกทั้งหมดในสภาพแวดล้อมที่กำลังพัฒนาด้วยข้อความที่ขึ้นต้นด้วย Ut ea vero voluptate
  • -env:prod Ut ea vero voluptate* จะค้นหาบันทึกทั้งหมดในสภาพแวดล้อมทั้งหมด ยกเว้น prod ที่มีข้อความที่ขึ้นต้นด้วย Ut ea vero voluptate
  • originRequest:France originRequest:USA จะค้นหาบันทึกทั้งหมดที่มีช่อง originRequest โดยตั้งค่าไว้ที่ฝรั่งเศสหรือสหรัฐอเมริกา
  • “dog” “cat” จะค้นหาบันทึกทั้งหมดที่มีคำว่า “dog” และ “cat”
  • -“dog” “cat” จะค้นหาบันทึกทั้งหมดที่ไม่มีคำว่า “dog” แต่มีคำว่า “cat”

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

ขั้นตอนที่ 3:วิธีรวม Logub เข้ากับโครงการของคุณ

คุณจะต้องใช้รายการอิมเมจ Docker ด้านล่างเพื่อใช้งาน Logub:

  • รูปภาพ Logub Fluentd เพื่อรวบรวมและส่งบันทึกไปยัง Redis – Logub Fluentd Image
  • รูปภาพ Redis พร้อมโมดูล RediSearch Redis Mod Image
  • อิมเมจตัวควบคุม Logub เพื่อแสดงฟังก์ชันการสำรวจบันทึก – Logub Contoller Image
  • Logub UI เพื่อสำรวจและสืบค้นบันทึก – Logub UI Image

รูปแบบบันทึกการเข้าระบบ

สำหรับตอนนี้ Logub สามารถจัดการรูปแบบบันทึกเฉพาะได้เพียงรูปแบบเดียวเท่านั้น ในอนาคต รูปแบบนี้จะถูกขยายและปรับแต่งได้มากขึ้น

นี่คือรูปแบบ Logub

โปรดทราบว่าฟิลด์เหล่านี้ไม่ได้บังคับ

หากคุณต้องการเพิ่มคุณสมบัติทางธุรกิจ คุณจะต้องเพิ่มออบเจ็กต์ JSON ที่ซ้อนกันซึ่งมี “mdc” เป็นคีย์ ตัวอย่างเช่น:

เผยแพร่บันทึกใน Logub

ในการสำรวจบันทึกใน Loghub คอนเทนเนอร์ของคุณจำเป็นต้องใช้ไดรเวอร์การบันทึก Docker Fluentd นี่คือตัวอย่างการกำหนดค่าสำหรับการผสานรวมลูกค้า

ขั้นตอนที่ 4:การตั้งค่า Redis ใน Logub

ค้นหาซ้ำ

Logub ใช้ฟังก์ชันการทำงานของ RediSearch เพื่อประมวลผลบันทึกของแอปพลิเคชัน เมื่อบันทึกยังคงอยู่ในฐานข้อมูล Redis บันทึกจะมาพร้อมกับฟิลด์ 3 ประเภท:

  • คุณสมบัติของระบบ: เป็นข้อมูลที่ Docker และ Fluentd มอบให้เราเมื่อส่งบันทึก (เช่น สภาพแวดล้อม ชื่อคอนเทนเนอร์ เป็นต้น)
  • คุณสมบัติพื้นฐาน: เป็นข้อมูลพื้นฐานที่บันทึกมี (เช่น การประทับเวลา บริการ ฯลฯ) คุณสมบัติเหล่านี้ได้รับการจัดทำดัชนีโดยอัตโนมัติใน RediSearch
  • คุณสมบัติทางธุรกิจ: มอบให้โดยผู้ใช้ logub ในฟิลด์เฉพาะ ผู้ใช้ที่นี่ต้องเคารพรูปแบบคีย์-ค่า (แผนที่) ด้วยความสามารถขั้นสูงของ RediSearch คุณจะสามารถจัดทำดัชนี 'คุณสมบัติทางธุรกิจ' เหล่านี้ได้ หากคุณต้องการค้นคว้าเกี่ยวกับคุณสมบัติเหล่านี้

ในที่นี้ เรามีตัวอย่างบันทึกที่อธิบายว่าเครื่องมือของเราทำงานอย่างไรเมื่อ Fluentd แบนและคงอยู่ในฐานข้อมูล Redis Logub API จะอนุญาตให้ผู้ใช้หรือบริษัทจัดทำดัชนีหนึ่งฟิลด์หรือทั้งหมดของอ็อบเจ็กต์ mdc

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

นี่คือสคีมาแบบง่ายของกระบวนการค้นหา: 

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis เรดิส

Redis ใช้เพื่อจัดเก็บบันทึกโดย Fluentd เช่นนี้ใน ประเภท HashSet ของ Redis

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis หากต้องการติดตามฟิลด์ที่จัดทำดัชนีโดยผู้ใช้ คุณสามารถเพิ่มออบเจ็กต์ 'schema' ซึ่งใช้ ประเภทรายการ ของเรดิส

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis ใครเป็นคนสร้างแอปพลิเคชันนี้

วิธีสร้างแอปพลิเคชันเพื่อเพิ่มประสิทธิภาพของการวิเคราะห์บันทึกโดยใช้ Redis

อเล็กซิส การ์ดิน

Alexis เป็นวิศวกรซอฟต์แวร์ที่เป็นนวัตกรรมซึ่งปัจจุบันทำงานให้กับ Zendoc ไปที่หน้า GitHub เพื่อดูว่าเขามีส่วนร่วมในโครงการใดบ้าง