Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

pgbadgerp - Trực tuyến trên đám mây

Chạy pgbadgerp trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh pgbadgerp có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


pgBadger - một báo cáo phân tích nhật ký PostgreSQL nhanh chóng

SYNOPSIS


Cách sử dụng: pgbadger [options] logfile [...]

Trình phân tích nhật ký PostgreSQL với các báo cáo và đồ thị đầy đủ chi tiết.

đối số:

logfile có thể là một tệp nhật ký duy nhất, một danh sách các tệp hoặc một lệnh shell
trả về một danh sách các tệp. Nếu bạn muốn chuyển nội dung nhật ký từ stdin
sử dụng - làm tên tệp. Lưu ý rằng đầu vào từ stdin sẽ không hoạt động với csvlog.
Bạn cũng có thể sử dụng tệp chứa danh sách tệp nhật ký để phân tích cú pháp, xem -L
tùy chọn dòng lệnh.

Tùy chọn:

-a | - phút trung bình: số phút để xây dựng biểu đồ trung bình của
truy vấn và kết nối. Mặc định 5 phút.
-A | - histo-avg minutes: số phút để xây dựng biểu đồ biểu đồ
trong số các truy vấn. Mặc định 60 phút.
-b | --begin datetime: ngày / giờ bắt đầu để dữ liệu được phân tích cú pháp trong nhật ký.
-B | --bar-graph: sử dụng biểu đồ thanh thay vì đường theo mặc định.
-c | - máy chủ lưu trữ --dbclient: chỉ báo cáo về các mục nhập cho máy chủ khách hàng đã cho.
-C | --nocomment: loại bỏ các bình luận như / * ... * / khỏi các truy vấn.
-d | Cơ sở dữ liệu --dbname: chỉ báo cáo về các mục nhập cho cơ sở dữ liệu đã cho.
-D | --dns-Resolutionv: các địa chỉ ip của máy khách được thay thế bằng tên DNS của chúng.
Hãy cảnh báo rằng điều này thực sự có thể làm chậm pgBadger.
-e | --end datetime: ngày / giờ kết thúc để dữ liệu được phân tích cú pháp trong nhật ký.
-f | --format logtype: các giá trị có thể có: syslog, syslog2, stderr và csv.
Mặc định: stderr.
-G | --nograph: tắt đồ thị trên đầu ra HTML. Được bật theo mặc định.
-h | --help: hiển thị thông báo này và thoát.
-i | --ident name: tên chương trình được sử dụng làm danh tính nhật ký hệ thống. Mặc định: postgres
-Tôi | --incremental: sử dụng chế độ tăng dần, các báo cáo sẽ được tạo bởi
ngày trong một thư mục riêng biệt, --outdir phải được đặt.
-j | --jobs number: số lượng công việc phải chạy cùng một lúc. Mặc định là 1,
chạy như một quy trình duy nhất.
-J | --Jobs number: số tệp nhật ký để phân tích cú pháp song song. Vỡ nợ
là 1, chạy như một quy trình duy nhất.
-l | - tệp phân tích cú pháp cuối cùng: cho phép phân tích cú pháp nhật ký gia tăng bằng cách đăng ký
ngày giờ cuối cùng và dòng được phân tích cú pháp. Hữu ích nếu bạn muốn
để xem các lỗi kể từ lần chạy cuối cùng hoặc nếu bạn muốn một lỗi
báo cáo mỗi ngày với nhật ký được xoay vòng mỗi tuần.
-L | tệp logfile-list: tệp chứa danh sách tệp nhật ký để phân tích cú pháp.
-m | --maxlength size: độ dài tối đa của một truy vấn, nó sẽ bị giới hạn ở
kích thước đã cho. Mặc định: không cắt bớt
-M | --no-multiline: không thu thập câu lệnh multiline để tránh rác
đặc biệt là về các lỗi tạo ra một báo cáo lớn.
-n | --nohighlight: tắt đánh dấu mã SQL.
-N | - tên ứng dụng: chỉ báo cáo về các mục nhập cho tên ứng dụng nhất định
-o | --outfile tên tệp: xác định tên tệp cho đầu ra. Mặc định phụ thuộc
ở định dạng đầu ra: out.html, out.txt, out.bin,
out.json hoặc out.tsung.
Với mô-đun JSON :: XS được cài đặt, bạn có thể xuất tệp
ở định dạng JSON.
Để kết xuất đầu ra sang sử dụng stdout - làm tên tệp.
-O | --outdir path: thư mục phải lưu file out.
-p | - chuỗi tiền tố: giá trị của log_line_prefix tùy chỉnh của bạn dưới dạng
được xác định trong postgresql.conf của bạn. Chỉ sử dụng nó nếu bạn
không sử dụng một trong các tiền tố tiêu chuẩn được chỉ định
trong tài liệu pgBadger, chẳng hạn như nếu
tiền tố bao gồm các biến bổ sung như ip máy khách
hoặc tên ứng dụng. Xem ví dụ bên dưới.
-P | --no-Prettify: vô hiệu hóa trình định dạng chuẩn xác các truy vấn SQL.
-q | --quiet: không in bất cứ thứ gì ra stdout, thậm chí không phải là một tiến trình
quán ba.
-r | --remote-host ip: đặt máy chủ nơi thực thi lệnh mèo trên
logfile từ xa để phân tích cú pháp cục bộ tệp.
-R | --retention N: số tuần cần giữ ở chế độ tăng dần. Vỡ nợ
thành 0, bị vô hiệu hóa. Được sử dụng để đặt số lượng con chồn thành
giữ trong thư mục đầu ra. Các tuần và ngày trước
thư mục sẽ tự động bị xóa.
-s | --sample number: số lượng mẫu truy vấn cần lưu trữ. Mặc định: 3.
-S | --select-only: chỉ báo cáo các truy vấn CHỌN.
-t | --top number: số lượng truy vấn để lưu trữ / hiển thị. Mặc định: 20.
-T | --title string: thay đổi tiêu đề của báo cáo trang HTML.
-u | --dbuser username: chỉ báo cáo về các mục nhập cho người dùng đã cho.
-U | --exclude-user username: loại trừ các mục nhập cho người dùng được chỉ định từ
báo cáo.
-v | --verbose: bật chế độ tiết hoặc gỡ lỗi. Bị tắt theo mặc định.
-V | --version: hiển thị phiên bản pgBadger và thoát.
-w | --watch-mode: chỉ báo cáo các lỗi giống như logwatch có thể làm.
-x | --extension: định dạng đầu ra. Giá trị: văn bản, html, bin, json hoặc
tsung. Mặc định: html
-X | --extra-files: trong chế độ gia tăng cho phép pgbadger viết CSS và
Các tệp JS trong thư mục đầu ra dưới dạng các tệp riêng biệt.
-z | --zcat execute_path: đặt đường dẫn đầy đủ đến chương trình zcat. Sử dụng nó nếu
zcat hoặc bzcat hoặc giải nén không có trong đường dẫn của bạn.
--pie-limit num: dữ liệu pie thấp hơn num% sẽ hiển thị tổng thay thế.
--exclude-query regex: bất kỳ truy vấn nào khớp với regex đã cho sẽ bị loại trừ
từ báo cáo. Ví dụ: "^ (VACUUM | COMMIT)"
Bạn có thể sử dụng tùy chọn này nhiều lần.
--exclude-file tên tệp: đường dẫn của tệp chứa tất cả regex tới
sử dụng để loại trừ các truy vấn khỏi báo cáo. Một regex
Mỗi dòng.
--include-query regex: bất kỳ truy vấn nào không khớp với regex đã cho sẽ
bị loại khỏi báo cáo. Bạn có thể sử dụng cái này
tùy chọn nhiều lần. Ví dụ: "(tbl1 | tbl2)".
--include-file tên tệp: đường dẫn của tệp chứa tất cả đại diện của
các truy vấn cần đưa vào báo cáo. Một regex
Mỗi dòng.
--disable-error: không tạo báo cáo lỗi.
--disable-hourly: không tạo báo cáo hàng giờ.
--disable-type: không tạo báo cáo truy vấn theo loại, cơ sở dữ liệu
hoặc người dùng.
--disable-query: không tạo báo cáo truy vấn (chậm nhất, hầu hết
thường xuyên, truy vấn của người dùng, theo cơ sở dữ liệu, ...).
--disable-session: không tạo báo cáo phiên.
- Disable-connection: không tạo báo cáo kết nối.
--disable-lock: không tạo báo cáo khóa.
--disable-tạm thời: không tạo báo cáo tạm thời.
--disable-checkpoint: không tạo báo cáo điểm kiểm tra / điểm khởi động lại.
--disable-autovacuum: không tạo báo cáo autovacuum.
--charset: dùng để đặt bộ mã HTML sẽ được sử dụng.
Mặc định: utf-8.
--csv-partition: được sử dụng để đặt dấu phân tách trường CSV, mặc định:,
--exclude-time regex: bất kỳ dấu thời gian nào khớp với regex đã cho sẽ là
bị loại khỏi báo cáo. Ví dụ: "2013-04-12. *"
Bạn có thể sử dụng tùy chọn này nhiều lần.
--exclude-appname name: loại trừ các mục nhập cho tên ứng dụng đã chỉ định
từ báo cáo. Ví dụ: "pg_dump".
--exclude-line regex: pgbadger sẽ bắt đầu loại trừ bất kỳ mục nhập nhật ký nào
sẽ khớp với regex đã cho. Có thể được sử dụng nhiều
thời gian.
--anonymize: che khuất tất cả các ký tự trong truy vấn, hữu ích để ẩn
Dữ liệu bí mật.
--noreport: ngăn pgbadger tạo báo cáo theo từng bước
chế độ.
--log-time: buộc pgbadger liên kết các mục nhật ký đã tạo
bởi cả log_duration = on và log_statement = 'all'
--enable-checksum: được sử dụng để thêm tổng md5 dưới mỗi báo cáo truy vấn.

pgBadger có thể phân tích cú pháp tệp nhật ký từ xa bằng kết nối ssh không mật khẩu. Sử dụng
-r hoặc --remote-host để đặt địa chỉ ip máy chủ hoặc tên máy chủ. Ngoài ra còn có một số bổ sung
các tùy chọn để kiểm soát hoàn toàn kết nối ssh.

--ssh-program ssh đường dẫn đến chương trình ssh để sử dụng. Mặc định: ssh.
--ssh-tên đăng nhập kết nối tên người dùng người dùng. Mặc định cho người dùng đang chạy.
--ssh-đường dẫn tệp danh tính đến tệp nhận dạng để sử dụng.
--ssh-timeout hết thời gian chờ thứ hai do lỗi kết nối ssh. Mặc định 10 giây.
--ssh-options tùy chọn danh sách các tùy chọn -o để sử dụng cho kết nối ssh.
Các tùy chọn luôn được sử dụng:
-o ConnectTimeout = $ ssh_timeout
-o PreferredAuthentications = hostbased, publickey

Ví dụ:

pgbadger /var/log/postgresql.log
pgbadger /var/log/postgres.log.2.gz /var/log/postgres.log.1.gz
/var/log/postgres.log
pgbadger / var / log / postgresql / postgresql-2012-05- *
pgbadger --exclude-query = "^ (COPY | COMMIT)" /var/log/postgresql.log
pgbadger -b "2012-06-25 10:56:11" -e "2012-06-25 10:59:11"
/var/log/postgresql.log
con mèo /var/log/postgres.log | pgbadger -
# Tiền tố nhật ký với đầu ra nhật ký stderr
perl pgbadger --prefix '% t [% p]: [% l-1] user =% u, db =% d, app =% a, client =% h'
/ pglog / postgresql-2012-08-21 *
perl pgbadger - tiền tố '% m% u @% d% p% r% a:' /pglog/postgresql.log
# Tiền tố dòng nhật ký với đầu ra nhật ký nhật ký hệ thống
perl pgbadger --prefix 'user =% u, db =% d, client =% h, app =% a'
/ pglog / postgresql-2012-08-21 *
# Sử dụng 8 CPU của tôi để phân tích cú pháp tệp 10GB của tôi nhanh hơn, nhanh hơn nhiều
Perl pgbadger -j 8 /pglog/postgresql-9.1-main.log

Tạo tệp XML phiên Tsung chỉ với các truy vấn được chọn:

perl pgbadger -S -o session.tsung --prefix '% t [% p]: [% l-1] user =% u, db =% d' /pglog/postgresql-9.1.log

Báo cáo lỗi hàng tuần theo cron job:

30 23 * * 1 / usr / bin / pgbadger -q -w /var/log/postgresql.log -o /var/reports/pg_errors.html

Tạo báo cáo mỗi tuần bằng cách sử dụng hành vi gia tăng:

0 4 * * 1 / usr / bin / pgbadger -q `find / var / log / -mtime -7 -name "postgresql.log *" `
-o / var / report / pg_errors-`date +% F`.html -l /var/reports/pgbadger_incremental_file.dat

Điều này giả sử rằng tệp nhật ký và báo cáo HTML của bạn cũng được xoay vòng hàng tuần.

Hoặc tốt hơn, sử dụng các báo cáo gia tăng được tạo tự động:

0 4 * * * / usr / bin / pgbadger -I -q /var/log/postgresql/postgresql.log.1
-O / var / www / pg_reports /

sẽ tạo báo cáo mỗi ngày và mỗi tuần.

Ở chế độ tăng dần, bạn cũng có thể chỉ định số tuần cần lưu trong báo cáo:

/ usr / bin / pgbadger --retention 2 -I -q /var/log/postgresql/postgresql.log.1
-O / var / www / pg_reports /

Nếu bạn có pg_dump lúc 23:00 và 13:00 mỗi ngày trong nửa giờ, bạn có thể sử dụng
pgbadger như sau để loại trừ khoảng thời gian này khỏi báo cáo:

pgbadger --exclude-time "2013-09 -. * (23 | 13):. *" postgresql.log

Điều này sẽ giúp tránh có các câu lệnh COPY, như được tạo bởi pg_dump, ở đầu danh sách
truy vấn chậm nhất. Bạn cũng có thể sử dụng --exclude-appname "pg_dump" để giải quyết vấn đề này trong
một cách đơn giản hơn.

MÔ TẢ


pgBadger là một bản dựng trình phân tích nhật ký PostgreSQL để tăng tốc độ với các báo cáo chi tiết đầy đủ từ
tệp nhật ký PostgreSQL của bạn. Đó là một tập lệnh Perl đơn và nhỏ, vượt trội hơn bất kỳ tập lệnh Perl nào khác
Trình phân tích nhật ký PostgreSQL.

Nó được viết bằng ngôn ngữ Perl thuần túy và sử dụng thư viện javascript (flotr2) để vẽ đồ thị
do đó bạn không cần phải cài đặt thêm bất kỳ mô-đun Perl hoặc các gói khác.
Hơn nữa, thư viện này cung cấp cho chúng ta nhiều tính năng hơn như phóng to thu nhỏ. pgBadger cũng sử dụng
Thư viện javascript Bootstrap và FontAwesome webfont để thiết kế tốt hơn. Tất cả mọi thứ là
nhúng.

pgBadger có thể tự động phát hiện định dạng tệp nhật ký của bạn (syslog, stderr hoặc csvlog). Nó là
được thiết kế để phân tích cú pháp các tệp nhật ký lớn cũng như tệp nén gzip. Xem danh sách đầy đủ
các tính năng bên dưới. Định dạng nén được hỗ trợ là gzip, bzip2 và xz. Đối với người cuối cùng bạn
phải có phiên bản xz trên 5.05 hỗ trợ tùy chọn --robot.

Tất cả các biểu đồ đều có thể thu phóng và có thể được lưu dưới dạng ảnh PNG.

Bạn cũng có thể giới hạn pgBadger chỉ báo cáo lỗi hoặc xóa bất kỳ phần nào của báo cáo bằng cách sử dụng
tùy chọn dòng lệnh.

pgBadger hỗ trợ bất kỳ định dạng tùy chỉnh nào được đặt thành chỉ thị log_line_prefix của
tệp postgresql.conf miễn là nó ít nhất chỉ định các mẫu% t và% p.

pgBadger cho phép xử lý song song trên một tệp nhật ký duy nhất và nhiều tệp thông qua việc sử dụng
của tùy chọn -j và số lượng CPU dưới dạng giá trị.

Nếu bạn muốn tiết kiệm hiệu suất hệ thống, bạn cũng có thể sử dụng log_duration thay vì
log_min_duration_statement để chỉ có báo cáo về thời lượng và số lượng truy vấn.

FEATURE


pgBadger báo cáo mọi thứ về các truy vấn SQL của bạn:

Thống kê tổng thể
Các truy vấn chờ đợi thường xuyên nhất.
Truy vấn được chờ đợi nhiều nhất.
Truy vấn tạo các tệp tạm thời nhất.
Truy vấn tạo tệp tạm thời lớn nhất.
Các truy vấn chậm nhất.
Các truy vấn chiếm nhiều thời gian nhất.
Các truy vấn thường xuyên nhất.
Các lỗi thường gặp nhất.
Biểu đồ thời gian truy vấn.
Biểu đồ thời gian của phiên.
Người dùng tham gia vào các truy vấn hàng đầu.
Các ứng dụng liên quan đến các truy vấn hàng đầu.
Các truy vấn tạo ra nhiều lần hủy nhất.
Các truy vấn bị hủy nhiều nhất.

Các báo cáo sau đây cũng có sẵn với biểu đồ hàng giờ chia theo thời gian của năm
phút:

Thống kê truy vấn SQL.
Thống kê tệp tạm thời.
Thống kê các trạm kiểm soát.
Autovacuum và thống kê tự động phân tích.
Truy vấn bị hủy.
Sự kiện lỗi (hoảng sợ, chết người, lỗi và cảnh báo).

Ngoài ra còn có một số báo cáo phân phối bánh về:

Thống kê khóa.
Truy vấn theo loại (chọn / chèn / cập nhật / xóa).
Phân phối loại truy vấn cho mỗi cơ sở dữ liệu / ứng dụng
Phiên trên mỗi cơ sở dữ liệu / người dùng / máy khách / ứng dụng.
Kết nối cho mỗi cơ sở dữ liệu / người dùng / máy khách / ứng dụng.
Tự động hút chân không và tự động phân tích trên mỗi bảng.
Truy vấn trên mỗi người dùng và tổng thời lượng trên mỗi người dùng.

Tất cả các biểu đồ đều có thể thu phóng và có thể được lưu dưới dạng ảnh PNG. Các truy vấn SQL được báo cáo là
tự động đánh dấu và làm đẹp.

Bạn cũng có thể có các báo cáo gia tăng với một báo cáo mỗi ngày và một báo cáo tích lũy cho mỗi
tuần. Hai chế độ đa xử lý có sẵn để tăng tốc độ phân tích cú pháp nhật ký, một chế độ sử dụng một lõi cho mỗi
tệp nhật ký và tệp thứ hai sử dụng nhiều lõi để phân tích cú pháp một tệp. Cả hai chế độ đều có thể
kết hợp.

Mức độ chi tiết của biểu đồ có thể được điều chỉnh bằng cách sử dụng tùy chọn dòng lệnh -A. Theo mặc định họ
sẽ báo cáo trung bình của mỗi truy vấn hàng đầu / lỗi xảy ra mỗi giờ, nhưng bạn có thể chỉ định
độ chi tiết đến từng phút.

pgBadger cũng có thể được sử dụng ở một vị trí trung tâm để phân tích cú pháp các tệp nhật ký từ xa bằng mật khẩu
kết nối SSH ít hơn. Chế độ này có thể được sử dụng với các tệp nén và ở chế độ đa xử lý
mỗi tệp (-J) nhưng không thể được sử dụng với định dạng nhật ký CSV.

YÊU CẦU


pgBadger xuất hiện dưới dạng một tập lệnh Perl duy nhất - bạn không cần bất kỳ thứ gì khác ngoài một Perl hiện đại
phân bổ. Biểu đồ được hiển thị bằng thư viện Javascript nên bạn không cần bất cứ thứ gì.
Trình duyệt của bạn sẽ thực hiện tất cả công việc.

Nếu bạn định phân tích cú pháp tệp nhật ký PostgreSQL CSV, bạn có thể cần một số Mô-đun Perl:

Văn bản :: CSV_XS - để phân tích cú pháp tệp nhật ký CSV của PostgreSQL.

Mô-đun này là tùy chọn, nếu bạn không có đăng nhập PostgreSQL ở định dạng CSV, bạn không cần
để cài đặt nó.

Nếu bạn muốn xuất thống kê dưới dạng tệp JSON, bạn cần một mô-đun Perl bổ sung:

JSON :: XS - JSON serialising / deserialising, được thực hiện một cách chính xác và nhanh chóng

Mô-đun này là tùy chọn, nếu bạn không chọn định dạng đầu ra json, bạn không cần
cài đặt nó.

Định dạng tệp nhật ký nén được tự động phát hiện từ phần giải thích tệp. Nếu pgBadger tìm thấy một gz
phần mở rộng nó sẽ sử dụng tiện ích zcat, với phần mở rộng bz2 nó sẽ sử dụng bzcat và nếu
phần mở rộng tệp là zip hoặc xz thì các tiện ích giải nén hoặc xz sẽ được sử dụng.

Nếu những tiện ích đó không được tìm thấy trong biến môi trường PATH thì hãy sử dụng --zcat
tùy chọn dòng lệnh để thay đổi đường dẫn này. Ví dụ:

--zcat = "/ usr / local / bin / gunzip -c" hoặc --zcat = "/ usr / local / bin / bzip2 -dc"
--zcat = "C: \ tools \ unzip -p"

Theo mặc định, pgBadger sẽ sử dụng các tiện ích zcat, bzcat và giải nén sau tệp
sự mở rộng. Nếu bạn sử dụng định dạng nén tự động phát hiện mặc định, bạn có thể trộn gz, bz2, xz
hoặc các tệp nén. Việc chỉ định giá trị tùy chỉnh cho tùy chọn --zcat sẽ loại bỏ tính năng hỗn hợp này
định dạng nén.

Lưu ý rằng không thể sử dụng đa xử lý với tệp nén hoặc tệp CSV cũng như
dưới nền tảng Windows.

LẮP ĐẶT


Tải xuống tarball từ github và giải nén kho lưu trữ như sau:

tar xzf pgbadger-7.x.tar.gz
cd pgbadger-7.x /
Perl Makefile.PL
make && sudo thực hiện cài đặt

Điều này sẽ sao chép tập lệnh Perl pgbadger sang / usr / local / bin / pgbadger theo mặc định và man
trang thành /usr/local/share/man/man1/pgbadger.1. Đó là những cài đặt mặc định
thư mục để cài đặt 'trang web'.

Nếu bạn muốn cài đặt tất cả dưới / usr / vị trí, sử dụng INSTALLDIRS = 'perl' làm đối số của
Makefile.PL. Tập lệnh sẽ được cài đặt vào / usr / bin / pgbadger và manpage vào
/usr/share/man/man1/pgbadger.1.

Ví dụ, để cài đặt mọi thứ giống như Debian, hãy tiến hành như sau:

perl Makefile.PL INSTALLDIRS = nhà cung cấp

Theo mặc định, INSTALLDIRS được đặt thành trang web.

POSTGRESQL CẤU HÌNH


Bạn phải bật và đặt một số chỉ thị cấu hình trong postgresql.conf của mình trước khi
bắt đầu.

Trước tiên, bạn phải bật ghi nhật ký truy vấn SQL để phân tích cú pháp:

log_min_duration_statement = 0

Tại đây mọi câu lệnh sẽ được ghi lại, trên máy chủ bận, bạn có thể muốn tăng giá trị này lên
chỉ các truy vấn ghi nhật ký có thời lượng cao hơn. Lưu ý rằng nếu bạn đã đặt log_statement thành
'tất cả' sẽ không có gì được ghi lại thông qua chỉ thị log_min_duration_statement. Xem tiếp
chương để biết thêm thông tin.

Với định dạng nhật ký 'stderr', log_line_prefix ít nhất phải là:

log_line_prefix = '% t [% p]: [% l-1]'

Tiền tố dòng nhật ký có thể thêm người dùng, tên cơ sở dữ liệu, tên ứng dụng và địa chỉ ip máy khách dưới dạng
sau:

log_line_prefix = '% t [% p]: [% l-1] user =% u, db =% d, app =% a, client =% h'

hoặc cho định dạng tệp nhật ký nhật ký hệ thống:

log_line_prefix = 'user =% u, db =% d, app =% aclient =% h'

Tiền tố dòng nhật ký cho đầu ra stderr cũng có thể là:

log_line_prefix = '% t [% p]: [% l-1] db =% d, user =% u, app =% a, client =% h'

hoặc cho đầu ra nhật ký hệ thống:

log_line_prefix = 'db =% d, user =% u, app =% a, client =% h'

Bạn cần kích hoạt các tham số khác trong postgresql.conf để nhận thêm thông tin từ
tệp nhật ký:

log_checkpoint = bật
log_connections = bật
log_disconnections = bật
log_lock_waits = bật
log_temp_files = 0
log_autovacuum_min_duration = 0

Không bật log_statement vì định dạng nhật ký của chúng sẽ không được pgBadger phân tích cú pháp.

Tất nhiên, thông báo nhật ký của bạn phải bằng tiếng Anh mà không cần hỗ trợ ngôn ngữ:

lc_messages = 'C'

nhưng điều này không chỉ được khuyến nghị bởi pgBadger.

Lưu ý: dòng phiên [% l-1] chỉ được sử dụng để khớp với tiền tố mặc định cho "stderr". Các
-1 không có mục đích thực sự và về cơ bản không được sử dụng trong thống kê / đồ thị Pgbadger. Bạn có thể
đã xóa chúng khỏi log_line_prefix một cách an toàn nhưng bạn sẽ cần đặt lệnh --prefix
tùy chọn dòng.

câu lệnh log_min_duration_, log_duration log_statement


Nếu bạn muốn báo cáo thống kê đầy đủ, bạn phải đặt log_min_duration_statement thành 0 hoặc hơn
mili giây.

Nếu bạn chỉ muốn báo cáo thời lượng và số lượng truy vấn và không muốn biết tất cả chi tiết về
truy vấn, đặt log_min_duration_statement thành -1 để tắt nó và bật log_duration trong
tệp postgresql.conf của bạn. Nếu bạn muốn thêm báo cáo yêu cầu phổ biến nhất, bạn có thể
hoặc chọn đặt log_min_duration_statement thành giá trị cao hơn hoặc chọn bật
log_statement.

Bật log_min_duration_statement sẽ thêm báo cáo về các truy vấn và truy vấn chậm nhất
chiếm nhiều thời gian nhất. Hãy lưu ý rằng nếu bạn có log_statement được đặt thành 'tất cả' thì không có gì
sẽ được ghi bằng log_line_prefix.

SONG SONG, TƯƠNG ĐÔNG CHẾ BIẾN


Để kích hoạt xử lý song song, bạn chỉ cần sử dụng tùy chọn -j N trong đó N là số
trong số lõi bạn muốn sử dụng.

pgbadger sau đó sẽ tiến hành như sau:

cho mỗi tệp nhật ký
kích thước chunk = int (kích thước tệp / N)
nhìn vào hiệu số bắt đầu / kết thúc của những phần này
fork N xử lý và tìm kiếm điểm bù bắt đầu của mỗi đoạn
mỗi quá trình sẽ kết thúc khi trình phân tích cú pháp đạt đến điểm bù cuối
của nó
mỗi quá trình ghi số liệu thống kê vào một tệp tạm thời nhị phân
đợi cho tất cả trẻ em đã kết thúc
Tất cả các tệp tạm thời nhị phân được tạo sau đó sẽ được đọc và tải vào
bộ nhớ để xây dựng đầu ra html.

Với phương pháp đó, khi bắt đầu / kết thúc các đoạn pgbadger có thể cắt bớt hoặc bỏ qua tối đa N
truy vấn perl tệp nhật ký, đó là một khoảng cách không đáng kể nếu bạn có hàng triệu truy vấn trong
tệp nhật ký của bạn. Cơ hội mà truy vấn mà bạn đang tìm kiếm bị lỏng gần bằng 0,
đây là lý do tại sao tôi nghĩ rằng khoảng cách này là có thể sống được. Hầu hết thời gian truy vấn được tính hai lần nhưng
cắt ngắn.

Khi bạn có nhiều tệp nhật ký nhỏ và nhiều CPU, việc dành một lõi sẽ nhanh hơn
vào một tệp nhật ký tại một thời điểm. Để kích hoạt hành vi này, bạn phải sử dụng tùy chọn -JN để thay thế.
Với 200 tệp nhật ký 10MB mỗi tệp, việc sử dụng tùy chọn -J bắt đầu thực sự thú vị
với 8 lõi. Sử dụng phương pháp này, bạn sẽ chắc chắn không bỏ sót bất kỳ truy vấn nào trong báo cáo.

Anh ta là một điểm chuẩn được thực hiện trên một máy chủ có 8 CPU và một tệp duy nhất là 9.5GB.

Tùy chọn | 1 CPU | 2 CPU | 4 CPU | 8 CPU
-------- + --------- + ------- + ------- + ------
-j | 1h41phút18 | 50m25 | 25phút39 | 15m58
-J | 1h41phút18 | 54m28 | 41m16 | 34m45

Với 200 tệp nhật ký, mỗi tệp 10MB và tổng dung lượng là 2GB, kết quả hơi khác một chút:

Tùy chọn | 1 CPU | 2 CPU | 4 CPU | 8 CPU
-------- + ------- + ------- + ------- + ------
-j | 20 m15 | 9m56 | 5m20 | 4m20
-J | 20 m15 | 9phút49 | 5m00 | 2m40

Vì vậy, bạn nên sử dụng -j trừ khi bạn có hàng trăm tệp nhật ký nhỏ và có thể sử dụng tại
ít nhất 8 CPU.

QUAN TRỌNG: khi bạn đang sử dụng pgbadger phân tích cú pháp song song sẽ tạo ra rất nhiều
các tập tin trong / Tmp thư mục và sẽ xóa chúng khi kết thúc, vì vậy không xóa các tệp đó
trừ khi pgbadger không chạy. Tất cả chúng đều được đặt tên theo mẫu sau
tmp_pgbadgerXXXX.bin để chúng có thể dễ dàng được xác định.

TĂNG BÁO CÁO


pgBadger bao gồm chế độ báo cáo gia tăng tự động bằng cách sử dụng tùy chọn -I hoặc --incremental.
Khi chạy ở chế độ này, pgBadger sẽ tạo một báo cáo mỗi ngày và một báo cáo tích lũy
báo cáo mỗi tuần. Đầu ra được thực hiện đầu tiên ở định dạng nhị phân vào thư mục đầu ra bắt buộc
(xem tùy chọn -O hoặc --outdir), sau đó ở định dạng HTML cho các báo cáo hàng ngày và hàng tuần với
tệp chỉ mục.

Tệp chỉ mục chính sẽ hiển thị menu thả xuống mỗi tuần với liên kết đến báo cáo tuần và
liên kết đến các báo cáo hàng ngày của tuần này.

Ví dụ: nếu bạn chạy pgBadger như sau dựa trên tệp được xoay hàng ngày:

0 4 * * * / usr / bin / pgbadger -I -q /var/log/postgresql/postgresql.log.1 \
-O / var / www / pg_reports /

bạn sẽ có tất cả các báo cáo hàng ngày và hàng tuần cho toàn bộ thời gian hoạt động.

Trong chế độ này, pgBagder sẽ tạo một tệp gia tăng tự động vào thư mục đầu ra,
vì vậy bạn không phải sử dụng tùy chọn -l trừ khi bạn muốn thay đổi đường dẫn của tệp đó.
Điều này có nghĩa là bạn có thể chạy pgBadger ở chế độ này mỗi ngày trên một tệp nhật ký được xoay vòng từng
tuần, nó sẽ không tính các mục nhập nhật ký hai lần.

Để tiết kiệm dung lượng ổ đĩa, bạn có thể muốn sử dụng tùy chọn dòng lệnh -X hoặc --extra-files để
buộc pgBadger viết javascript và css để tách các tệp trong thư mục đầu ra. Các
tài nguyên sau đó sẽ được tải bằng cách sử dụng tập lệnh và thẻ liên kết.

nhị phân FORMAT


Sử dụng định dạng nhị phân, có thể tạo tùy chỉnh tăng dần và tích lũy
báo cáo. Ví dụ: nếu bạn muốn làm mới báo cáo pgbadger mỗi giờ từ hàng ngày
Tệp nhật ký PostgreSQl, bạn có thể tiếp tục bằng cách chạy mỗi giờ các lệnh sau:

pgbadger --last-parsed .pgbadger_last_state_file -o chủ nhật / giờX.bin /var/log/pgsql/postgresql-Sun.log

để tạo các tệp dữ liệu gia tăng ở định dạng nhị phân. Và để tạo HTML mới
báo cáo từ tệp nhị phân đó:

pgbadger chủ nhật / *. bin

Hoặc một ví dụ khác, nếu bạn có một tệp nhật ký mỗi giờ và bạn muốn báo cáo
xây dựng lại mỗi khi tệp nhật ký được chuyển đổi. Thực hiện như sau:

pgbadger -o day1 / hours01.bin /var/log/pgsql/pglog/postgresql-2012-03-23_10.log
pgbadger -o day1 / hours02.bin /var/log/pgsql/pglog/postgresql-2012-03-23_11.log
pgbadger -o day1 / hours03.bin /var/log/pgsql/pglog/postgresql-2012-03-23_12.log
...

Khi bạn muốn làm mới báo cáo HTML, ví dụ: mỗi lần sau một tệp nhị phân mới là
được tạo, chỉ cần làm như sau:

pgbadger -o day1_report.html day1 / *. bin

Điều chỉnh các lệnh theo nhu cầu của bạn.

JSON FORMAT


Định dạng JSON rất tốt để chia sẻ dữ liệu với các ngôn ngữ khác, điều này giúp bạn dễ dàng
tích hợp kết quả của pgBadger vào các công cụ giám sát khác như Cacti hoặc Graphite.

TÁC GIẢ


pgBadger là một tác phẩm gốc của Gilles Darold.

Logo pgBadger là một sáng tạo ban đầu của Damien Clochard.

Thiết kế pgBadger v4.x đến từ công ty "Art is code".

Trang web này là tác phẩm của Gilles Darold.

pgBadger được duy trì bởi Gilles Darold, những người tốt tại Dalibo và mọi người muốn
đóng góp.

Nhiều người đã đóng góp cho pgBadger, tất cả đều được trích dẫn trong tệp Changelog.

Sử dụng pgbadgerp trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Quản lý PAC
    Quản lý PAC
    PAC là sự thay thế Perl / GTK cho
    SecureCRT/Putty/vv (linux
    ssh/telnet/... gui)... Nó cung cấp một GUI
    để định cấu hình kết nối: người dùng,
    mật khẩu, quy định EXPECT...
    Tải xuống Trình quản lý PAC
  • 2
    GeoServer
    GeoServer
    GeoServer là một phần mềm mã nguồn mở
    máy chủ được viết bằng Java cho phép người dùng
    để chia sẻ và chỉnh sửa dữ liệu không gian địa lý.
    Được thiết kế cho khả năng tương tác, nó
    xuất bản da ...
    Tải xuống GeoServer
  • 3
    con đom đóm III
    con đom đóm III
    Tài chính cá nhân mã nguồn mở và miễn phí
    giám đốc. Firefly III có một
    hệ thống kế toán kép. Bạn có thể
    nhanh chóng nhập và tổ chức của bạn
    giao dịch tôi ...
    Tải xuống Firefly III
  • 4
    Phần mở rộng Apache OpenOffice
    Phần mở rộng Apache OpenOffice
    Danh mục chính thức của Apache
    Tiện ích mở rộng OpenOffice. Bạn sẽ tìm ra
    các phần mở rộng khác nhau, từ từ điển đến
    công cụ để nhập tệp PDF và kết nối
    với máy lẻ ...
    Tải xuống tiện ích mở rộng Apache OpenOffice
  • 5
    bọ ngựaBT
    bọ ngựaBT
    Mantis là một trang web có thể triển khai dễ dàng
    dựa trên trình kiểm soát lỗi để hỗ trợ lỗi sản phẩm
    theo dõi. Nó yêu cầu PHP, MySQL và
    máy chủ web. Kiểm tra bản demo của chúng tôi và được lưu trữ
    phạm tội ...
    Tải xuống MantisBT
  • 6
    Sứ giả mạng LAN
    Sứ giả mạng LAN
    LAN Messenger là một ứng dụng trò chuyện p2p
    cho giao tiếp mạng nội bộ và không
    yêu cầu một máy chủ. Nhiều loại tiện dụng
    các tính năng được hỗ trợ bao gồm
    thông báo ...
    Tải xuống LAN Messenger
  • Khác »

Lệnh Linux

  • 1
    tuân thủ
    tuân thủ
    abidw - tuần tự hóa ABI của ELF
    file abidw đọc thư viện dùng chung trong ELF
    định dạng và phát ra một biểu diễn XML
    ABI của nó thành đầu ra tiêu chuẩn. Các
    phát ra...
    Chạy tiếp tục
  • 2
    khả năng
    khả năng
    abilint - xác thực một ABI abigail
    đại diện abilint phân tích cú pháp bản địa
    Biểu diễn XML của ABI khi được phát ra
    bởi abidw. Khi nó đã phân tích cú pháp XML
    trả lại ...
    chạy abilint
  • 3
    coresendmsg
    coresendmsg
    coresendmsg - gửi tin nhắn API CORE
    đến daemon lõi-daemon ...
    Chạy coresendmsg
  • 4
    core_server
    core_server
    core_server - Máy chủ chính cho
    Thư rácBayes. MÔ TẢ: Hiện đang phục vụ
    chỉ giao diện web. Cắm vào
    người nghe cho các giao thức khác nhau là TBD.
    Điều này ...
    Chạy core_server
  • 5
    fwflash
    fwflash
    fwflash - chương trình flash tập tin hình ảnh
    với một thiết bị NXT được kết nối ...
    Chạy fwflash
  • 6
    fwts-sưu tầm
    fwts-sưu tầm
    fwts-collect - thu thập nhật ký cho fwts
    báo cáo lỗi. ...
    Chạy fwts-collect
  • Khác »

Ad