วิธีการตั้งค่าและทำความเข้าใจการบันทึกใน HAProxy

Withi Kar Tang Kha Laea Thakhwam Kheaci Kar Banthuk Ni Haproxy



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

การตั้งค่าการบันทึกใน HAProxy

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

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







ต่อไปนี้เป็นวิธีตั้งค่าการบันทึกใน HAProxy:



ขั้นตอนที่ 1: ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Rsyslog แล้ว



บทช่วยสอนนี้ใช้เครื่องมือบันทึก Rsyslog สำหรับ HAProxy ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไว้ในระบบของคุณ ตรวจสอบโดยตรวจสอบเวอร์ชัน





ระบบ Linux ล่าสุดมาพร้อมกับ Rsyslog ที่ติดตั้งไว้ล่วงหน้า หากคุณยังไม่ได้ติดตั้งให้รันคำสั่งต่อไปนี้:



$ sudo apt ติดตั้ง rsyslog

ขั้นตอนที่ 2: แก้ไขไฟล์การกำหนดค่า HAProxy

เมื่อคุณมี Rsyslog อยู่บนระบบของคุณแล้ว ขั้นตอนต่อไปคือการเข้าถึงไฟล์การกำหนดค่า HAProxy และกำหนดวิธีที่เราต้องการให้จัดการการบันทึกของเรา ไฟล์การกำหนดค่าอยู่ใน “/etc/haproxy/haproxy.cfg” เปิดด้วยโปรแกรมแก้ไขที่คุณเลือก

sudo นาโน /etc/haproxy/haproxy.cfg

ในส่วนส่วนกลาง เป็นที่ที่เราระบุว่าต้องการให้การบันทึก HAProxy เกิดขึ้นอย่างไร หากคุณมีเซิร์ฟเวอร์ syslog ที่กำลังรับฟังพอร์ตที่กำหนด เช่น พอร์ต UDP 514 คุณอาจส่งบันทึกไปยังเซิร์ฟเวอร์ดังกล่าวผ่านทางสิ่งอำนวยความสะดวก 'local0' ด้วยบรรทัดต่อไปนี้:

หรือคุณสามารถเลือกที่จะส่งบันทึกไปที่ซ็อกเก็ต “/dev/log” และเข้าถึงได้โดยใช้ Rsyslog เพื่อทำเช่นนั้น ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์การกำหนดค่าของคุณ:

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

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

ใต้ส่วน 'ค่าเริ่มต้น' ตรวจสอบให้แน่ใจว่าคุณมีบรรทัดต่อไปนี้:

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

ขั้นตอนที่ 3: แก้ไขไฟล์การกำหนดค่า Rsyslog

ในไฟล์คอนฟิกูเรชัน rsyslog เราต้องกำหนดตำแหน่งที่จะบันทึกบันทึก HAProxy ในกรณีนี้ เราต้องการบันทึกบันทึกทั่วไปและบันทึกระดับการแจ้งเตือน ดังนั้น ให้เปิดไฟล์การกำหนดค่าและเพิ่มข้อความต่อไปนี้ที่ด้านล่าง:

บันทึกการเปลี่ยนแปลงและออกจากไฟล์ Rsyslog จะส่งข้อความบันทึกไปยังไฟล์บันทึกไฟล์ใดไฟล์หนึ่งที่คุณระบุไว้ก่อนหน้านี้ ขึ้นอยู่กับประเภทของข้อความบันทึกที่สร้างขึ้น

ขั้นตอนที่ 4: เริ่มบริการใหม่

จากนั้นคุณต้องเริ่มบริการ HAProxy และ rsyslog ใหม่ รันคำสั่งต่อไปนี้โดยใช้ “systemctl”:

$ sudo systemctl รีสตาร์ท rsyslog.service
$ sudo systemctl รีสตาร์ท haproxy.service

ขั้นตอนที่ 5: ทดสอบการบันทึก

บันทึก HAProxy ของคุณได้รับการตั้งค่าแล้ว ขั้นตอนที่เหลือคือการตรวจสอบว่าการบันทึกใช้งานได้ เพื่อทดสอบ เราใช้คำสั่ง “tail” เพื่อแสดงบรรทัดสุดท้ายในไฟล์บันทึกของเราแบบเรียลไทม์

สังเกตว่าเราระบุเส้นทางเดียวกับที่เราระบุไว้ในไฟล์กำหนดค่า 'rsyslog' ก่อนหน้านี้อย่างไร

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

บทสรุป

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