เนื่องจากโครงสร้างพื้นฐานด้านไอทีของคุณมีขนาดใหญ่ขึ้นและซับซ้อนขึ้น คุณอาจถูกบังคับให้ให้ความสนใจมากขึ้นเพื่อให้มั่นใจว่าทุกอย่างได้รับการจัดการอย่างเหมาะสม
นับตั้งแต่การเพิ่มขึ้นของคลาวด์ สิ่งนี้มีความเกี่ยวข้องมากขึ้นโดยเฉพาะอย่างยิ่ง เนื่องจากขณะนี้เรามีข้อมูลทางเทคนิคมากมายกระจายอยู่ตามสถานที่ต่างๆ
แต่ความสามารถในการวิเคราะห์บันทึกอย่างครอบคลุมอาจเป็นเรื่องที่น่าเบื่อ ใช้เวลานาน และ น่าเบื่ออย่างเจ็บปวด
วิธีง่ายๆ แต่ได้ผลในการปลดปล่อยตัวเองจากภาระนี้คือการใช้ซอฟต์แวร์หรือแอปพลิเคชันที่ออกแบบมาเพื่อให้บันทึกการตรวจสอบเป็นเรื่องง่าย... และนั่นคือสิ่งที่ Alexis Gardin ได้ทำในแอปพลิเคชัน Logub ของเขา
ไม่เหมือนกับโซลูชัน SaaS อื่น ๆ Logub สามารถดำเนินการเหล่านี้ในสถานที่และโอเพ่นซอร์สได้ โดยทำตามขั้นตอนด้านล่าง คุณจะสามารถสร้างแอปพลิเคชันที่จะรวบรวม สำรวจ และวิเคราะห์บันทึกแอปพลิเคชันสำหรับคุณ
หัวใจสำคัญของแอปพลิเคชันนี้คืออาศัยความสามารถของ RediSearch ในการสำรวจและวิเคราะห์บันทึกในสถานที่ต่างๆ ด้วยประสิทธิภาพที่ไม่มีใครเทียบได้ มาดูกันว่า Alexis นำแอปพลิเคชันนี้มารวมกันอย่างไร
แต่ก่อนที่เราจะดำดิ่งลงไป เราควรแจ้งให้คุณทราบว่าเรายังมีแอปพลิเคชันที่น่าตื่นเต้นมากมายให้คุณลองใช้บน Redis Launchpad
- คุณจะสร้างอะไร
- คุณต้องการอะไร
- สถาปัตยกรรม
- เริ่มต้นใช้งาน
- วิธีการจัดเก็บข้อมูล
- วิธีการสืบค้นข้อมูล
- แถบค้นหาทำงานอย่างไร
- จะรวม Logub เข้ากับโครงการของคุณได้อย่างไร
- บทสรุป
1. คุณจะสร้างอะไร
คุณจะสร้างแอปพิเศษที่ขับเคลื่อนโดย Redis เพื่อรวบรวม วิเคราะห์ และสำรวจแอปพลิเคชันบันทึก ในขั้นตอนด้านล่าง เราจะพูดถึง A-Z ของสิ่งที่จำเป็นในการสร้างแอปพลิเคชันนี้ พร้อมด้วยส่วนประกอบที่จำเป็น
แม้ว่าคุณจะเพิ่งเริ่มใช้ Redis เราจะแสดงให้คุณเห็นถึงวิธีจัดการกับฐานข้อมูลอันทรงพลังนี้ คุณพร้อมที่จะเริ่มต้นหรือยัง
ตกลง มาดำดิ่งกัน
2. คุณต้องการอะไร
- คล่องแคล่ว : ใช้เป็นซอฟต์แวร์รวบรวมข้อมูลโอเพนซอร์ซข้ามแพลตฟอร์มสำหรับการประมวลผลบันทึก
- Redis เอาต์พุตปลั๊กอินสำหรับ Fluent: fluke-plugin-redis เป็นปลั๊กอินที่ส่งออกไปยัง redis ได้อย่างคล่องแคล่ว RediSearch:
- นักเทียบท่า : ใช้เป็นแพลตฟอร์มสำหรับนักพัฒนาในการบรรจุแอปพลิเคชันไปยังคอนเทนเนอร์
- นักเทียบท่าเขียน : ใช้สำหรับกำหนดและเรียกใช้แอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์
3. สถาปัตยกรรม
อาจใช้เวลาประมาณหนึ่งนาทีเพื่อดูบันทึกที่กำลังมา คุณสามารถดูบันทึกในหน้าโดยกรองด้วยแถบด้านข้างทางด้านขวา หรือคุณจะค้นหาโดยใช้ตัวกรองหรือข้อความค้นหาแบบเต็มผ่านแถบค้นหาที่ด้านบนเมื่อคุณคลิกที่บันทึก รายละเอียดจะปรากฏขึ้น และคุณจะมีตัวเลือกในการสร้างดัชนีคุณสมบัติทางธุรกิจ คุณสมบัติทางธุรกิจเหล่านี้สามารถใช้เป็นตัวกรองได้ในภายหลัง
ถัดไป ไปที่ localhost:3000/demo เพื่อเข้าถึง Playground และเพิ่มบันทึกที่กำหนดเองของคุณ หน้าสาธิตนี้จะช่วยให้คุณ:- สร้างผู้ใช้ปลอมในเดโมแอปปลอมและดูพวกเขาในบันทึก
- เผยแพร่บันทึกของคุณในระบบ
คำสั่งดังกล่าวจะช่วยให้คุณสร้างข้อความค้นหา 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 ใช้เพื่อจัดเก็บบันทึกโดย Fluentd เช่นนี้ใน ประเภท HashSet ของ Redis
หากต้องการติดตามฟิลด์ที่จัดทำดัชนีโดยผู้ใช้ คุณสามารถเพิ่มออบเจ็กต์ 'schema' ซึ่งใช้ ประเภทรายการ ของเรดิส ใครเป็นคนสร้างแอปพลิเคชันนี้อเล็กซิส การ์ดิน
Alexis เป็นวิศวกรซอฟต์แวร์ที่เป็นนวัตกรรมซึ่งปัจจุบันทำงานให้กับ Zendoc ไปที่หน้า GitHub เพื่อดูว่าเขามีส่วนร่วมในโครงการใดบ้าง