pgBadger สำหรับวิเคราะห์บันทึก
เรียกใช้ pgBadger กับบันทึกของ Postgres เพื่อสร้างรายงาน HTML เกี่ยวกับคำสั่งค้นหาที่ช้า การรอล็อก และรูปแบบการเชื่อมต่อ
pgBadger สำหรับวิเคราะห์บันทึก เป็นบทเรียน SQL Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน SQL Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
pgBadger คืออะไร
เครื่องมือวิเคราะห์บันทึก PostgreSQL ที่สร้างด้วย Perl ซึ่งสร้างรายงาน HTML ที่อ่านง่ายเกี่ยวกับคิวรีที่ช้า การรอล็อก ข้อผิดพลาด และรูปแบบการเชื่อมต่อ ควรเรียกใช้กับบันทึกของคุณเป็นระยะ
ตั้งค่าการบันทึก
postgresql.conf:
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_min_duration_statement = '500ms'
log_lock_waits = on
log_temp_files = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h 'เรียกใช้ pgBadger
สร้างรายงาน:
pgbadger /var/log/postgresql/postgresql-2024-03-15.csv \
-o report.html
# Multiple files:
pgbadger /var/log/postgresql/*.csv -o report.htmlสิ่งที่มีอยู่ในรายงาน
- คิวรีที่ช้าที่สุดพร้อมตัวอย่าง
- คิวรีที่เรียกใช้บ่อยที่สุด
- คิวรีที่ใช้เวลามากที่สุด
- การรอล็อก
- ข้อผิดพลาด
- รูปแบบการเชื่อมต่อตามช่วงเวลา
- การใช้ไฟล์ชั่วคราว
- กิจกรรมจุดตรวจสอบและการกวาดล้าง
โหมดเพิ่มข้อมูลต่อเนื่อง
สำหรับการวิเคราะห์บันทึกอย่างต่อเนื่อง ให้สร้างรายงานประจำวัน:
pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/*.csv
# Updates an HTML dashboard incrementally.เรียกใช้อัตโนมัติผ่านตัวกำหนดเวลาของระบบ
งานที่ทำทุกคืน:
0 1 * * * pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/postgresql-`date +%F`.csvเทียบกับ pg_stat_statements
pg_stat_statements: ค่าชี้วัดแบบรวมอยู่ภายในฐานข้อมูล
pgBadger: แยกวิเคราะห์บันทึกดิบ และค้นหารูปแบบที่ข้อมูลรวมอาจมองไม่เห็น เช่น การรอล็อก ข้อผิดพลาด และการเชื่อมต่อที่ถาโถม
ค้นหารูปแบบการรอล็อก
pgBadger สรุปการรอล็อกให้ว่า คิวรีใดบล็อกคิวรีใด และบล็อกนานเท่าใด เหมาะอย่างยิ่งสำหรับวิเคราะห์ปัญหาการติดตายและการแย่งใช้ทรัพยากร
ส่วนข้อผิดพลาด
จำนวนครั้งของรหัสข้อผิดพลาดทุกตัว "23505 การละเมิดค่าที่ไม่ซ้ำกัน: 12,000 ครั้ง" เป็นสัญญาณเตือนว่าแอปพลิเคชันกำลังลองแทรกข้อมูลที่ซ้ำอีกครั้ง
ไฟล์ชั่วคราว
คิวรีที่ต้องเขียนข้อมูลชั่วคราวลงดิสก์ เนื่องจากการเรียงลำดับหรือแฮชมีขนาดใหญ่เกินกว่า work_mem:
log_temp_files = 0 -- log all temp file usage
-- pgBadger summarises queries that created temp files.ทางเลือกบนคลาวด์
RDS Performance Insights, Cloud SQL Query Insights และเครื่องมืออื่น ๆ ทำการวิเคราะห์แบบเดียวกันในสภาพแวดล้อมที่มีการจัดการ โดยปกติสร้างอยู่บนแหล่งสถิติเดียวกัน
สรุปทบทวน
pgBadger เปลี่ยนบันทึกของ PostgreSQL ให้เป็นแดชบอร์ด
- ตั้งค่า log_min_duration_statement
- สร้างรายงาน HTML เป็นระยะ
- ค้นหาการรอล็อก ไฟล์ชั่วคราว และรูปแบบข้อผิดพลาด
- ทำงานเสริมกับ pg_stat_statements
ตรวจสอบอย่างรวดเร็ว
คุณเห็นว่าแอปพลิเคชันกำลังลองใช้คำสั่งแทรกข้อมูลหลายครั้ง การตั้งค่าบันทึกของ PostgreSQL ใดช่วยยืนยันเรื่องนี้ได้
คำถามที่พบบ่อย
บทเรียน “pgBadger สำหรับวิเคราะห์บันทึก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “pgBadger สำหรับวิเคราะห์บันทึก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส SQL Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “pgBadger สำหรับวิเคราะห์บันทึก”
เรียกใช้ pgBadger กับบันทึกของ Postgres เพื่อสร้างรายงาน HTML เกี่ยวกับคำสั่งค้นหาที่ช้า การรอล็อก และรูปแบบการเชื่อมต่อ คุณปฏิบัติ SQL Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน SQL Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน SQL Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “pgBadger สำหรับวิเคราะห์บันทึก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน SQL Academy นี้ได้ไหม
ได้ บทเรียน SQL Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- pg_stat_statements: คำสั่งค้นหายอดนิยม
- pgBadger สำหรับวิเคราะห์บันทึก
- การรวมการเชื่อมต่อ: PgBouncer
- การวางแผนความจุและการตรวจสอบข้อมูลบวม