Bạn nên lưu đầu ra kèo bóng đá c1 ký của máy chủ cơ sở dữ liệu ở đâu đó, thay vì chỉ loại bỏ nó qua/dev/null
. Đầu ra kèo bóng đá c1 ký là vô giá khi chẩn đoán sự cố.
kèo bóng đá c1 ký máy chủ có thể chứa thông tin nhạy cảm và cần được bảo vệ, bất kể nó được lưu trữ như thế nào hoặc ở đâu, hoặc đích mà nó được định tuyến. Ví dụ: một số câu lệnh DDL có thể chứa mật khẩu rõ ràng hoặc các chi tiết xác thực khác.ERROR
Cấp độ có thể hiển thị mã nguồn SQL cho các ứng dụng và cũng có thể chứa một số phần của hàng dữ liệu. Ghi lại dữ liệu, sự kiện và thông tin liên quan là chức năng dự định của cơ sở này, vì vậy đây không phải là rò rỉ hoặc lỗi.
Đầu ra kèo bóng đá c1 ký có xu hướng đồ sộ (đặc biệt là ở mức gỡ lỗi cao hơn) vì vậy bạn sẽ không muốn lưu nó vô thời hạn. Bạn cầnROTATECác tệp kèo bóng đá c1 ký để các tệp kèo bóng đá c1 ký mới được bắt đầu và các tệp cũ đã bị xóa sau một khoảng thời gian hợp lý.
Nếu bạn chỉ cần chỉ đạostderrcủaPostgres
thành một tệp, bạn sẽ có đầu ra kèo bóng đá c1 ký, nhưng cách duy nhất để cắt giảm tệp kèo bóng đá c1 ký là dừng và khởi động lại máy chủ. Điều này có thể được chấp nhận nếu bạn đang sử dụngPostgreSQLTrong môi trường phát triển, nhưng rất ít máy chủ sản xuất sẽ thấy hành vi này được chấp nhận.
Cách tiếp cận tốt hơn là gửi máy chủstderrđầu ra cho một số loại chương kèo bóng đá c1nh xoay log. Có một cơ sở xoay vòng log tích hợp, bạn có thể sử dụng bằng cách đặt tham số cấu hìnhlogging_collector
đếnTrue
inPostgreSql.conf
. Các tham số điều khiển cho chương kèo bóng đá c1nh này được mô tả trongPhần 19.8.1. Bạn cũng có thể sử dụng phương pháp này để ghi dữ liệu kèo bóng đá c1 ký trong máy có thể đọc đượcCSV(định dạng giá trị phân tách bằng dấu phẩy).
Ngoài ra, bạn có thể thích sử dụng chương trình xoay vòng kèo bóng đá c1 ký bên ngoài nếu bạn có một chương trình mà bạn đã sử dụng với phần mềm máy chủ khác. Ví dụ:rotatelogsCông cụ được bao gồm trongApachePhân phối có thể được sử dụng vớiPostgreSQL. Một cách để làm điều này là ống máy chủstderrđầu ra cho chương kèo bóng đá c1nh mong muốn. Nếu bạn khởi động máy chủ vớiPG_CTL
, sau đóstderrđã được chuyển hướng đếnstdout, vì vậy bạn chỉ cần một lệnh ống, ví dụ:
PG_CTL Bắt đầu | rotatelogs/var/log/pgsql_log 86400
Bạn có thể kết hợp các phương pháp này bằng cách thiết lậplogrotateĐể thu thập các tệp kèo bóng đá c1 ký được tạo bởiPostgreSQLTrình thu thập ghi kèo bóng đá c1 ký tích hợp. Trong trường hợp này, trình thu thập đăng nhập xác định tên và vị trí của các tệp kèo bóng đá c1 ký, trong khilogrotateLưu trữ định kỳ các kèo bóng đá c1 này. Khi bắt đầu xoay log,logrotatephải đảm bảo rằng ứng dụng sẽ gửi thêm đầu ra cho kèo bóng đá c1 mới. Điều này thường được thực hiện vớiPostrotate
tập lệnh gửiSIGHUP
Tín hiệu cho ứng dụng, sau đó mở lại tệp kèo bóng đá c1 ký. TRONGPostgreSQL, bạn có thể chạyPG_CTL
vớilogrotate
tùy chọn thay thế. Khi máy chủ nhận được lệnh này, máy chủ sẽ chuyển sang tệp kèo bóng đá c1 ký mới hoặc mở lại tệp hiện có, tùy thuộc vào cấu hình ghi kèo bóng đá c1 ký (xemPhần 19.8.1).
Khi sử dụng tên tệp kèo bóng đá c1 ký tĩnh, máy chủ có thể không mở lại tệp kèo bóng đá c1 ký nếu đạt đến giới hạn tệp MAX Open hoặc xảy ra tràn bảng tệp. Trong trường hợp này, tin nhắn kèo bóng đá c1 ký được gửi đến tệp kèo bóng đá c1 ký cũ cho đến khi xoay kèo bóng đá c1 ký thành công.logrotateđược cấu hình để nén tệp kèo bóng đá c1 ký và xóa nó, máy chủ có thể mất các tin nhắn đã đăng nhập vào khung thời gian này. Để tránh sự cố này, bạn có thể định cấu hình trình thu gom ghi kèo bóng đá c1 ký để tự động gán tên tệp kèo bóng đá c1 ký và sử dụngPrerotate
tập lệnh để bỏ qua các tệp kèo bóng đá c1 ký mở.
Một cách tiếp cận cấp sản xuất khác để quản lý đầu ra kèo bóng đá c1 ký là gửi nó đếnsyslogvà đểsyslogXử lý vòng quay kèo bóng đá c1. Để thực hiện việc này, hãy đặt tham số cấu hìnhlog_destination
đếnsyslog
(để đăng nhập vàosyslogchỉ) trongPostgreSql.conf
. Sau đó, bạn có thể gửi mộtSIGHUP
Tín hiệu chosyslogDaemon bất cứ khi nào bạn muốn buộc nó bắt đầu viết một tệp kèo bóng đá c1 ký mới. Nếu bạn muốn tự động hóa vòng quay kèo bóng đá c1 ký,logrotateChương trình có thể được cấu hình để làm việc với các tệp kèo bóng đá c1 ký từsyslog.
Tuy nhiên, trên nhiều hệ thốngsyslogkhông đáng tin cậy lắm, đặc biệt là với các tin nhắn kèo bóng đá c1 ký lớn; Nó có thể cắt ngắn hoặc thả tin nhắn chỉ khi bạn cần chúng nhất.Linux, syslogSẽ xóa từng tin nhắn vào đĩa, mang lại hiệu suất kém. (Bạn có thể sử dụngMạnh-
HồiKhi bắt đầu tên kèo bóng đá c1 trongsyslogkèo bóng đá c1 cấu hình để vô hiệu hóa đồng bộ hóa.)
Lưu ý rằng tất cả các giải pháp được mô tả ở trên đều quan tâm đến việc bắt đầu các tệp kèo bóng đá c1 ký mới theo các khoảng thời gian có thể định cấu hình, nhưng chúng không xử lý việc xóa các tệp kèo bóng đá c1 ký cũ, không kéo dài hơn. Bạn có thể sẽ muốn thiết lập một công việc hàng loạt để xóa định kỳ các tệp kèo bóng đá c1 ký cũ.
PGBADGERlà một dự án bên ngoài thực hiện phân tích tệp kèo bóng đá c1 ký tinh vi.Check_PostgresCung cấp các cảnh báo của Nagios khi các thông báo quan trọng xuất hiện trong các tệp kèo bóng đá c1 ký, cũng như phát hiện nhiều điều kiện phi thường khác.