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

Ad


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

check_postgres_table_sizep - Trực tuyến trên Đám mây

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

Đây là lệnh check_postgres_table_sizep 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 giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


check_postgres - một tập lệnh giám sát Postgres cho Nagios, MRTG, Cacti và những người khác

Tài liệu này mô tả check_postgres phiên bản 2.22.0

SYNOPSIS


## Tạo tất cả các liên kết tượng trưng
check_postgres --symlinks

## Kiểm tra kết nối với cơ sở dữ liệu Postgres 'pluto':
check_postgres --action = connection --db = pluto

## Những thứ tương tự, nhưng sử dụng liên kết biểu tượng
check_postgres_connection --db = pluto

## Cảnh báo nếu> 100 khóa, quan trọng nếu> 200 hoặc> 20 khóa
check_postgres_locks --warning = 100 --critical = "total = 200: unique = 20"

## Hiển thị số lượng kết nối không hoạt động hiện tại trên cổng 6543:
check_postgres_txn_idle --port = 6543 --output = simple

## Còn nhiều thao tác và tùy chọn khác, hãy tiếp tục đọc.

Tin tức và tài liệu mới nhất luôn có thể được tìm thấy tại:
http://bucardo.org/check_postgres/

MÔ TẢ


check_postgres là một tập lệnh Perl chạy nhiều thử nghiệm khác nhau với một hoặc nhiều
Cơ sở dữ liệu Postgres. Nó sử dụng chương trình psql để thu thập thông tin và xuất ra
kết quả ở một trong ba định dạng: Nagios, MRTG hoặc đơn giản.

Đầu ra Chế độ
Đầu ra có thể được thay đổi bằng cách sử dụng tùy chọn "--output". Đầu ra mặc định là nagios,
mặc dù điều này có thể được thay đổi ở đầu tập lệnh nếu bạn muốn. Tùy chọn hiện tại
lựa chọn là nagios, Mrtgđơn giản. Để tránh phải nhập đối số đầu ra, mỗi
thời gian, loại đầu ra được đặt tự động nếu không có đối số --output được đưa ra và nếu
thư mục hiện tại có một trong các tùy chọn đầu ra trong tên của nó. Ví dụ: tạo một
thư mục có tên mrtg và điền nó bằng các liên kết tượng trưng thông qua --liên kết tượng trưng tranh luận sẽ
đảm bảo rằng bất kỳ hành động nào chạy từ thư mục đó sẽ luôn được mặc định cho kết quả đầu ra là "mrtg"
Là một phím tắt cho --output = simple, bạn có thể nhập --simple, điều này cũng ghi đè
thủ thuật đặt tên thư mục.

Nagios đầu ra

Định dạng đầu ra mặc định dành cho Nagios, là một dòng thông tin, cùng với
bốn mã thoát cụ thể:

0 (Được)
1 (CẢNH BÁO)
2 (QUAN TRỌNG)
3 (KHÔNG BIẾT)

Dòng đầu ra là một trong những từ ở trên, dấu hai chấm, sau đó là mô tả ngắn gọn về những gì
được đo. Thông tin thống kê bổ sung, cũng như tổng thời gian lệnh
đã lấy, cũng có thể xuất ra: xem tài liệu về các đối số --showperf,
--perflimit- thời gian trình chiếu.

MRTG đầu ra

Đầu ra MRTG là bốn dòng, với dòng đầu tiên luôn cho một số
tầm quan trọng. Khi có thể, con số này đại diện cho một giá trị thực tế, chẳng hạn như một số
byte, nhưng nó cũng có thể là 1 hoặc 0 đối với các hành động chỉ trả về "true" hoặc "false", chẳng hạn như
dưới dạng check_postgres_version. Dòng thứ hai là chỉ số bổ sung và chỉ được sử dụng cho
một số hành động. Dòng thứ ba cho biết "thời gian hoạt động" và không được sử dụng. Dòng thứ tư là một
mô tả và thường chỉ ra tên của cơ sở dữ liệu thống kê từ dòng đầu tiên
được lấy từ, nhưng có thể khác nhau tùy thuộc vào hành động.

Một số hành động chấp nhận một tùy chọn --mrtg để kiểm soát thêm đầu ra.

Xem tài liệu về từng hành động để biết chi tiết về kết quả MRTG chính xác cho từng hành động.

Đơn giản đầu ra

Đầu ra đơn giản chỉ là một phiên bản rút gọn của MRTG và chỉ cần trả về
số đầu tiên và không có gì khác. Điều này rất hữu ích khi bạn chỉ muốn kiểm tra trạng thái
của một cái gì đó, bất kể ngưỡng nào. Bạn có thể chuyển đổi đầu ra số bằng cách
thêm KB, MB, GB, TB hoặc EB vào đối số đầu ra, ví dụ:

--output = đơn giản, MB

Cacti đầu ra

Đầu ra Cacti bao gồm một hoặc nhiều mục trên cùng một dòng, với một tên đơn giản,
dấu hai chấm, và sau đó là một số. Hiện tại, hành động duy nhất với đầu ra Cacti rõ ràng là
'dbstats' và sử dụng tùy chọn --output là không cần thiết trong trường hợp này, vì Cacti là
đầu ra cho hành động này. Đối với nhiều hành động khác, sử dụng --simple là đủ để làm cho Cacti
vui mừng.

DATABASE Liên kết LỰA CHỌN


Tất cả các hành động đều chấp nhận một tập hợp các tùy chọn cơ sở dữ liệu chung.

-H TÊN or --host = NAME
Kết nối với máy chủ do NAME chỉ định. Có thể là danh sách tên được phân tách bằng dấu phẩy.
Nhiều đối số máy chủ được cho phép. Nếu không có máy chủ nào được cung cấp, mặc định là "PGHOST"
biến môi trường hoặc không có máy chủ nào cả (cho biết đang sử dụng ổ cắm Unix cục bộ).
Bạn cũng có thể sử dụng "--dbhost".

-p PORT or --port = PORT
Kết nối bằng số PORT được chỉ định. Có thể là danh sách cổng được phân tách bằng dấu phẩy
số và nhiều đối số cổng được cho phép. Nếu không có số cổng được cung cấp, mặc định
vào biến môi trường "PGPORT". Nếu điều đó không được đặt, nó sẽ mặc định là 5432. Bạn có thể
cũng sử dụng "--dbport"

-db TÊN or --dbname = NAME
Chỉ định cơ sở dữ liệu để kết nối. Có thể là danh sách tên được phân tách bằng dấu phẩy và
nhiều đối số dbname được cho phép. Nếu không có tùy chọn dbname nào được cung cấp, thì mặc định là
biến môi trường "PGDATABASE". Nếu điều đó không được đặt, nó sẽ mặc định là 'postgres'
nếu psql là phiên bản 8 trở lên và 'template1' nếu không.

-u USERNAME or --dbuser = USERNAME
Tên của người dùng cơ sở dữ liệu để kết nối với tư cách. Có thể là danh sách được phân tách bằng dấu phẩy gồm
tên người dùng và nhiều đối số dbuser được cho phép. Nếu điều này không được cung cấp, nó
mặc định cho biến môi trường "PGUSER", nếu không, nó sẽ mặc định là "postgres".

--dbpass = MẬT KHẨU
Cung cấp mật khẩu để kết nối với cơ sở dữ liệu. Sử dụng tùy chọn này là rất cao
nản lòng. Thay vào đó, người ta nên sử dụng tệp .pgpass hoặc pg_service.conf.

--dbservice = NAME
Tên của một dịch vụ bên trong tệp pg_service.conf. Trước phiên bản 9.0 của
Postgres, đây là một tệp chung, thường được tìm thấy trong /etc/pg_service.conf. Nếu bạn là
sử dụng phiên bản 9.0 trở lên của Postgres, bạn có thể sử dụng tệp ".pg_service.conf" trong
thư mục chính của người dùng đang chạy script, ví dụ nagios.

Tệp này chứa một danh sách các tùy chọn kết nối đơn giản. Bạn cũng có thể vượt qua bổ sung
thông tin khi sử dụng tùy chọn này chẳng hạn như --dbservice = "maindatabase sslmode = request"

Tài liệu cho tệp này có thể được tìm thấy tại
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

Các tùy chọn kết nối cơ sở dữ liệu có thể được nhóm lại: --host = a, b --host = c --port = 1234
--port = 3344 sẽ kết nối với a-1234, b-1234 và c-3344. Lưu ý rằng sau khi đặt, một tùy chọn
tiếp tục cho đến khi nó được thay đổi một lần nữa.

Ví dụ:

--host = a, b --port = 5433 --db = c
Kết nối hai lần với cổng 5433, sử dụng cơ sở dữ liệu c, để lưu trữ a và b: a-5433-c b-5433-c

--host = a, b --port = 5433 --db = c, d
Kết nối bốn lần: a-5433-c a-5433-d b-5433-c b-5433-d

--host = a, b --host = foo --port = 1234 --port = 5433 --db = e, f
Kết nối sáu lần: a-1234-e a-1234-f b-1234-e b-1234-f foo-5433-e foo-5433-f

--host = a, b --host = x --port = 5432,5433 --dbuser = alice --dbuser = bob -db = baz
Kết nối ba lần: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice = "foo" --port = 5433
Kết nối bằng dịch vụ có tên 'foo' trong tệp pg_service.conf, nhưng ghi đè cổng

KHÁC LỰA CHỌN


Các tùy chọn khác bao gồm:

--action = NAME
Thông báo hành động mà chúng tôi đang thực hiện. Bắt buộc trừ khi sử dụng tệp được liên kết tượng trưng, ​​trong đó
trường hợp tên của tệp được sử dụng để tìm ra hành động.

--warning = VAL or -w VAL
Đặt ngưỡng mà cảnh báo cảnh báo được kích hoạt. Các tùy chọn hợp lệ cho việc này
tùy chọn tùy thuộc vào hành động được sử dụng.

- tới hạn = VAL or -c VAL
Đặt ngưỡng mà cảnh báo quan trọng được kích hoạt. Các tùy chọn hợp lệ cho việc này
tùy chọn tùy thuộc vào hành động được sử dụng.

-t VAL or --timeout = VAL
Đặt thời gian chờ tính bằng giây, sau đó tập lệnh sẽ hủy bỏ bất cứ điều gì nó đang làm và
trả về trạng thái UNKNOWN. Thời gian chờ là trên mỗi cụm Postgres, không phải cho toàn bộ
kịch bản. Giá trị mặc định là 10; đơn vị luôn tính bằng giây.

--assume-chế độ chờ
Nếu được chỉ định, trước tiên hãy kiểm tra xem máy chủ ở chế độ chờ có được thực hiện hay không (--datadir
là bắt buộc), nếu vậy, tất cả các kiểm tra yêu cầu truy vấn SQL sẽ bị bỏ qua và "Máy chủ
ở chế độ chờ "với trạng thái OK sẽ được trả về thay thế.

Ví dụ:

postgres@db$./check_postgres --action = version --warning = 8.1 --datadir /var/lib/postgresql/8.3/main/ --assume-standby-mode
POSTGRES_VERSION OK: Máy chủ ở chế độ chờ | thời gian = 0.00

--giả sử-prod
Nếu được chỉ định, hãy kiểm tra xem máy chủ ở chế độ sản xuất có được thực hiện hay không (--datadir là bắt buộc).
Tùy chọn này chỉ phù hợp với ("liên kết biểu tượng: check_postgres_checkpoint").

Ví dụ:

postgres@db$./check_postgres --action = checkpoint --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT OK: Điểm kiểm tra lần cuối cách đây 72 giây | age = 72 ;; 300 mode = MASTER

-h or --Cứu giúp
Hiển thị màn hình trợ giúp với bản tóm tắt tất cả các hành động và tùy chọn.

--Đàn ông
Hiển thị toàn bộ sách hướng dẫn.

-V or --phiên bản
Hiển thị phiên bản hiện tại.

-v or --dài dòng
Đặt mức độ chi tiết. Có thể gọi nhiều hơn một lần để tăng cấp độ. Đặt nó thành
ba hoặc cao hơn (nói cách khác, phát hành "-v -v -v") bật thông tin gỡ lỗi
cho chương trình này được gửi đến stderr.

--showperf = VAL
Xác định xem chúng tôi có xuất dữ liệu hiệu suất bổ sung ở định dạng Nagios tiêu chuẩn hay không (ở phần cuối
của chuỗi, sau một ký hiệu ống dẫn, sử dụng tên = giá trị). VAL phải là 0 hoặc 1. Giá trị mặc định
là 1. Chỉ có hiệu lực nếu sử dụng chế độ đầu ra Nagios.

--perflimit = tôi
Đặt giới hạn về số lượng mặt hàng quan tâm được báo cáo lại khi sử dụng
diễn viên Lựa chọn. Điều này chỉ có hiệu lực đối với các hành động trả về một số lượng lớn
các mặt hàng, chẳng hạn như kích thước bảng. Giá trị mặc định là 0 hoặc không có giới hạn. Hãy cẩn thận khi sử dụng cái này
với --bao gồm or --loại trừ tùy chọn, khi những hạn chế đó được thực hiện sau khi các
truy vấn đã được chạy, và do đó giới hạn của bạn có thể không bao gồm các mục bạn muốn. Chỉ mất
hiệu ứng nếu sử dụng chế độ đầu ra Nagios.

--showtime = VAL
Xác định xem thời gian thực hiện để chạy mỗi truy vấn có được hiển thị trong đầu ra hay không. VAL phải bằng 0
hoặc 1. Giá trị mặc định là 1. Không có hiệu lực trừ khi diễn viên đang bật. Chỉ có hiệu lực nếu sử dụng
Chế độ đầu ra Nagios.

--kiểm tra
Bật chế độ kiểm tra. Xem phần "CHẾ ĐỘ KIỂM TRA" bên dưới.

--PGBINDIR = PATH
Cho script biết nơi tìm mã nhị phân psql. Hữu ích nếu bạn có nhiều hơn một
phiên bản thực thi PostgreSQL trên hệ thống của bạn hoặc nếu không có trong
con đường. Lưu ý rằng tùy chọn này được viết hoa toàn bộ. Theo mặc định, tùy chọn này là không
cho phép. Để kích hoạt nó, bạn phải thay đổi $ NO_PSQL_OPTION ở gần đầu tập lệnh
thành 0. Tránh sử dụng tùy chọn này nếu bạn có thể, và thay vào đó hãy sử dụng biến môi trường
NS hoặc biến $ PGBINDIR được mã hóa cứng, cũng ở gần đầu tập lệnh, để đặt
đường dẫn đến PostgreSQL để sử dụng.

--PSQL = PATH
(không dùng nữa, điều này tùy chọn có thể be loại bỏ in a tương lai phóng thích!) Cho biết script ở đâu
để tìm chương trình psql. Hữu ích nếu bạn có nhiều phiên bản psql
có thể thực thi trên hệ thống của bạn hoặc nếu không có chương trình psql nào trong đường dẫn của bạn. Lưu ý rằng điều này
tùy chọn viết hoa tất cả. Theo mặc định, tùy chọn này là không cho phép. Để kích hoạt nó, bạn
phải thay đổi $ NO_PSQL_OPTION gần đầu tập lệnh thành 0. Tránh sử dụng
tùy chọn nếu bạn có thể, và thay vào đó, hãy viết mã cố định vị trí psql của bạn vào biến $ PSQL,
cũng ở gần đầu tập lệnh.

--liên kết tượng trưng
Tạo các liên kết tượng trưng cho chương trình chính cho mỗi hành động.

--output = VAL
Xác định định dạng của đầu ra, để sử dụng trong các chương trình khác nhau. Mặc định là
'nagios'. Các tùy chọn có sẵn là 'nagios', 'mrtg', 'simple' và 'cacti'.

--mrtg = VAL
Chỉ được sử dụng cho MRTG hoặc đầu ra đơn giản, cho một số hành động cụ thể.

--debugoutput = VAL
Xuất ra chuỗi chính xác được trả về bởi psql, để sử dụng trong việc gỡ lỗi. Giá trị là một hoặc
nhiều chữ cái hơn, xác định xem đầu ra có được hiển thị hay không, trong đó 'a' = all, 'c'
= critical, 'w' = warning, 'o' = ok, và 'u' = không xác định. Các chữ cái có thể được kết hợp với nhau.

--get_method = VAL
Cho phép đặc tả của phương thức được sử dụng để tìm nạp thông tin cho "new_version_cp",
kiểm tra "new_version_pg", "new_version_bc", "new_version_box" và "new_version_tnm".
Các chương trình sau được thử, để lấy thông tin từ web: GET,
wget, tìm nạp, curl, lynx, liên kết. Để buộc chỉ sử dụng một (và do đó loại bỏ
tổng chi phí thử tất cả những cái khác cho đến khi một trong những cái đó hoạt động), hãy nhập một trong các tên dưới dạng
đối số để get_method. Ví dụ: hộp BSD có thể nhập dòng sau vào
tệp ".check_postgresrc" của họ:

get_method = tìm nạp

--language = VAL
Đặt ngôn ngữ để sử dụng cho tất cả các tin nhắn đầu ra. Thông thường, điều này được phát hiện bởi
kiểm tra các biến môi trường LC_ALL, LC_MESSAGES và LANG, nhưng thiết lập điều này
tùy chọn sẽ ghi đè bất kỳ phát hiện nào như vậy.

HÀNH ĐỘNG


Tập lệnh chạy một hoặc nhiều hành động. Điều này có thể được thực hiện bằng cờ --action hoặc bằng cách
bằng cách sử dụng một liên kết tượng trưng đến tệp chính có chứa tên của hành động bên trong nó. Vì
ví dụ, để chạy hành động "timesync", bạn có thể gặp vấn đề:

check_postgres --action = timesync

hoặc sử dụng một chương trình có tên:

check_postgres_timesync

Tất cả các liên kết tượng trưng được tạo cho bạn trong thư mục hiện tại nếu sử dụng tùy chọn --symlinks

Perl check_postgres --symlinks

Nếu tên tệp đã tồn tại, nó sẽ không bị ghi đè. Nếu tệp tồn tại và là một
liên kết tượng trưng, ​​bạn có thể buộc nó ghi đè bằng cách sử dụng "--action = build_symlinks_force"

Hầu hết các hành động đều có --cảnh báo--phê bình tùy chọn, cho biết chúng tôi thay đổi ở điểm nào
từ OK đến WARNING, và điểm nào chúng ta chuyển đến CRITICAL. Lưu ý rằng vì những người chỉ trích là
luôn được kiểm tra đầu tiên, đặt cảnh báo bằng mức quan trọng là một cách hiệu quả để
tắt cảnh báo và luôn đưa ra mức quan trọng.

Các hành động được hỗ trợ hiện tại là:

archive_ready
("symlink: check_postgres_archive_ready") Kiểm tra có bao nhiêu tệp WAL có phần mở rộng .Sẵn sàng
tồn tại trong pg_xlog / archive_status thư mục, được tìm thấy ngoài của bạn Thư mục dữ liệu.
Hành động này phải được chạy với tư cách là người dùng cấp cao, để truy cập vào nội dung của
pg_xlog / archive_status danh mục. Phiên bản tối thiểu để sử dụng hành động này là Postgres 8.1.
Sản phẩm --cảnh báo--phê bình các tùy chọn chỉ đơn giản là số lượng .Sẵn sàng các tập tin trong
pg_xlog / archive_status danh mục. Thông thường, các giá trị này phải thấp, bật
cơ chế lưu trữ, chúng tôi thường muốn nó lưu trữ các tệp WAL càng nhanh càng tốt.

Nếu lệnh lưu trữ không thành công, số WAL trong pg_xlog thư mục sẽ phát triển cho đến khi
làm cạn kiệt tất cả dung lượng ổ đĩa và buộc PostgreSQL phải dừng ngay lập tức.

Ví dụ 1: Kiểm tra xem số lượng tệp WAL sẵn sàng là 10 hoặc ít hơn trên máy chủ "pluto"

check_postgres_archive_ready --host = pluto - tới hạn = 10

Đối với đầu ra MRTG, báo cáo số lượng tệp WAL sẵn sàng trên dòng 1.

autovac_freeze
("symlink: check_postgres_autovac_freeze") Kiểm tra mức độ gần của từng cơ sở dữ liệu với
Bưu điện autovacuum_freeze_max_age thiết lập. Hành động này sẽ chỉ hoạt động đối với cơ sở dữ liệu
phiên bản 8.2 trở lên. Các --cảnh báo--phê bình các tùy chọn nên được thể hiện dưới dạng
tỷ lệ phần trăm. 'Tuổi' của các giao dịch trong mỗi cơ sở dữ liệu được so sánh với
cài đặt autovacuum_freeze_max_age (200 triệu theo mặc định) để tạo giá trị làm tròn
tỷ lệ phần trăm. Các giá trị mặc định là 90% cho cảnh báo và 95% cho những người quan trọng. Cơ sở dữ liệu
có thể được lọc bằng cách sử dụng --bao gồm--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN"
để biết thêm chi tiết.

Ví dụ 1: Đưa ra cảnh báo khi bất kỳ cơ sở dữ liệu nào trên cổng 5432 trên 97%

check_postgres_autovac_freeze --port = 5432 --warning = "97%"

Đối với đầu ra MRTG, phần trăm tổng thể cao nhất được báo cáo trên dòng đầu tiên và
tuổi cao nhất được báo cáo trên dòng thứ hai. Tất cả các cơ sở dữ liệu có tỷ lệ phần trăm từ
dòng đầu tiên được báo cáo trên dòng thứ tư, được phân tách bằng ký hiệu đường ống.

phụ trợ
("symlink: check_postgres_backends") Kiểm tra số lượng kết nối hiện tại cho một hoặc
nhiều cơ sở dữ liệu hơn và tùy ý so sánh nó với mức tối đa cho phép, được xác định bởi
biến cấu hình Postgres max_connections. Các --cảnh báo--phê bình lựa chọn
có thể có một trong ba hình thức. Đầu tiên, một số đơn giản có thể được đưa ra, đại diện cho
số lượng kết nối mà cảnh báo sẽ được đưa ra. Lựa chọn này không sử dụng
max_connections thiết lập. Thứ hai, tỷ lệ kết nối khả dụng có thể được đưa ra.
Thứ ba, một số âm có thể được đưa ra đại diện cho số lượng kết nối còn lại
cho đến khi max_connections đạt được. Các giá trị mặc định cho --cảnh báo--phê bình đang
'90% 'và '95%'. Bạn cũng có thể lọc cơ sở dữ liệu bằng cách sử dụng --bao gồm--loại trừ
tùy chọn. Xem phần "LỌC CƠ BẢN" để biết thêm chi tiết.

Để chỉ xem các quy trình không hoạt động, bạn có thể sử dụng - cuộn dây tranh luận. Lưu ý rằng người dùng bạn
đang kết nối như phải là một siêu người dùng để điều này hoạt động bình thường.

Ví dụ 1: Đưa ra cảnh báo khi số lượng kết nối trên máy chủ xác nhận đạt tới 120 và
rất quan trọng nếu nó đạt đến 150.

check_postgres_backends --host = quirm --warning = 120 - tới hạn = 150

Ví dụ 2: Đưa ra mức quan trọng khi chúng tôi đạt đến 75% cài đặt max_connections trên máy chủ
lancre hoặc lancre2.

check_postgres_backends --warning = '75% '--critical = '75%' --host = lancre, lancre2

Ví dụ 3: Đưa ra cảnh báo khi chỉ còn 10 khe kết nối nữa trên máy chủ
plasmid, và một mức quan trọng khi chúng ta chỉ còn lại 5.

check_postgres_backends --warning = -10 - tới hạn = -5 --host = plasmid

Ví dụ 4: Kiểm tra tất cả các cơ sở dữ liệu ngoại trừ những cơ sở dữ liệu có "test" trong tên của chúng, nhưng cho phép những cơ sở dữ liệu
được đặt tên là "pg_greatest". Kết nối dưới dạng cổng 5432 trên hai máy chủ đầu tiên và như cổng 5433 trên
cái thứ ba. Chúng tôi muốn luôn quan trọng khi đạt được 30 kết nối trở lên.

check_postgres_backends --dbhost = hong, kong --dbhost = fooey --dbport = 5432 --dbport = 5433 --warning = 30 --critical = 30 --exclude = "~ test" --include = "pg_greatest, ~ prod "

Đối với đầu ra MRTG, số lượng kết nối được báo cáo trên dòng đầu tiên và dòng thứ tư
dòng cung cấp tên của cơ sở dữ liệu, cộng với các kết nối tối đa hiện tại. Nếu nhiều hơn
một cơ sở dữ liệu đã được truy vấn, cơ sở dữ liệu có số lượng kết nối cao nhất sẽ được xuất.

sưng lên
("liên kết biểu tượng: check_postgres_bloat") Kiểm tra lượng khối trong bảng và chỉ mục. (Sưng ​​lên
nói chung là lượng không gian chưa sử dụng đã chết được chiếm trong một bảng hoặc chỉ mục. Không gian này là
thường được xác nhận quyền sở hữu bằng cách sử dụng lệnh VACUUM.) Hành động này yêu cầu số liệu thống kê
bộ sưu tập được kích hoạt trên cơ sở dữ liệu mục tiêu và yêu cầu ANALYZE được chạy
thường xuyên. Các --bao gồm--loại trừ các tùy chọn có thể được sử dụng để lọc ra những bảng nào
nhìn vào. Xem phần "LỌC CƠ BẢN" để biết thêm chi tiết.

Sản phẩm --cảnh báo--phê bình các tùy chọn có thể được chỉ định dưới dạng kích thước, phần trăm hoặc cả hai. Có giá trị
đơn vị kích thước là byte, kilobyte, megabyte, gigabyte, terabyte, exabyte, petabyte và
zettabyte. Bạn có thể viết tắt tất cả những cái đó bằng chữ cái đầu tiên. Các mục không có đơn vị là
giả định là 'byte'. Các giá trị mặc định là "1 GB" và "5 GB". Giá trị đại diện cho
số "byte lãng phí" hoặc sự khác biệt giữa những gì thực sự được sử dụng bởi bảng và
chỉ mục và những gì chúng tôi tính toán nó phải như vậy.

Lưu ý rằng hành động này có hai giá trị được mã hóa cứng để tránh cảnh báo sai trên
các mối quan hệ. Các bảng phải có ít nhất 10 trang và lập chỉ mục ít nhất 15 trang trước khi có thể
được xem xét bởi thử nghiệm này. Nếu bạn thực sự muốn điều chỉnh các giá trị này, bạn có thể tìm kiếm
biến MINPAGES đô laMINIPAGES đô la ở đầu chương trình con "check_bloat". Này
giá trị bị bỏ qua nếu một trong hai --loại trừ or --bao gồm Được sử dụng.

Chỉ có 10 mối quan hệ cồng kềnh nhất được hiển thị. Bạn có thể thay đổi số này bằng cách sử dụng
--perflimit tùy chọn để đặt giới hạn của riêng bạn.

Lược đồ có tên 'information_schema' bị loại trừ khỏi thử nghiệm này, vì nó là bảng duy nhất
chứa là nhỏ và không thay đổi.

Xin lưu ý rằng các giá trị được tính toán bởi hành động này không chính xác và phải được sử dụng như
một hướng dẫn duy nhất. Đã rất nỗ lực để ước tính kích thước chính xác của một bảng, nhưng trong
cuối cùng nó chỉ là một ước tính. Kích thước chỉ mục chính xác thậm chí còn khó đoán hơn
kích thước bảng chính xác, nhưng cả hai đều phải cung cấp ý tưởng sơ bộ về mức độ cồng kềnh của mọi thứ.

Ví dụ 1: Cảnh báo nếu có bất kỳ bảng nào trên cổng 5432 bị cồng kềnh hơn 100 MB và quan trọng nếu trên 200
MB

check_postgres_bloat --port = 5432 --warning = '100 M' --critical = '200 M'

Ví dụ 2: Đưa ra một quan trọng nếu bảng 'đơn đặt hàng' trên máy chủ lưu trữ 'sami' có nhiều hơn 10 megs blog

check_postgres_bloat --host = sami --include = order --critical = '10 MB '

Ví dụ 3: Đưa ra giá trị quan trọng nếu bảng 'q4' trên cơ sở dữ liệu 'doanh số bán hàng' bị cồng kềnh hơn 50%

check_postgres_bloat --db = sales --include = q4 --critical = '50% '

Ví dụ 4: Đưa ra một quan trọng bất kỳ bảng nào bị cồng kềnh hơn 20% có hơn 150 MB khối:

check_postgres_bloat --port = 5432 - tới hạn = '20% và 150 M '

Ví dụ 5: Đưa ra một quan trọng bất kỳ bảng nào bị cồng kềnh hơn 40% or có hơn 500 MB khối:

check_postgres_bloat --port = 5432 --warning = '500 M hoặc 40%'

Đối với đầu ra MRTG, dòng đầu tiên cung cấp số byte lãng phí cao nhất cho các bảng,
và dòng thứ hai cho biết số byte lãng phí cao nhất cho các chỉ mục. Thứ tư
dòng cung cấp thông tin tên cơ sở dữ liệu, tên bảng và tên chỉ mục. Nếu bạn muốn
thay vào đó xuất ra tỷ lệ trương nở (mối quan hệ lớn hơn bao nhiêu lần so với cách
lớn thì phải), chỉ cần chuyển vào "--mrtg = ratio".

trạm kiểm soát
("symlink: check_postgres_checkpoint") Xác định khoảng thời gian kể từ khi điểm kiểm tra cuối cùng có
đã được chạy. Điều này phải chạy trên cùng một máy chủ với cơ sở dữ liệu đang được kiểm tra (ví dụ:
-h cờ sẽ không hoạt động). Kiểm tra này có nghĩa là chạy trên máy chủ "chế độ chờ ấm"
tích cực xử lý các tệp WAL đã chuyển và nhằm kiểm tra xem chế độ chờ ấm của bạn có
thực sự 'ấm áp'. Thư mục dữ liệu phải được đặt bởi biến môi trường
"PGDATA" hoặc chuyển đối số "--datadir". Nó trả về số giây kể từ khi
điểm kiểm tra cuối cùng đã được chạy, được xác định bằng cách phân tích cú pháp lệnh gọi tới "pg_controldata". Bởi vì
này, tệp thực thi pg_controldata phải có sẵn trong đường dẫn hiện tại. Ngoài ra,
bạn có thể chỉ định "PGBINDIR" làm thư mục mà nó nằm trong đó. Nó cũng có thể sử dụng
các tùy chọn đặc biệt --giả sử-prod or --assume-chế độ chờ, nếu chế độ được tìm thấy không phải là
người ta mong đợi, một CRITICAL được phát ra.

Ít nhất một cảnh báo hoặc lập luận phê bình phải được thiết lập.

Hành động này yêu cầu mô-đun Date :: Parse.

Đối với MRTG hoặc đầu ra đơn giản, trả về số giây.

cụm_id
("symlink: check_postgres_cluster-id") Kiểm tra xem Mã định danh hệ thống cơ sở dữ liệu đã cung cấp chưa
bởi pg_controldata giống như lần trước bạn đã kiểm tra. Điều này phải chạy trên cùng một máy chủ
như cơ sở dữ liệu đang được kiểm tra (ví dụ: cờ -h sẽ không hoạt động). Hoặc là
--cảnh báo hoặc là --phê bình tùy chọn nên được đưa ra, nhưng không phải cả hai. Giá trị của mỗi cái là
số nhận dạng cụm, một giá trị số nguyên. Bạn có thể chạy với "- tới hạn = 0" đặc biệt
tùy chọn để tìm ra mã định danh cụm hiện có.

Ví dụ 1: Tìm số nhận dạng ban đầu

check_postgres_cluster_id --critical = 0 --datadir = / var // lib / postgresql / 9.0 / main

Ví dụ 2: Đảm bảo rằng cụm là giống nhau và cảnh báo nếu không, bằng cách sử dụng kết quả từ phía trên.

check_postgres_cluster_id --critical = 5633695740047915135

Đối với đầu ra MRTG, trả về 1 hoặc 0 cho biết sự thành công của việc nhận dạng không thành công
trận đấu. Mã định danh phải được cung cấp làm đối số "--mrtg". Dòng thứ tư luôn
cung cấp giá trị nhận dạng hiện tại.

cam kết
("liên kết biểu tượng: check_postgres_commitratio") Kiểm tra tỷ lệ cam kết của tất cả cơ sở dữ liệu và
phàn nàn khi chúng quá thấp. Không cần phải chạy lệnh này nhiều hơn một lần mỗi
cụm cơ sở dữ liệu. Cơ sở dữ liệu có thể được lọc bằng --bao gồm--loại trừ tùy chọn. Nhìn thấy
phần "LỌC CƠ BẢN" để biết thêm chi tiết. Chúng cũng có thể được lọc bởi chủ sở hữu của
cơ sở dữ liệu với --bao gồm người dùng--loại trừ người dùng tùy chọn. Xem "TÊN NGƯỜI DÙNG
Phần LỌC "để biết thêm chi tiết.

Các tùy chọn cảnh báo và quan trọng phải được chỉ định dưới dạng tỷ lệ phần trăm. Không có
mặc định cho hành động này: cảnh báo và quan trọng phải được chỉ định. Giá trị cảnh báo
không được lớn hơn giá trị tới hạn. Đầu ra trả về tất cả các cơ sở dữ liệu được sắp xếp theo
commitratio, nhỏ nhất đầu tiên.

Ví dụ: Cảnh báo nếu bất kỳ cơ sở dữ liệu nào trên máy chủ flagg có ít hơn 90% trong cam kết và quan trọng
nếu ít hơn thì 80%.

check_postgres_database_commitratio --host = flagg --warning = '90% '--critical = '80%'

Đối với đầu ra MRTG, trả về phần trăm cơ sở dữ liệu có cam kết nhỏ nhất trên
dòng đầu tiên và tên của cơ sở dữ liệu trên dòng thứ tư.

liên quan
("symlink: check_postgres_connection") Chỉ cần kết nối, đưa ra một 'SELECT phiên bản()', và
lá. Không mất --cảnh báo or --phê bình tùy chọn.

Đối với đầu ra MRTG, chỉ cần xuất ra 1 (kết nối tốt) hoặc 0 (kết nối kém) ở đầu
hàng.

custom_query
("symlink: check_postgres_custom_query") Chạy một truy vấn tùy chỉnh mà bạn chọn và phân tích cú pháp
kết quả. Bản thân truy vấn được chuyển vào thông qua đối số "truy vấn" và phải
giữ càng đơn giản càng tốt. Nếu có thể, hãy bọc nó trong một khung nhìn hoặc một chức năng để giữ
mọi thứ dễ quản lý hơn. Truy vấn phải trả về một hoặc hai cột. Nó được yêu cầu rằng
một trong các cột được đặt tên là "kết quả" và là mục sẽ được kiểm tra với
các giá trị cảnh báo và quan trọng. Cột thứ hai dành cho dữ liệu hiệu suất và bất kỳ tên nào
có thể được sử dụng: đây sẽ là 'giá trị' bên trong phần dữ liệu hiệu suất.

Ít nhất một cảnh báo hoặc đối số phê bình phải được chỉ định. Những gì chúng được đặt thành phụ thuộc
về loại truy vấn bạn đang chạy. Có bốn loại custom_queries có thể
chạy, được chỉ định bởi đối số "valtype". Nếu không có gì được chỉ định, hành động này mặc định là
'số nguyên'. Bốn loại là:

số nguyên: Thực hiện một phép so sánh số nguyên đơn giản. Cột đầu tiên phải là một số nguyên đơn giản,
và các giá trị cảnh báo và quan trọng phải giống nhau.

chuỗi: Cảnh báo và quan trọng là các chuỗi và chỉ được kích hoạt nếu giá trị trong
cột đầu tiên khớp chính xác với nó. Đây là phân biệt chữ hoa chữ thường.

thời gian: Cảnh báo và quan trọng là thời gian và có thể có đơn vị là giây, phút,
giờ, hoặc ngày. Mỗi từ có thể được viết số ít hoặc viết tắt chỉ bằng chữ cái đầu tiên. Nếu như
không có đơn vị nào được đưa ra, giả sử là giây. Cột đầu tiên phải là một số nguyên
đại diện cho số giây cần kiểm tra.

kích thước: Cảnh báo và quan trọng là kích thước và có thể có đơn vị là byte, kilobyte,
megabyte, gigabyte, terabyte hoặc exabyte. Mỗi cái có thể được viết tắt thành chữ cái đầu tiên.
Nếu không có đơn vị nào được đưa ra, byte được giả định. Cột đầu tiên phải là một số nguyên
đại diện cho số byte cần kiểm tra.

Thông thường, một cảnh báo được kích hoạt nếu các giá trị được trả về là lớn hơn hơn hoặc bằng
giá trị quan trọng hoặc cảnh báo. Tuy nhiên, một tùy chọn của --đảo ngược sẽ kích hoạt cảnh báo nếu
giá trị trả về là thấp hơn hơn hoặc bằng giá trị tới hạn hoặc cảnh báo.

Ví dụ 1: Cảnh báo nếu bất kỳ mối quan hệ nào trên 100 trang được đặt tên là "rad", hãy đặt số trang
bên trong phần dữ liệu hiệu suất.

check_postgres_custom_query --valtype = string -w "rad" --query =
"SELECT relname AS results, relpages AS pages FROM pg_class WHERE relpages> 100"

Ví dụ 2: Đưa ra giá trị quan trọng nếu hàm "foobar" trả về một số trên 5MB:

check_postgres_custom_query --critical = '5MB' - valtype = size --query = "SELECT foobar () AS result"

Ví dụ 2: Cảnh báo nếu hàm "snazzo" trả về nhỏ hơn 42:

check_postgres_custom_query --critical = 42 --query = "SELECT snazzo () AS result" --reverse

Nếu bạn nghĩ ra một custom_query hữu ích, hãy cân nhắc gửi một bản vá cho chương trình này để
biến nó thành một hành động tiêu chuẩn mà người khác có thể sử dụng.

Hành động này chưa hỗ trợ MRTG hoặc đầu ra đơn giản.

cơ sở dữ liệu_size
("symlink: check_postgres_database_size") Kiểm tra kích thước của tất cả cơ sở dữ liệu và khiếu nại
khi chúng quá lớn. Không cần phải chạy lệnh này nhiều hơn một lần cho mỗi cơ sở dữ liệu
cụm. Cơ sở dữ liệu có thể được lọc bằng --bao gồm--loại trừ tùy chọn. Xem
Phần "LỌC CƠ BẢN" để biết thêm chi tiết. Chúng cũng có thể được lọc bởi chủ sở hữu của
cơ sở dữ liệu với --bao gồm người dùng--loại trừ người dùng tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG"
để biết thêm chi tiết.

Các tùy chọn cảnh báo và quan trọng có thể được chỉ định dưới dạng byte, kilobyte, megabyte,
gigabyte, terabyte hoặc exabyte. Mỗi cái cũng có thể được viết tắt thành chữ cái đầu tiên.
Nếu không có đơn vị nào được đưa ra, các đơn vị được giả định là byte. Không có mặc định cho điều này
hành động: cảnh báo và quan trọng phải được chỉ định. Giá trị cảnh báo không được lớn hơn
hơn giá trị tới hạn. Đầu ra trả về tất cả các cơ sở dữ liệu được sắp xếp theo kích thước lớn nhất trước,
hiển thị cả byte thô và phiên bản có kích thước "khá".

Ví dụ 1: Cảnh báo nếu bất kỳ cơ sở dữ liệu nào trên máy chủ flagg có kích thước trên 1 TB và quan trọng nếu vượt quá
1.1 TB.

check_postgres_database_size --host = flagg --warning = '1 TB' --critical = '1.1 t'

Ví dụ 2: Đưa ra mức quan trọng nếu cơ sở dữ liệu template1 trên cổng 5432 là hơn 10 MB.

check_postgres_database_size --port = 5432 --include = template1 --warning = '10MB' --critical = '10MB'

Ví dụ 3: Đưa ra cảnh báo nếu bất kỳ cơ sở dữ liệu nào trên máy chủ 'tardis' do người dùng 'tom' sở hữu đã hết
5 GB

check_postgres_database_size --host = tardis --includeuser = tom --warning = '5 GB' --critical = '10 GB '

Đối với đầu ra MRTG, trả về kích thước tính bằng byte của cơ sở dữ liệu lớn nhất trên dòng đầu tiên và
tên của cơ sở dữ liệu trên dòng thứ tư.

dbstats
("liên kết biểu tượng: check_postgres_dbstats") Báo cáo thông tin từ chế độ xem pg_stat_database,
và xuất nó theo cách thân thiện với Cacti. Không có đầu ra nào khác được hỗ trợ, vì đầu ra là
thông tin và không tự cho mình biết các cảnh báo, chẳng hạn như được sử dụng với Nagios. Nếu không có tùy chọn
được đưa ra, tất cả cơ sở dữ liệu được trả về, một cơ sở dữ liệu trên mỗi dòng. Bạn có thể bao gồm một cơ sở dữ liệu cụ thể
bằng cách sử dụng tùy chọn "--include" hoặc bạn có thể sử dụng tùy chọn "--dbname".

Mười một mục được trả lại trên mỗi dòng, ở định dạng tên: giá trị, được phân tách bằng một
không gian. Các mặt hàng là:

phụ trợ
Số phần phụ trợ hiện đang chạy cho cơ sở dữ liệu này.

cam kết
Tổng số lần cam kết cho cơ sở dữ liệu này kể từ khi nó được tạo hoặc đặt lại.

rollback
Tổng số lần khôi phục cho cơ sở dữ liệu này kể từ khi nó được tạo hoặc đặt lại.

đọc
Tổng số khối đĩa đã đọc.

tổng số lần truy cập bộ đệm.

ret Tổng số hàng được trả về.

lấy
Tổng số hàng được tìm nạp.

in Tổng số hàng được chèn.

upd Tổng số hàng được cập nhật.

del Tổng số hàng bị xóa.

tên cơ sở dữ liệu
Tên của cơ sở dữ liệu.

Lưu ý rằng các mục ret, tìm nạp, in, cập nhật và xóa sẽ luôn bằng 0 nếu Postgres là phiên bản 8.2
hoặc thấp hơn, vì những số liệu thống kê đó không có sẵn trong các phiên bản đó.

Nếu đối số dbname được đưa ra, bảy mục bổ sung được trả về:

quét idx
Tổng số lần quét chỉ mục người dùng.

idxtupread
Tổng số mục nhập chỉ mục người dùng được trả lại.

idxtupfetch
Tổng số hàng được tìm nạp bằng cách quét chỉ mục người dùng đơn giản.

idxblksread
Tổng số khối đĩa được đọc cho tất cả các chỉ mục người dùng.

idxblkshit
Tổng số lần truy cập bộ đệm cho tất cả các chỉ mục người dùng.

quét tuần tự
Tổng số lần quét tuần tự đối với tất cả các bảng người dùng.

đọc phần tiếp theo
Tổng số bộ giá trị được trả về từ tất cả các bảng người dùng.

Ví dụ 1: Lấy thống kê cho cơ sở dữ liệu có tên "sản phẩm" trên máy chủ lưu trữ "liễu":

check_postgres_dbstats --dbhost liễu - sản phẩmdbname

Kết quả trả về sẽ như thế này (tất cả trên một dòng, không được bao bọc):

phụ trợ: 82 cam kết: 58374408 lượt lùi: 1651 lượt đọc: 268435543 lượt truy cập: 2920381758 idxscan: 310931294 idxtupread: 2777040927
idxtupfetch: 1840241349 idxblksread: 62860110 idxblkshit: 1107812216 seqscan: 5085305 seqtupread: 5370500520
ret: 0 tìm nạp: 0 in: 0 cập nhật: 0 del: 0 dbname: liễu

disable_triggers
("symlink: check_postgres_disabled_triggers") Kiểm tra số lượng trình kích hoạt bị tắt
bên trong cơ sở dữ liệu. Các --cảnh báo--phê bình các tùy chọn là số lượng các trình kích hoạt như vậy
tìm thấy và cả hai đều mặc định là "1", như trong cách sử dụng bình thường, việc tắt các trình kích hoạt là một điều nguy hiểm
biến cố. Nếu cơ sở dữ liệu đang được kiểm tra là 8.3 hoặc cao hơn, thì việc kiểm tra là số
kích hoạt ở trạng thái 'bị vô hiệu hóa' (trái ngược với trạng thái 'luôn luôn' hoặc 'bản sao'). Các
đầu ra sẽ hiển thị tên của bảng và tên của trình kích hoạt cho mỗi lần bị tắt
Kích hoạt.

Ví dụ 1: Đảm bảo rằng không có trình kích hoạt nào bị tắt

check_postgres_disabled_triggers

Đối với đầu ra MRTG, trả về số lượng trình kích hoạt bị vô hiệu hóa trên dòng đầu tiên.

không gian đĩa
("symlink: check_postgres_disk_space") Kiểm tra dung lượng ổ đĩa vật lý khả dụng được sử dụng bởi
Postgres. Hành động này yêu cầu bạn có tệp thực thi "/ bin / df"có sẵn để báo cáo
trên các kích thước đĩa và nó cũng cần được chạy như một superuser, vì vậy nó có thể kiểm tra
Thư mục dữ liệu thiết lập bên trong của Postgres. Các --cảnh báo--phê bình các tùy chọn được đưa ra
ở một trong hai kích thước hoặc tỷ lệ phần trăm hoặc cả hai. Nếu sử dụng kích thước, các loại đơn vị tiêu chuẩn là
được phép: byte, kilobyte, gigabyte, megabyte, gigabyte, terabyte hoặc exabyte. Mỗi
có thể chỉ được viết tắt thành chữ cái đầu tiên; không có đơn vị nào chỉ ra 'byte'. Các
giá trị mặc định là '90% 'và '95%'.

Lệnh này kiểm tra những điều sau để xác định tất cả các đĩa vật lý khác nhau
đang được sử dụng bởi Postgres.

Thư mục dữ liệu - Đĩa chứa thư mục dữ liệu chính.

đăng nhập thư mục - Đĩa chứa các tệp nhật ký.

WAL hồ sơ thư mục - Đĩa chứa nhật ký ghi trước (ví dụ: pg_xlog được liên kết biểu tượng)

không gian bảng - Mỗi vùng bảng nằm trên một đĩa riêng biệt.

Đầu ra hiển thị tổng kích thước được sử dụng và có sẵn trên mỗi đĩa, cũng như
tỷ lệ phần trăm, được sắp xếp theo tỷ lệ phần trăm cao nhất đến thấp nhất được sử dụng. Mỗi mục ở trên ánh xạ tới một tệp
hệ thống: chúng có thể được bao gồm hoặc loại trừ. Xem phần "LỌC CƠ BẢN" để biết thêm
chi tiết.

Ví dụ 1: Đảm bảo rằng không có hệ thống tệp nào vượt quá 90% đối với cơ sở dữ liệu trên cổng 5432.

check_postgres_disk_space --port = 5432 --warning = '90% '--critical = '90%'

Ví dụ 2: Kiểm tra xem tất cả các hệ thống tệp bắt đầu bằng / dev / sda đều nhỏ hơn 10 GB và
11 GB (cảnh báo và quan trọng)

check_postgres_disk_space --port = 5432 --warning = '10 GB '--critical = '11 GB' --include = "~ ^ / dev / sda"

Ví dụ 4: Đảm bảo rằng không có hệ thống tệp nào trên 50% có hơn 15 GB

check_postgres_disk_space --critical = '50% và 15 GB '

Ví dụ 5: Đưa ra cảnh báo nếu bất kỳ hệ thống tệp nào đầy hơn 70% or có hơn 1T

check_postgres_disk_space --warning = '1T hoặc 75'

Đối với đầu ra MRTG, trả về kích thước tính bằng byte của hệ thống tệp trên dòng đầu tiên và
tên của hệ thống tệp trên dòng thứ tư.

fsm_pages
("symlink: check_postgres_fsm_pages") Kiểm tra mức độ gần của một cụm với Postgres
max_fsm_pages thiết lập. Hành động này sẽ chỉ hoạt động đối với cơ sở dữ liệu từ 8.2 trở lên và nó
yêu cầu mô-đun đóng góp pg_freespacemap được cài đặt. Các --cảnh báo--phê bình
các tùy chọn phải được biểu thị dưới dạng tỷ lệ phần trăm. Số trang đã sử dụng trong bản đồ không gian trống
được xác định bằng cách xem trong dạng xem pg_freespacemap_relations và chạy công thức
dựa trên công thức được sử dụng để xuất ra các ô trang bản đồ không gian trống trong chi tiết chân không
chỉ huy. Các giá trị mặc định là 85% cho cảnh báo và 95% cho những người quan trọng.

Ví dụ 1: Đưa ra cảnh báo khi cụm của chúng tôi đã sử dụng hết 76% các ô trang có dung lượng trống,
với pg_freespacemap được cài đặt trong cơ sở dữ liệu robert

check_postgres_fsm_pages --dbname = robert --warning = "76%"

Trong khi bạn cần chuyển tên của cơ sở dữ liệu nơi pg_freespacemap được cài đặt, bạn
chỉ cần chạy kiểm tra này một lần cho mỗi cụm. Ngoài ra, việc kiểm tra thông tin này yêu cầu
có được những ổ khóa đặc biệt trên bản đồ không gian trống, vì vậy bạn không nên chạy cái này
kiểm tra với khoảng thời gian ngắn.

Đối với đầu ra MRTG, trả về phần trăm không gian trống trên bản đồ trên dòng đầu tiên và số
trong số các trang hiện được sử dụng trên dòng thứ hai.

fsm_quan hệ
("symlink: check_postgres_fsm_relations") Kiểm tra mức độ gần của một cụm với Postgres
max_fsm_relations thiết lập. Hành động này sẽ chỉ hoạt động đối với cơ sở dữ liệu từ 8.2 trở lên và
nó yêu cầu mô-đun đóng góp pg_freespacemap được cài đặt. Các --cảnh báo--phê bình
các tùy chọn phải được biểu thị dưới dạng tỷ lệ phần trăm. Số lượng quan hệ được sử dụng trong miễn phí-
bản đồ không gian được xác định bằng cách xem trong dạng xem pg_freespacemap_relations. Mặc định
giá trị là 85% cho cảnh báo và 95% cho những người quan trọng.

Ví dụ 1: Đưa ra cảnh báo khi cụm của chúng tôi đã sử dụng hết 80% quan hệ không gian trống,
với pg_freespacemap được cài đặt trong cơ sở dữ liệu dylan

check_postgres_fsm_relations --dbname = dylan --warning = "75%"

Trong khi bạn cần chuyển tên của cơ sở dữ liệu nơi pg_freespacemap được cài đặt, bạn
chỉ cần chạy kiểm tra này một lần cho mỗi cụm. Ngoài ra, việc kiểm tra thông tin này yêu cầu
có được những ổ khóa đặc biệt trên bản đồ không gian trống, vì vậy bạn không nên chạy cái này
kiểm tra với khoảng thời gian ngắn.

Đối với đầu ra MRTG, trả về phần trăm không gian trống trên bản đồ trên dòng đầu tiên, số
quan hệ hiện được sử dụng trên dòng thứ hai.

tỷ lệ đánh
("symlink: check_postgres_hitratio") Kiểm tra tỷ lệ truy cập của tất cả cơ sở dữ liệu và khiếu nại
khi chúng quá thấp. Không cần phải chạy lệnh này nhiều hơn một lần cho mỗi cơ sở dữ liệu
cụm. Cơ sở dữ liệu có thể được lọc bằng --bao gồm--loại trừ tùy chọn. Xem
Phần "LỌC CƠ BẢN" để biết thêm chi tiết. Chúng cũng có thể được lọc bởi chủ sở hữu của
cơ sở dữ liệu với --bao gồm người dùng--loại trừ người dùng tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG"
để biết thêm chi tiết.

Các tùy chọn cảnh báo và quan trọng phải được chỉ định dưới dạng tỷ lệ phần trăm. Không có
mặc định cho hành động này: cảnh báo và quan trọng phải được chỉ định. Giá trị cảnh báo
không được lớn hơn giá trị tới hạn. Đầu ra trả về tất cả các cơ sở dữ liệu được sắp xếp theo
hitratio, nhỏ nhất đầu tiên.

Ví dụ: Cảnh báo nếu bất kỳ cơ sở dữ liệu nào trên máy chủ flagg có ít hơn 90% trong hitratio và quan trọng nếu
nhỏ hơn 80%.

check_postgres_hitratio --host = flagg --warning = '90% '--critical = '80%'

Đối với đầu ra MRTG, trả về phần trăm cơ sở dữ liệu có lần truy cập nhỏ nhất trên
dòng đầu tiên và tên của cơ sở dữ liệu trên dòng thứ tư.

hot_standby_delay
("symlink: check_hot_standby_delay") Kiểm tra độ trễ sao chép trực tuyến bằng cách tính toán
delta giữa vị trí xlog hiện tại của máy chủ chính và vị trí phát lại của
nô lệ kết nối với nó. Máy chủ phụ phải ở chế độ hot_standby (ví dụ: chỉ đọc),
do đó phiên bản tối thiểu để sử dụng hành động này là Postgres 9.0. Các --cảnh báo
--phê bình các tùy chọn là vùng đồng bằng giữa các vị trí xlog. Vì các giá trị này là byte
các khoản bù đắp trong WAL chúng phải phù hợp với khối lượng giao dịch dự kiến ​​của đơn đăng ký của bạn
để ngăn chặn dương tính giả hoặc âm tính.

Các tùy chọn đầu tiên "--dbname", "--host" và "--port", v.v. được coi là cái chính; NS
thứ hai thuộc về nô lệ.

Giá trị byte phải dựa trên khối lượng giao dịch cần thiết để phát trực tuyến
sao chép ngắt kết nối với tổng thể vì quá nhiều độ trễ, được xác định bởi Postgres
biến cấu hình wal_keep_searies. Đối với đơn vị thời gian, đơn vị hợp lệ là 'giây',
'phút', 'giờ' hoặc 'ngày'. Mỗi cái có thể được viết số ít hoặc viết tắt để chỉ
chữ cái đầu tiên. Khi chỉ định cả hai, trong biểu mẫu 'bytethời gian', cả hai điều kiện phải là
đúng với ngưỡng được đáp ứng.

Bạn phải cung cấp thông tin về cách truy cập cơ sở dữ liệu bằng cách cung cấp dấu phẩy được phân tách
liệt kê các tham số --dbhost và --dbport, chẳng hạn như "--dbport = 5432,5543". Nếu không được đưa ra,
hành động không thành công.

Ví dụ 1: Cảnh báo cơ sở dữ liệu có bản sao cục bộ trên cổng 5433 bị trễ trên bất kỳ lần phát lại xlog nào
ở tất cả các

check_hot_standby_delay --dbport = 5432,5433 --warning = '1'

Ví dụ 2: Đưa ra mức quan trọng nếu giao dịch cuối cùng mà bản sao1 nhận được nhiều hơn 10
vài phút trước

check_hot_standby_delay --dbhost = master, replica1 --critical = '10 phút '

Ví dụ 3: Cho phép bản sao1 ở sau 1 đoạn WAL, nếu bản chính đang nhìn thấy trong giây lát
nhiều hoạt động hơn kết nối sao chép trực tuyến có thể xử lý hoặc chậm hơn 10 phút,
nếu tổng thể thấy rất ít hoạt động và không xử lý bất kỳ giao dịch nào, nhưng không
cả hai, điều này sẽ chỉ ra một vấn đề lâu dài với kết nối sao chép.

check_hot_standby_delay --dbhost = master, replica1 --warning = '1048576 and 2 min' --critical = '16777216 and 10 min'

kích thước chỉ mục
kích thước bảng
kích thước_quan hệ
(liên kết tượng trưng: "check_postgres_index_size", "check_postgres_table_size" và
"check_postgres_relation_size") Các hành động kích thước bảngkích thước chỉ mục đơn giản là
các biến thể của kích thước_quan hệ hành động, kiểm tra một mối quan hệ đã phát triển quá
to lớn. Các mối quan hệ (nói cách khác, bảng và chỉ mục) có thể được lọc bằng --bao gồm
--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN" để biết thêm chi tiết. Quan hệ có thể
cũng được lọc bởi người dùng sở hữu chúng, bằng cách sử dụng --bao gồm người dùng--loại trừ người dùng
tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG" để biết thêm chi tiết.

Các giá trị cho --cảnh báo--phê bình các tùy chọn là kích thước tệp và có thể có các đơn vị
byte, kilobyte, megabyte, gigabyte, terabyte hoặc exabyte. Mỗi cái có thể được viết tắt
đến chữ cái đầu tiên. Nếu không có đơn vị nào được đưa ra, byte được giả định. Không có mặc định
giá trị: cả cảnh báo và tùy chọn quan trọng phải được đưa ra. Văn bản trả về hiển thị
kích thước của mối quan hệ lớn nhất được tìm thấy.

Nếu --showperf tùy chọn được kích hoạt, tất cả các của các mối quan hệ với kích thước của chúng sẽ được đưa ra.
Để ngăn chặn điều này, bạn nên đặt --perflimit tùy chọn, điều này sẽ gây ra
truy vấn để thực hiện "ORDER BY size DESC LIMIT (perflimit)".

Ví dụ 1: Đưa ra giá trị quan trọng nếu bất kỳ bảng nào lớn hơn 600MB trên máy chủ lưu trữ.

check_postgres_table_size --critical = '600 MB' --warning = '600 MB' --host = burrick

Ví dụ 2: Cảnh báo nếu các sản phẩm bảng có kích thước trên 4 GB và đưa ra mức giới hạn là 4.5 GB.

check_postgres_table_size --host = burrick --warning = '4 GB' --critical = '4.5 GB' --include = products

Ví dụ 3: Cảnh báo nếu bất kỳ chỉ mục nào không thuộc sở hữu của postgres vượt quá 500 MB.

check_postgres_index_size --port = 5432 --excludeuser = postgres -w 500MB -c 600MB

Đối với đầu ra MRTG, trả về kích thước tính bằng byte của quan hệ lớn nhất và tên của
cơ sở dữ liệu và quan hệ như dòng thứ tư.

phân tích cuối cùng
cuối_vacuum
Last_autoanalyze
Last_autovacuum
(liên kết tượng trưng: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze" và "check_postgres_last_autovacuum") Kiểm tra thời gian
đó là kể từ khi chân không (hoặc phân tích) được chạy lần cuối trên mỗi bảng trong một hoặc nhiều cơ sở dữ liệu.
Việc sử dụng các hành động này yêu cầu cơ sở dữ liệu đích là phiên bản 8.3 trở lên, hoặc
phiên bản là 8.2 và biến cấu hình stats_row_level đã được bật. Những cái bàn
có thể được lọc với --bao gồm--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN"
để biết thêm chi tiết. Chủ nhân của chúng cũng có thể lọc các bảng bằng cách sử dụng
--bao gồm người dùng--loại trừ người dùng tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG" để biết thêm
chi tiết.

Các đơn vị cho --cảnh báo--phê bình được chỉ định theo thời gian. Đơn vị hợp lệ là giây,
phút, giờ và ngày; tất cả có thể được viết tắt thành chữ cái đầu tiên. Nếu không có đơn vị nào là
đã cho, 'giây' được giả định. Các giá trị mặc định là "1 ngày" và "2 ngày". Xin lưu ý
rằng có những trường hợp trường này không được điền tự động. Nếu chắc chắn
bảng đang gây ra sự cố cho bạn, hãy đảm bảo rằng chúng có các hàng chết để hút bụi hoặc chỉ
loại trừ chúng khỏi thử nghiệm.

Lược đồ có tên 'information_schema' bị loại trừ khỏi thử nghiệm này, vì nó là bảng duy nhất
chứa là nhỏ và không thay đổi.

Lưu ý rằng các phiên bản không phải 'tự động' cũng sẽ kiểm tra các phiên bản tự động. Trong khác
từ, sử dụng last_vacuum sẽ báo cáo về chân không cuối cùng, cho dù đó là chân không bình thường,
hoặc một chạy bởi daemon autovacuum.

Ví dụ 1: Cảnh báo nếu có bàn nào chưa được hút bụi trong 3 ngày và đưa ra mức quan trọng tại
tuần, đối với cây ngải chủ

check_postgres_last_vacuum --host = wormwood --warning = '3d' --critical = '7d'

Ví dụ 2: Tương tự như trên, nhưng bỏ qua các bảng thuộc về người dùng 'eve' hoặc 'mallory'

check_postgres_last_vacuum --host = wormwood --warning = '3d' --critical = '7d' --excludeusers = eve, mallory

Đối với đầu ra MRTG, trả về (trên dòng đầu tiên) lượng thời gian ÍT NHẤT tính bằng giây kể từ khi
bảng được hút chân không hoặc phân tích lần cuối. Dòng thứ tư trả về tên của cơ sở dữ liệu và
tên của bảng.

người nghe
("symlink: check_postgres_listener") Xác nhận rằng ai đó đang nghe một hoặc nhiều
các chuỗi cụ thể (sử dụng hệ thống LISTEN / NOTIFY), bằng cách xem bảng pg_listener.
Chỉ một trong những cảnh báo hoặc quan trọng là cần thiết. Định dạng là một chuỗi đơn giản đại diện cho
Mục tiêu LISTEN hoặc một ký tự dấu ngã được theo sau bởi một chuỗi để kiểm tra biểu thức chính quy.
Lưu ý rằng kiểm tra này sẽ không hoạt động trên các phiên bản Postgres 9.0 trở lên.

Ví dụ 1: Đưa ra cảnh báo nếu không có ai đang nghe chuỗi bucardo_mcp_ping trên các cổng
5555 và 5556

check_postgres_listener --port = 5555,5556 --warning = bucardo_mcp_ping

Ví dụ 2: Đưa ra mức quan trọng nếu không có yêu cầu LISTEN nào đang hoạt động khớp với 'grimm' trên
cơ sở dữ liệu oskar

check_postgres_listener --db oskar - tới hạn = ~ Grimm

Đối với đầu ra MRTG, trả về 1 hoặc 0 ở đầu tiên, cho biết thành công hay thất bại. Tên
thông báo phải được cung cấp qua --mrtg tùy chọn.

ổ khóa
("symlink: check_postgres_locks") Kiểm tra tổng số lần khóa trên một hoặc nhiều
cơ sở dữ liệu. Không cần phải chạy điều này nhiều hơn một lần cho mỗi cụm cơ sở dữ liệu. Cơ sở dữ liệu có thể
được lọc với --bao gồm--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN"
để biết thêm chi tiết.

Sản phẩm --cảnh báo--phê bình các tùy chọn có thể được chỉ định dưới dạng các số đơn giản, đại diện cho
tổng số ổ khóa hoặc chúng có thể được chia nhỏ theo loại khóa. Tên khóa hợp lệ
là 'tổng số', 'đang chờ đợi' hoặc tên của một loại khóa được Postgres sử dụng. Những cái tên này là
không phân biệt chữ hoa chữ thường và không cần phần "khóa" ở cuối, vì vậy độc quyền sẽ phù hợp
'Khóa độc quyền'. Định dạng là name = number, với các mục khác nhau được phân tách bằng dấu hai chấm hoặc
dấu chấm phẩy (hoặc bất kỳ ký hiệu nào khác).

Ví dụ 1: Cảnh báo nếu số lượng khóa là 100 hoặc nhiều hơn và quan trọng nếu 200 hoặc nhiều hơn, trên
máy chủ garrett

check_postgres_locks --host = garrett --warning = 100 - tới hạn = 200

Ví dụ 2: Trên artemus của máy chủ, cảnh báo nếu tồn tại 200 ổ khóa trở lên và đưa ra thông báo quan trọng nếu
tổng số hơn 250 ổ khóa tồn tại hoặc nếu trên 20 ổ khóa độc quyền tồn tại hoặc nếu trên 5 kết nối
đang đợi một ổ khóa.

check_postgres_locks --host = artemus --warning = 200 - tới hạn = "tổng = 250: chờ = 5: độc quyền = 20"

Đối với đầu ra MRTG, trả về số lượng khóa trên dòng đầu tiên và tên của
cơ sở dữ liệu trên dòng thứ tư.

tệp nhật ký
("symlink: check_postgres_logfile") Đảm bảo rằng logfile ở vị trí mong đợi
và đang được đăng nhập. Hành động này đưa ra một lệnh thông báo lỗi trên mỗi
cơ sở dữ liệu nó đang kiểm tra và đảm bảo rằng thông báo hiển thị trong nhật ký. Nó quét
các cài đặt log_ * khác nhau bên trong Postgres để tìm ra vị trí của các bản ghi. nếu bạn
đang sử dụng nhật ký hệ thống, nó thực hiện một quá trình quét sơ bộ (nhưng không đáng kể) /etc/syslog.conf.
Ngoài ra, bạn có thể cung cấp tên của tệp nhật ký với --logfile Lựa chọn. Đây là
đặc biệt hữu ích nếu các bản ghi có một chương trình xoay vòng tùy chỉnh được định hướng là một chương trình bên ngoài.
Sản phẩm --logfile tùy chọn hỗ trợ các ký tự thoát sau: "% Y% m% d% H", ký tự này
đại diện cho năm, tháng, ngày và giờ hiện tại tương ứng. Một lỗi luôn luôn
được báo cáo là quan trọng trừ khi tùy chọn cảnh báo đã được chuyển vào dưới dạng giá trị khác XNUMX.
Ngoài cách sử dụng cụ thể đó, các tùy chọn "- cảnh báo" và "- tới hạn" phải không be
đã sử dụng.

Ví dụ 1: Trên cổng 5432, đảm bảo tệp log được ghi vào tệp
/home/greg/pg8.2.log

check_postgres_logfile --port = 5432 --logfile = / home / greg / pg8.2.log

Ví dụ 2: Tương tự như trên, nhưng cảnh báo chứ không phải chỉ trích

check_postgres_logfile --port = 5432 --logfile = / home / greg / pg8.2.log -w 1

Đối với đầu ra MRTG, trả về 1 hoặc 0 trên dòng đầu tiên, cho biết thành công hay thất bại. Trong
trường hợp lỗi, dòng thứ tư sẽ cung cấp chi tiết hơn về lỗi gặp phải.

new_version_bc
("symlink: check_postgres_new_version_bc") Kiểm tra xem có phiên bản Bucardo mới hơn không
chương trình có sẵn. Phiên bản hiện tại có được bằng cách chạy "bucardo_ctl --version".
Nếu có bản nâng cấp lớn, một cảnh báo sẽ được trả về. Nếu một bản nâng cấp sửa đổi là
có sẵn, một quan trọng được trả lại. (Bucardo là bậc thầy đối với nô lệ, và bậc thầy đối với chủ
hệ thống nhân bản cho Postgres: xem http://bucardo.org để biết thêm thông tin). Xem thêm
thông tin về tùy chọn "--get_method".

new_version_box
("symlink: check_postgres_new_version_box") Kiểm tra xem boxinfo có phiên bản mới hơn không
chương trình có sẵn. Phiên bản hiện tại có được bằng cách chạy "boxinfo.pl --version".
Nếu có bản nâng cấp lớn, một cảnh báo sẽ được trả về. Nếu một bản nâng cấp sửa đổi là
có sẵn, một quan trọng được trả lại. (boxinfo là một chương trình để lấy
thông tin từ máy chủ và đưa nó vào định dạng HTML: xem
http://bucardo.org/wiki/boxinfo để biết thêm thông tin). Xem thêm thông tin về
Tùy chọn "--get_method".

new_version_cp
("symlink: check_postgres_new_version_cp") Kiểm tra xem có phiên bản mới hơn của chương trình này không
(check_postgres) có sẵn, bằng cách lấy phiên bản từ một tệp văn bản nhỏ trên chính
trang của trang chủ cho dự án. Trả về cảnh báo nếu phiên bản trả về không
phù hợp với một trong những bạn đang chạy. Khoảng thời gian khuyến nghị để kiểm tra là một lần một ngày. Xem thêm
thông tin về tùy chọn "--get_method".

phiên bản mới_pg
("symlink: check_postgres_new_version_pg") Kiểm tra xem có bản sửa đổi mới hơn của Postgres không
cho mỗi cơ sở dữ liệu được kết nối với. Lưu ý rằng điều này chỉ kiểm tra sự sửa đổi, ví dụ: đi từ
8.3.6 đến 8.3.7. Các bản sửa đổi luôn tương thích với hệ nhị phân 100% và không liên quan đến kết xuất và
khôi phục để nâng cấp. Các bản sửa đổi được thực hiện để giải quyết các lỗi, vì vậy hãy nâng cấp càng sớm càng tốt
luôn được khuyến khích. Trả về cảnh báo nếu bạn không có bản sửa đổi mới nhất. Nó là
đề nghị kiểm tra này được chạy ít nhất một lần một ngày. Xem thêm thông tin về
Tùy chọn "--get_method".

new_version_tnm
("symlink: check_postgres_new_version_tnm") Kiểm tra xem tail_n_mail có phiên bản mới hơn không
chương trình có sẵn. Phiên bản hiện tại có được bằng cách chạy "tail_n_mail --version".
Nếu có bản nâng cấp lớn, một cảnh báo sẽ được trả về. Nếu một bản nâng cấp sửa đổi là
có sẵn, một quan trọng được trả lại. (tail_n_mail là một công cụ giám sát nhật ký có thể gửi
gửi thư khi các sự kiện thú vị xuất hiện trong nhật ký Postgres của bạn. Nhìn thấy:
http://bucardo.org/wiki/Tail_n_mail để biết thêm thông tin). Xem thêm thông tin trên
tùy chọn "--get_method".

pgb_pool_cl_active
pgb_pool_cl_waiting
pgb_pool_sv_active
pgb_pool_sv_idle
pgb_pool_sv_used
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxwait
(liên kết tượng trưng: "check_postgres_pgb_pool_cl_active", "check_postgres_pgb_pool_cl_waiting",
"check_postgres_pgb_pool_sv_active", "check_postgres_pgb_pool_sv_idle",
"check_postgres_pgb_pool_sv_used", "check_postgres_pgb_pool_sv_tested",
"check_postgres_pgb_pool_sv_login" và "check_postgres_pgb_pool_maxwait")

Kiểm tra thống kê nhóm của pgbouncer. Mỗi nhóm có một tập hợp các kết nối "khách hàng",
đề cập đến kết nối từ máy khách bên ngoài và kết nối "máy chủ", đề cập đến
kết nối với chính PostgreSQL. Các hành động check_postgres liên quan có tiền tố là "cl_"
và "sv_", tương ứng. Các kết nối máy khách đang hoạt động là những kết nối hiện đang được liên kết
với một kết nối máy chủ đang hoạt động. Các kết nối máy khách cũng có thể "đang chờ", nghĩa là chúng
vẫn chưa được cấp phát một kết nối máy chủ. Các kết nối máy chủ đang "hoạt động" (được liên kết
cho khách hàng), "nhàn rỗi" (chờ kết nối máy khách liên kết với), "đã sử dụng" (chỉ
được hủy liên kết khỏi khách hàng và chưa quay lại nhóm không hoạt động), "đã thử nghiệm" (hiện đang
đã kiểm tra) và "đăng nhập" (đang trong quá trình đăng nhập). Giá trị maxwait cho biết thời gian trong
giây kết nối máy khách chờ lâu nhất đã chờ.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") Kiểm tra số lượng kết nối hiện tại
cho một hoặc nhiều cơ sở dữ liệu thông qua pgbouncer và tùy chọn so sánh nó với mức tối đa
được phép, được xác định bởi biến cấu hình pgbouncer max_client_conn. Các
--cảnh báo--phê bình các tùy chọn có thể có một trong ba hình thức. Đầu tiên, một số đơn giản có thể
được đưa ra, đại diện cho số lượng kết nối mà cảnh báo sẽ được đưa ra.
Lựa chọn này không sử dụng max_connections thiết lập. Thứ hai, tỷ lệ phần trăm khả dụng
kết nối có thể được đưa ra. Thứ ba, một số âm có thể được đưa ra đại diện cho
số lượng kết nối còn lại cho đến khi max_connections đạt được. Các giá trị mặc định cho
--cảnh báo--phê bình là '90% 'và '95%'. Bạn cũng có thể lọc cơ sở dữ liệu bằng cách sử dụng
các --bao gồm--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN" để biết thêm chi tiết.

Để chỉ xem các quy trình không hoạt động, bạn có thể sử dụng - cuộn dây tranh luận. Lưu ý rằng người dùng bạn
đang kết nối như phải là một siêu người dùng để điều này hoạt động bình thường.

Ví dụ 1: Đưa ra cảnh báo khi số lượng kết nối trên máy chủ xác nhận đạt tới 120 và
rất quan trọng nếu nó đạt đến 150.

check_postgres_pgbouncer_backends --host = quirm --warning = 120 --critical = 150 -p 6432 -u pgbouncer

Ví dụ 2: Đưa ra mức quan trọng khi chúng tôi đạt đến 75% cài đặt max_connections trên máy chủ
lancre hoặc lancre2.

check_postgres_pgbouncer_backends --warning = '75% '--critical = '75%' --host = lancre, lancre2 -p 6432 -u pgbouncer

Ví dụ 3: Đưa ra cảnh báo khi chỉ còn 10 khe kết nối nữa trên máy chủ
plasmid, và một mức quan trọng khi chúng ta chỉ còn lại 5.

check_postgres_pgbouncer_backends --warning = -10 - tới hạn = -5 --host = plasmid -p 6432 -u pgbouncer

Đối với đầu ra MRTG, số lượng kết nối được báo cáo trên dòng đầu tiên và dòng thứ tư
dòng cung cấp tên của cơ sở dữ liệu, cộng với max_client_conn hiện tại. Nếu nhiều hơn một
cơ sở dữ liệu đã được truy vấn, cơ sở dữ liệu có số lượng kết nối cao nhất là đầu ra.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") Kiểm tra xem tất cả các cài đặt pgBouncer có
giống như lần trước bạn đã kiểm tra. Điều này được thực hiện bằng cách tạo tổng kiểm tra của một danh sách được sắp xếp
cách đặt tên và giá trị của chúng. Lưu ý rằng bạn không nên chỉ định tên cơ sở dữ liệu, nó
sẽ tự động mặc định thành pgbouncer. Hoặc là --cảnh báo hoặc là --phê bình tùy chọn
nên được đưa ra, nhưng không phải cả hai. Giá trị của mỗi giá trị là tổng kiểm tra, 32 ký tự
giá trị thập lục phân. Bạn có thể chạy với tùy chọn "- tới hạn = 0" đặc biệt để tìm ra
tổng kiểm tra hiện có.

Hành động này yêu cầu mô-đun Digest :: MD5.

Ví dụ 1: Tìm tổng kiểm tra ban đầu cho cấu hình pgbouncer trên cổng 6432 bằng cách sử dụng
người dùng mặc định (thường là postgres)

check_postgres_pgbouncer_checksum --port = 6432 - tới hạn = 0

Ví dụ 2: Đảm bảo không có cài đặt nào thay đổi và cảnh báo nếu có, sử dụng tổng kiểm tra từ
ở trên.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Đối với đầu ra MRTG, trả về 1 hoặc 0 cho biết thành công khi tổng tổng kiểm tra không khớp.
Một tổng kiểm tra phải được cung cấp dưới dạng đối số "--mrtg". Dòng thứ tư luôn cho
tổng kiểm tra hiện tại.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") Kiểm tra xem tất cả các công việc pgAgent có
được thực hiện trong khoảng thời gian trước đó đã thành công. Điều này được thực hiện bằng cách kiểm tra
bất kỳ bước nào có kết quả khác XNUMX.

Có thể chỉ định "--warning" hoặc "- tới hạn", hoặc cả hai, theo thời gian và công việc sẽ
được kiểm tra xem có hỏng hóc nào trong khoảng thời gian được chỉ định trước thời điểm hiện tại hay không. Có giá trị
đơn vị là giây, phút, giờ và ngày; tất cả có thể được viết tắt thành chữ cái đầu tiên.
Nếu không có đơn vị nào được đưa ra, thì 'giây' được giả định.

Ví dụ 1: Đưa ra mức quan trọng khi bất kỳ công việc nào được thực hiện trong ngày qua không thành công.

check_postgres_pgagent_jobs - tới hạn = 1ngày

Ví dụ 2: Đưa ra cảnh báo khi bất kỳ công việc nào được thực hiện trong tuần trước không thành công.

check_postgres_pgagent_jobs --warning = 7ngày

Ví dụ 3: Đưa ra mức quan trọng đối với các công việc đã thất bại trong 2 giờ qua và cảnh báo đối với
công việc không thành công trong 4 giờ qua:

check_postgres_pgagent_jobs - tới hạn = 2h --warning = 4h

ready_txns
("symlink: check_postgres_prepared_txns") Kiểm tra độ tuổi của bất kỳ loại đã chuẩn bị nào hiện có
các giao dịch. Lưu ý rằng hầu hết mọi người sẽ KHÔNG sử dụng các giao dịch đã chuẩn bị, vì chúng là một phần
của cam kết hai phần và phức tạp để duy trì. Họ cũng không nên nhầm lẫn với
BÁO CÁO đã chuẩn bị, đó là những gì hầu hết mọi người nghĩ đến khi họ nghe chuẩn bị. Các
giá trị mặc định cho cảnh báo là 1 giây, để phát hiện bất kỳ việc sử dụng nào các giao dịch đã chuẩn bị,
có lẽ là một sai lầm trên hầu hết các hệ thống. Cảnh báo và quan trọng là số giây a
giao dịch chuẩn bị đã được mở trước khi cảnh báo được đưa ra.

Ví dụ 1: Đưa ra cảnh báo về việc phát hiện bất kỳ giao dịch chuẩn bị nào:

check_postgres_prepared_txns -w 0

Ví dụ 2: Đưa ra mức quan trọng nếu bất kỳ giao dịch chuẩn bị nào đã được mở lâu hơn 10
giây, nhưng cho phép tối đa 360 giây để cơ sở dữ liệu 'rè':

check_postgres_prepared_txns --critical = 10 --exclude = shéke
check_postgres_prepared_txns --critical = 360 --include = shéke

Đối với đầu ra MRTG, trả về số giây mà giao dịch cũ nhất đã được mở dưới dạng
dòng đầu tiên và cơ sở dữ liệu đến từ dòng cuối cùng.

query_runtime
("symlink: check_postgres_query_runtime") Kiểm tra thời gian chạy một truy vấn cụ thể,
bằng cách thực hiện "GIẢI THÍCH PHÂN TÍCH" đối với nó. Các --cảnh báo--phê bình các tùy chọn là
lượng thời gian tối đa mà truy vấn sẽ mất. Các đơn vị hợp lệ là giây, phút và giờ;
bất kỳ có thể được viết tắt thành chữ cái đầu tiên. Nếu không có đơn vị nào được đưa ra thì giả sử là 'giây'.
Cả cảnh báo và tùy chọn quan trọng phải được đưa ra. Tên của chế độ xem hoặc chức năng
để được chạy phải được chuyển vào --tên truy vấn Lựa chọn. Nó phải bao gồm một từ duy nhất
(hoặc schema.word), với các parens tùy chọn ở cuối.

Ví dụ 1: Đưa ra giá trị quan trọng nếu hàm có tên "speedtest" không chạy trong 10 giây hoặc
ít hơn.

check_postgres_query_runtime --queryname = 'speedtest ()' --critical = 10 --warning = 10

Đối với đầu ra MRTG, báo cáo thời gian tính bằng giây để truy vấn hoàn thành trên dòng đầu tiên.
Dòng thứ tư liệt kê cơ sở dữ liệu.

truy vấn_thời gian
("symlink: check_postgres_query_time") Kiểm tra độ dài của các truy vấn đang chạy trên một hoặc nhiều
cơ sở dữ liệu. Không cần phải chạy điều này nhiều lần trên cùng một cụm cơ sở dữ liệu. Ghi chú
rằng điều này đã loại trừ các truy vấn "không hoạt động trong giao dịch". Cơ sở dữ liệu có thể
được lọc bằng cách sử dụng --bao gồm--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN"
để biết thêm chi tiết. Bạn cũng có thể lọc người dùng đang chạy truy vấn với --bao gồm người dùng
--loại trừ người dùng tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG" để biết thêm chi tiết.

Các giá trị cho --cảnh báo--phê bình tùy chọn là lượng thời gian và mặc định là '2
phút 'và' 5 phút 'tương ứng. Các đơn vị hợp lệ là 'giây', 'phút', 'giờ' hoặc
'ngày'. Mỗi từ có thể được viết số ít hoặc viết tắt chỉ bằng chữ cái đầu tiên. Nếu không có đơn vị
được đưa ra, đơn vị được giả định là giây.

Hành động này yêu cầu Postgres 8.1 trở lên.

Ví dụ 1: Đưa ra cảnh báo nếu bất kỳ truy vấn nào đã chạy lâu hơn 3 phút và
nghiêm trọng nếu lâu hơn 5 phút.

check_postgres_query_time --port = 5432 --warning = '3 phút' --critical = '5 phút'

Ví dụ 2: Sử dụng các giá trị mặc định (2 và 5 phút), hãy kiểm tra tất cả các cơ sở dữ liệu ngoại trừ những
bắt đầu với 'mẫu'.

check_postgres_query_time --port = 5432 --exclude = ~ ^ mẫu

Ví dụ 3: Cảnh báo nếu người dùng 'don' có truy vấn chạy hơn 20 giây

check_postgres_query_time --port = 5432 --includeuser = don --warning = 20 giây

Đối với đầu ra MRTG, trả về độ dài tính bằng giây của truy vấn chạy dài nhất ở lần đầu tiên
hàng. Dòng thứ tư cho biết tên của cơ sở dữ liệu.

sao chép_row
("symlink: check_postgres_replicate_row") Kiểm tra xem bản sao master-slave có hoạt động không
cho một hoặc nhiều nô lệ.

Các tùy chọn đầu tiên "--dbname", "--host" và "--port", v.v. được coi là cái chính;
sử dụng tiếp theo là các nô lệ. Các giá trị hoặc --cảnh báo--phê bình lựa chọn là
đơn vị thời gian và ít nhất một đơn vị phải được cung cấp (không có giá trị mặc định). Đơn vị hợp lệ là 'giây',
'phút', 'giờ' hoặc 'ngày'. Mỗi cái có thể được viết số ít hoặc viết tắt để chỉ
chữ cái đầu tiên. Nếu không có đơn vị nào được đưa ra, đơn vị được giả định là giây.

Kiểm tra này cập nhật một hàng duy nhất trên trang cái và sau đó đo lường khoảng thời gian
áp dụng cho các nô lệ. Để làm điều này, bạn cần chọn một bảng đang được sao chép, sau đó
tìm một hàng có thể được thay đổi và sẽ không bị thay đổi bởi bất kỳ quá trình nào khác. MỘT
cột cụ thể của hàng này sẽ được thay đổi từ giá trị này sang giá trị khác. Tất cả những thứ này được cho ăn
vào tùy chọn "repinfo" và phải chứa các tùy chọn sau, được phân tách bằng dấu phẩy:
tên bảng, khóa chính, id khóa, cột, giá trị đầu tiên, giá trị thứ hai.

Ví dụ 1: Slony đang sao chép một bảng có tên 'đơn đặt hàng' từ máy chủ 'alpha' sang máy chủ 'beta',
trong cơ sở dữ liệu 'bán hàng'. Khóa chính của bảng được đặt tên là id và chúng ta sẽ
kiểm tra hàng với id là 3 (là lịch sử và không bao giờ thay đổi). Có một cột
có tên là 'salesrep' mà chúng ta sẽ chuyển từ giá trị 'slon' thành 'nols' để kiểm tra
sự nhân rộng. Chúng tôi muốn đưa ra một cảnh báo nếu quá trình sao chép không xảy ra trong vòng 10
giây.

check_postgres_replicate_row --host = alpha --dbname = sales --host = beta
--dbname = sales --warning = 10 --repinfo = order, id, 3, salesrep, slon, nols

Ví dụ 2: Bucardo đang sao chép một bảng có tên 'biên nhận' từ máy chủ "màu xanh lá cây" sang máy chủ
'đỏ', 'xanh lam' và 'vàng'. Cơ sở dữ liệu cho cả hai bên là 'công khai'. Cơ sở dữ liệu nô lệ
đang chạy trên cổng 5455. Khóa chính được đặt tên là 'nhận_id', hàng mà chúng tôi muốn sử dụng
có giá trị là 9 và cột chúng tôi muốn thay đổi để kiểm tra được gọi là 'vùng'. Tốt
chuyển đổi giữa 'bắc' và 'nam' cho giá trị của cột này và ném một dấu hiệu quan trọng nếu
thay đổi không có trên cả ba nô lệ trong vòng 5 giây.

check_postgres_replicate_row --host = green --port = 5455 --host = red, blue, yellow
- tới hạn = 5 --repinfo = biên nhận, biên nhận_id, 9, khu vực, bắc, nam

Đối với đầu ra MRTG, trả về trên dòng đầu tiên thời gian tính bằng giây để sao chép
kết thúc. Thời gian tối đa được đặt thành 4 phút 30 giây: nếu không có bản sao nào được thực hiện
đặt trong một thời gian dài, một lỗi được ném ra.

lược đồ giống nhau
("symlink: check_postgres_same_schema") Xác minh rằng hai hoặc nhiều cơ sở dữ liệu giống hệt nhau
xa như lược đồ của họ (nhưng không phải dữ liệu bên trong). Điều này đặc biệt tiện dụng để làm
đảm bảo nô lệ của bạn không bị sửa đổi hoặc bị hỏng theo bất kỳ cách nào khi sử dụng chủ để làm nô lệ
nhân rộng. Không giống như hầu hết các hành động khác, hành động này không có tiêu chí cảnh báo hoặc quan trọng -
cơ sở dữ liệu có đồng bộ hoặc không. Nếu chúng khác nhau, một danh sách chi tiết về
sự khác biệt được trình bày.

Bạn có thể muốn loại trừ hoặc lọc ra những khác biệt nhất định. Cách để làm điều này là thêm
chuỗi vào tùy chọn "--filter". Để loại trừ một loại đối tượng, hãy sử dụng "noname", trong đó "name"
là loại đối tượng, ví dụ, "noschema". Để loại trừ các đối tượng thuộc một loại nhất định bằng cách
biểu thức chính quy đối với tên của họ, hãy sử dụng "noname = regex". Xem các ví dụ dưới đây để biết
hiểu rõ hơn.

Các loại đối tượng có thể được lọc bao gồm:

người sử dụng
kế hoạch
bàn
lượt xem
chỉ số
trình tự
hạn chế
kích hoạt
chức năng

Tùy chọn bộ lọc "noposition" ngăn việc xác minh vị trí của các cột trong
bảng.

Tùy chọn bộ lọc "nofuncbody" ngăn việc so sánh các phần thân của tất cả các chức năng.

Tùy chọn bộ lọc "noperm" ngăn cản việc so sánh các quyền đối tượng.

Để cung cấp cơ sở dữ liệu thứ hai, chỉ cần nối các điểm khác biệt với cơ sở dữ liệu đầu tiên bằng một lệnh gọi tới
đối số kết nối thích hợp. Ví dụ: để so sánh cơ sở dữ liệu trên máy chủ alpha và
bravo, sử dụng "--dbhost = alpha, bravo". Cũng xem các ví dụ bên dưới.

Nếu chỉ cung cấp một máy chủ lưu trữ duy nhất, chúng tôi giả định rằng chúng tôi đang thực hiện một báo cáo "dựa trên thời gian". Các
lần đầu tiên điều này được chạy, một ảnh chụp nhanh của tất cả các mục trong cơ sở dữ liệu được lưu vào một cục bộ
tập tin. Khi bạn chạy lại, ảnh chụp nhanh đó được đọc trong và trở thành "cơ sở dữ liệu # 2" và
so với cơ sở dữ liệu hiện tại.

Để thay thế tệp được lưu trữ cũ bằng phiên bản mới, hãy sử dụng đối số --replace.

Để bật ảnh chụp nhanh tại các thời điểm khác nhau, bạn có thể sử dụng đối số "--suffix" để thực hiện
tên tệp duy nhất cho mỗi lần chạy. Xem các ví dụ bên dưới.

Ví dụ 1: Xác minh rằng hai cơ sở dữ liệu trên máy chủ lưu trữ có dấu sao và dòng giống nhau:

check_postgres_same_schema --dbhost = sao, dòng

Ví dụ 2: Tương tự như trước đây, nhưng loại trừ bất kỳ trình kích hoạt nào có "slony" trong tên của chúng

check_postgres_same_schema --dbhost = star, line --filter = "notrigger = slony"

Ví dụ 3: Tương tự như trước đây, nhưng cũng loại trừ tất cả các chỉ mục

check_postgres_same_schema --dbhost = star, line --filter = "notrigger = slony noindexes"

Ví dụ 4: Kiểm tra sự khác biệt cho cơ sở dữ liệu "battlestar" trên các cổng khác nhau

check_postgres_same_schema --dbname = battlestar --dbport = 5432,5544

Ví dụ 5: Tạo tệp ảnh chụp nhanh hàng ngày và hàng tuần

check_postgres_same_schema --dbname = cylon --suffix = daily
check_postgres_same_schema --dbname = cylon --suffix = hàng tuần

Ví dụ 6: Chạy so sánh lịch sử, sau đó thay thế tệp

check_postgres_same_schema --dbname = cylon --suffix = daily --replace

trình tự
("symlink: check_postgres_sequence") Kiểm tra lượng chỗ trống còn lại trên tất cả các chuỗi trong
cơ sở dữ liệu. Điều này được đo bằng phần trăm của tổng số giá trị có thể đã được sử dụng
cho mỗi trình tự. Các --cảnh báo--phê bình các tùy chọn nên được thể hiện dưới dạng
tỷ lệ phần trăm. Các giá trị mặc định là 85% cho cảnh báo và 95% cho những người quan trọng. Bạn có thể
sử dụng --include và --exclude để kiểm soát trình tự nào sẽ được kiểm tra. Lưu ý rằng điều này
kiểm tra xem có bất thường không giá trị nhỏ nhấttăng by giá trị, nhưng không quan tâm nếu
trình tự có được đặt thành chu kỳ hay không.

Đầu ra cho Nagios cung cấp tên của trình tự, tỷ lệ phần trăm được sử dụng và số
trong tổng số 'lệnh gọi' còn lại, cho biết số lần giá trị tiếp theo có thể được gọi trên chuỗi đó
trước khi chạy vào giá trị lớn nhất.

Đầu ra cho MRTG trả về tỷ lệ phần trăm cao nhất trên tất cả các chuỗi trên dòng đầu tiên,
và tên của mỗi dãy có tỷ lệ phần trăm đó trên dòng thứ tư, được phân tách bằng dấu "|"
(đường ống) nếu có nhiều hơn một trình tự với tỷ lệ phần trăm đó.

Ví dụ 1: Đưa ra cảnh báo nếu bất kỳ chuỗi nào sắp đầy 95%.

check_postgres_sequence --dbport = 5432 --warning = 95%

Ví dụ 2: Kiểm tra để đảm bảo rằng chuỗi có tên "order_id_seq" không đầy hơn một nửa.

check_postgres_sequence --dbport = 5432 - tới hạn = 50% --include = order_id_seq

cài đặt_checksum
("symlink: check_postgres_settings_checksum") Kiểm tra xem tất cả các cài đặt Postgres có
giống như lần trước bạn đã kiểm tra. Điều này được thực hiện bằng cách tạo tổng kiểm tra của một danh sách được sắp xếp
cách đặt tên và giá trị của chúng. Lưu ý rằng những người dùng khác nhau trong cùng một cơ sở dữ liệu có thể có
các tổng kiểm tra khác nhau, do sử dụng ALTER USER và do thực tế là superusers thấy nhiều hơn
cài đặt hơn người dùng thông thường. Hoặc là --cảnh báo hoặc là --phê bình tùy chọn nên được
đưa ra, nhưng không phải cả hai. Giá trị của mỗi giá trị là tổng kiểm tra, một hệ thập lục phân 32 ký tự
giá trị. Bạn có thể chạy với tùy chọn đặc biệt "- tới hạn = 0" để tìm ra một
tổng kiểm tra.

Hành động này yêu cầu mô-đun Digest :: MD5.

Ví dụ 1: Tìm tổng kiểm tra ban đầu cho cơ sở dữ liệu trên cổng 5555 bằng người dùng mặc định
(thường là postgres)

check_postgres_settings_checksum --port = 5555 - tới hạn = 0

Ví dụ 2: Đảm bảo không có cài đặt nào thay đổi và cảnh báo nếu có, sử dụng tổng kiểm tra từ
ở trên.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Đối với đầu ra MRTG, trả về 1 hoặc 0 cho biết thành công khi tổng tổng kiểm tra không khớp.
Một tổng kiểm tra phải được cung cấp dưới dạng đối số "--mrtg". Dòng thứ tư luôn cho
tổng kiểm tra hiện tại.

slony_status
("symlink: check_postgres_slony_status") Kiểm tra trạng thái của một cụm Slony bằng cách
nhìn vào kết quả của chế độ xem sl_status của Slony. Số này được trả về dưới dạng số
giây của "thời gian trễ". Các --cảnh báo--phê bình các tùy chọn nên được thể hiện dưới dạng thời gian.
Các giá trị mặc định là 60 giây cho cảnh báo và 300 giây cho những người quan trọng.

Đối số tùy chọn --lược đồ chỉ ra lược đồ mà Slony được cài đặt. Nếu nó
không được cung cấp, lược đồ sẽ được xác định tự động mỗi khi kiểm tra này được chạy.

Ví dụ 1: Đưa ra cảnh báo nếu bất kỳ Slony nào bị trễ hơn 20 giây

check_postgres_slony_status - cảnh báo 20

Ví dụ 2: Đưa ra mức quan trọng nếu Slony, được cài đặt trong lược đồ "_slony", lớn hơn 10
phút bị trễ

check_postgres_slony_status --schema = _slony - tới hạn = 600

đồng bộ thời gian
("symlink: check_postgres_timesync") So sánh thời gian hệ thống cục bộ với thời gian được báo cáo
bởi một hoặc nhiều cơ sở dữ liệu. Các --cảnh báo--phê bình các tùy chọn đại diện cho số lượng
giây giữa hai hệ thống trước khi cảnh báo được đưa ra. Nếu cả hai đều không được chỉ định,
các giá trị mặc định được sử dụng, là '2' và '5'. Giá trị cảnh báo không được lớn hơn
giá trị tới hạn. Do tính chất không chính xác của thử nghiệm này, các giá trị '0' hoặc '1' không
khuyến khích.

Chuỗi trả về hiển thị chênh lệch thời gian cũng như thời gian mỗi bên được viết
ngoài.

Ví dụ 1: Kiểm tra xem cơ sở dữ liệu trên máy chủ ankh, morpork và klatch có lớn hơn 3 không
giảm giây so với giờ địa phương:

check_postgres_timesync --host = ankh, morpork, klatch - tới hạn = 3

Đối với đầu ra MRTG, trả về một dòng đầu tiên số giây chênh lệch giữa
giờ địa phương và thời gian cơ sở dữ liệu. Dòng thứ tư trả về tên của cơ sở dữ liệu.

txn_idle
("symlink: check_postgres_txn_idle") Kiểm tra số lượng và thời lượng "không hoạt động trong
giao dịch "truy vấn trên một hoặc nhiều cơ sở dữ liệu. Không cần phải chạy điều này nhiều lần
trên cùng một cụm cơ sở dữ liệu. Cơ sở dữ liệu có thể được lọc bằng cách sử dụng --bao gồm
--loại trừ tùy chọn. Xem phần "LỌC CƠ BẢN" bên dưới để biết thêm chi tiết.

Sản phẩm --cảnh báo--phê bình các tùy chọn được đưa ra dưới dạng đơn vị thời gian, số nguyên có dấu hoặc
số nguyên cho đơn vị thời gian và cả hai phải được cung cấp (không có giá trị mặc định). Đơn vị hợp lệ
là 'giây', 'phút', 'giờ' hoặc 'ngày'. Mỗi cái có thể được viết số ít hoặc viết tắt
chỉ với chữ cái đầu tiên. Nếu không có đơn vị nào được đưa ra và các số không có dấu, đơn vị
được giả định là giây.

Hành động này yêu cầu Postgres 8.3 trở lên.

Ví dụ 1: Đưa ra cảnh báo nếu bất kỳ kết nối nào không hoạt động trong giao dịch hơn 15
giây:

check_postgres_txn_idle --port = 5432 --warning = '15 giây '

Ví dụ 2: Đưa ra cảnh báo nếu có từ 50 giao dịch trở lên

check_postgres_txn_idle --port = 5432 --warning = '+ 50'

Ví dụ 3: Đưa ra mức quan trọng nếu 5 kết nối trở lên không hoạt động trong giao dịch để biết thêm
hơn 10 giây:

check_postgres_txn_idle --port = 5432 --critical = '5 trong 10 giây'

Đối với đầu ra MRTG, trả về thời gian tính bằng giây mà giao dịch không hoạt động lâu nhất đã
đang chạy. Dòng thứ tư trả về tên của cơ sở dữ liệu và thông tin khác về
giao dịch dài nhất.

txn_time
("symlink: check_postgres_txn_time") Kiểm tra độ dài của các giao dịch đang mở trên một hoặc nhiều
cơ sở dữ liệu. Không cần phải chạy lệnh này nhiều hơn một lần trên mỗi cụm cơ sở dữ liệu.
Cơ sở dữ liệu có thể được lọc bằng cách sử dụng --bao gồm--loại trừ tùy chọn. Xem phần "CƠ BẢN
LỌC "để biết thêm chi tiết. Chủ sở hữu của giao dịch cũng có thể được lọc, theo
sử dụng các --bao gồm người dùng--loại trừ người dùng tùy chọn. Xem phần "LỌC TÊN NGƯỜI DÙNG"
để biết thêm chi tiết.

Các giá trị hoặc --cảnh báo--phê bình tùy chọn là đơn vị thời gian và phải được cung cấp
(không có mặc định). Các đơn vị hợp lệ là 'giây', 'phút', 'giờ' hoặc 'ngày'. Mỗi người có thể
được viết số ít hoặc viết tắt chỉ với chữ cái đầu tiên. Nếu không có đơn vị nào được đưa ra,
đơn vị được giả định là giây.

Hành động này yêu cầu Postgres 8.3 trở lên.

Ví dụ 1: Đưa ra mức quan trọng nếu bất kỳ giao dịch nào đã được mở trong hơn 10 phút:

check_postgres_txn_time --port = 5432 --critical = '10 phút '

Ví dụ 1: Cảnh báo nếu 'nhà kho' của người dùng có giao dịch mở trong 30 giây

check_postgres_txn_time --port-5432 --warning = 30 giây --includeuser = kho

Đối với đầu ra MRTG, trả về thời gian tối đa tính bằng giây mà một giao dịch đã được mở trên
dòng đầu tiên. Dòng thứ tư cho biết tên của cơ sở dữ liệu.

txn_wraparound
("symlink: check_postgres_txn_wraparound") Kiểm tra mức độ gần của giao dịch bao quanh một
hoặc nhiều cơ sở dữ liệu đang nhận được. Các --cảnh báo--phê bình các tùy chọn cho biết số
giao dịch đã thực hiện và phải là một số nguyên dương. Nếu một trong hai tùy chọn không được đưa ra,
các giá trị mặc định là 1.3 và 1.4 tỷ được sử dụng. Không cần phải chạy lệnh này nữa
nhiều hơn một lần cho mỗi cụm cơ sở dữ liệu. Để có một cuộc thảo luận chi tiết hơn về con số này
đại diện và phải làm gì về nó, vui lòng truy cập trang
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html# VACUUM-FOR-WRAPAROUND>

Các giá trị cảnh báo và quan trọng có thể có gạch dưới số để dễ đọc, như Perl
không.

Ví dụ 1: Kiểm tra các giá trị mặc định cho cơ sở dữ liệu localhost

check_postgres_txn_wraparound --host = localhost

Ví dụ 2: Kiểm tra cổng 6000 và đưa ra giá trị quan trọng khi có 1.7 tỷ giao dịch được thực hiện:

check_postgres_txn_wraparound --port=6000 --critical=1_700_000_000

Đối với đầu ra MRTG, trả về số lượng giao dịch cao nhất cho tất cả các cơ sở dữ liệu trên dòng một,
trong khi dòng 4 cho biết đó là cơ sở dữ liệu nào.

phiên bản
("symlink: check_postgres_version") Kiểm tra xem phiên bản yêu cầu của Postgres là
đang chạy. Các --cảnh báo--phê bình các tùy chọn (chỉ một tùy chọn được yêu cầu) phải có định dạng
XY or XYZ Ở đâu X là số phiên bản chính, Y là số phiên bản nhỏ và Z is
bản sửa đổi.

Ví dụ 1: Đưa ra cảnh báo nếu cơ sở dữ liệu trên cổng 5678 không phải là phiên bản 8.4.10:

check_postgres_version --port = 5678 -w = 8.4.10

Ví dụ 2: Đưa ra cảnh báo nếu bất kỳ cơ sở dữ liệu nào trên máy chủ thung lũng, ngũ cốc hoặc ánh nắng mặt trời không phải là 8.3:

check_postgres_version -H thung lũng, ngũ cốc, ánh nắng mặt trời - tới hạn = 8.3

Đối với đầu ra MRTG, báo cáo 1 hoặc 0 cho biết thành công hay thất bại trên dòng đầu tiên. Các
dòng thứ tư cho biết phiên bản hiện tại. Phiên bản phải được cung cấp qua "--mrtg"
tùy chọn.

wal_files
("symlink: check_postgres_wal_files") Kiểm tra xem có bao nhiêu tệp WAL tồn tại trong pg_xlog
thư mục, được tìm thấy ngoài của bạn Thư mục dữ liệu, đôi khi là một liên kết tượng trưng với một liên kết khác
đĩa vật lý vì lý do hiệu suất. Hành động này phải được chạy với tư cách là người dùng siêu cấp, để
truy cập nội dung của pg_xlog danh mục. Phiên bản tối thiểu để sử dụng hành động này là
Postgres 8.1. Các --cảnh báo--phê bình các tùy chọn chỉ đơn giản là số lượng tệp trong
pg_xlog danh mục. Con số nào để đặt điều này sẽ khác nhau, nhưng nguyên tắc chung là đặt
cao hơn một chút so với mức bình thường, để sớm phát hiện ra các vấn đề.

Thông thường, các tệp WAL được đóng và sau đó được sử dụng lại, nhưng một giao dịch mở lâu dài hoặc
bị lỗi lưu trữ_command script, có thể khiến Postgres tạo quá nhiều tệp. Cuối cùng,
điều này sẽ làm cho đĩa mà họ đang sử dụng hết dung lượng, lúc này Postgres sẽ
tắt.

Ví dụ 1: Kiểm tra xem số lượng tệp WAL là 20 hoặc ít hơn trên máy chủ "pluto"

check_postgres_wal_files --host = pluto - tới hạn = 20

Đối với đầu ra MRTG, báo cáo số lượng tệp WAL trên dòng 1.

render_symlinks
Build_symlinks_force
Hành động này không yêu cầu đối số khác và không kết nối với bất kỳ cơ sở dữ liệu nào, mà chỉ đơn giản là
tạo các liên kết tượng trưng trong thư mục hiện tại cho mỗi hành động, trong biểu mẫu
check_postgres_. Nếu tệp đã tồn tại, nó sẽ không bị ghi đè. Nếu như
hành động là tái tạo lại_symlinks_force, sau đó các liên kết tượng trưng sẽ bị ghi đè. Các tùy chọn
--symlinks là cách nói ngắn gọn hơn --action = Build_symlinks

BASIC LỌC


Các tùy chọn --bao gồm--loại trừ có thể được kết hợp để giới hạn những thứ được kiểm tra,
tùy thuộc vào hành động. Tên của cơ sở dữ liệu có thể được lọc khi sử dụng phần sau
các hành động: phụ trợ, kích thước cơ sở dữ liệu, khóa, query_time, txn_idle và txn_time. Tên của
một quan hệ có thể được lọc khi sử dụng các hành động sau: bloat, index_size,
table_size, Relations_size, last_vacuum, last_autovacuum, last_analyze và
last_autoanalyze. Tên của cài đặt có thể được lọc khi sử dụng settings_checksum
hoạt động. Tên của hệ thống tệp có thể được lọc khi sử dụng hành động disk_space.

Nếu chỉ có một tùy chọn bao gồm được đưa ra, thì CHỈ những mục nhập phù hợp sẽ được chọn.
Tuy nhiên, nếu đưa ra cả loại trừ và bao gồm, thì việc loại trừ được thực hiện trước và việc bao gồm
sau đó, để khôi phục những thứ có thể đã bị loại trừ. Cả hai --bao gồm--loại trừ có thể
được đưa ra nhiều lần và / hoặc dưới dạng danh sách được phân tách bằng dấu phẩy. Dấu ngã đứng đầu sẽ khớp với
sau từ dưới dạng một biểu thức chính quy.

Để đối sánh với một lược đồ, hãy kết thúc cụm từ tìm kiếm bằng một dấu chấm. Các dấu ngã đứng đầu có thể được sử dụng
cho cả các lược đồ.

Hãy cẩn thận khi sử dụng tính năng lọc: ví dụ: một quy tắc bao gồm trên phần phụ trợ có thể
báo cáo không có vấn đề không chỉ vì cơ sở dữ liệu phù hợp không có phụ trợ, mà vì bạn
sai chính tả tên của cơ sở dữ liệu!

Ví dụ:

Chỉ kiểm tra các mục có tên pg_class:

--include = pg_class

Chỉ kiểm tra các mục có chứa các ký tự 'pg_':

--bao gồm = ~ pg_

Chỉ kiểm tra các mục bắt đầu bằng 'pg_':

--bao gồm = ~ ^ pg_

Loại trừ mục có tên 'thử nghiệm':

--exclude = test

Loại trừ tất cả các mục có chứa bài kiểm tra chữ cái:

--exclude = ~ test

Loại trừ tất cả các mục trong lược đồ 'pg_catalog':

--exclude = 'pg_catalog.'

Loại trừ tất cả các mục có chứa các chữ cái 'át chủ bài', nhưng cho phép mục 'đối mặt':

--exclude = ~ ace --include = faceoff

Loại trừ tất cả các mục bắt đầu bằng các chữ cái 'pg_', chứa các chữ cái 'slon', hoặc
được đặt tên là 'sql_settings' hoặc 'green'. Đặc biệt kiểm tra các mục bằng các chữ cái
'prod' trong tên của họ và luôn kiểm tra mục có tên 'pg_relname':

--exclude = ~ ^ pg_, ~ slon, sql_settings --exclude = green --include = ~ prod, pg_relname

USER TÊN LỌC


Các tùy chọn --bao gồm người dùng--loại trừ người dùng có thể được sử dụng trên một số hành động để chỉ kiểm tra
các đối tượng cơ sở dữ liệu thuộc sở hữu (hoặc không thuộc sở hữu của) một hoặc nhiều người dùng. Một --bao gồm người dùng tùy chọn
luôn luôn vượt trội --loại trừ người dùng Lựa chọn. Bạn có thể cung cấp cho mỗi tùy chọn nhiều hơn một lần cho
nhiều người dùng hoặc bạn có thể cung cấp danh sách được phân tách bằng dấu phẩy. Các hành động hiện đang sử dụng
các tùy chọn này là:

cơ sở dữ liệu_size
phân tích cuối cùng
Last_autoanalyze
cuối_vacuum
Last_autovacuum
truy vấn_thời gian
kích thước_quan hệ
txn_time

Ví dụ:

Chỉ kiểm tra các mục thuộc sở hữu của người dùng có tên greg:

--includeuser = greg

Chỉ kiểm tra các mặt hàng thuộc sở hữu của watson hoặc crick:

--includeuser = watson, crick

Chỉ kiểm tra các mặt hàng thuộc sở hữu của crick, Franklin, watson hoặc wilkins:

--includeuser = watson --includeuser = Franklin --includeuser = crick, wilkins

Kiểm tra tất cả các mục ngoại trừ những mục thuộc về người dùng:

--excludeuser = scott

THI PHƯƠNG THỨC


Để giúp thiết lập mọi thứ, chương trình này có thể được chạy ở "chế độ thử nghiệm" bằng cách chỉ định
--kiểm tra Lựa chọn. Điều này sẽ thực hiện một số kiểm tra cơ bản để đảm bảo rằng cơ sở dữ liệu có thể
được liên hệ và đáp ứng các điều kiện tiên quyết nhất định cho mỗi hành động, chẳng hạn như liệu người dùng có
một superuser, nếu phiên bản Postgres đủ mới và nếu stats_row_level được bật.

Sử dụng check_postgres_table_sizep 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
    Máy pha
    Máy pha
    Phaser là một công cụ mở nhanh, miễn phí và thú vị
    nguồn HTML5 trò chơi khung cung cấp
    Hiển thị WebGL và Canvas trên
    trình duyệt web trên máy tính để bàn và thiết bị di động. Trò chơi
    có thể được đồng ...
    Tải xuống Phaser
  • 2
    Động cơ VASSAL
    Động cơ VASSAL
    VASSAL là một công cụ trò chơi để tạo
    phiên bản điện tử của bảng truyền thống
    và các trò chơi bài. Nó cung cấp hỗ trợ cho
    kết xuất và tương tác mảnh trò chơi,
    và ...
    Tải xuống Công cụ VASSAL
  • 3
    OpenPDF - Ngã ba của iText
    OpenPDF - Ngã ba của iText
    OpenPDF là một thư viện Java để tạo
    và chỉnh sửa các tệp PDF bằng LGPL và
    Giấy phép nguồn mở MPL. OpenPDF là
    Mã nguồn mở LGPL/MPL kế thừa của iText,
    có ...
    Tải xuống OpenPDF - Một nhánh của iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Hệ thống tự động
    Phân tích khoa học địa lý - là một địa lý
    Phần mềm Hệ thống Thông tin (GIS) với
    khả năng to lớn cho dữ liệu địa lý
    chế biến và ana ...
    Tải xuống SAGA GIS
  • 5
    Hộp công cụ cho Java / JTOpen
    Hộp công cụ cho Java / JTOpen
    Hộp công cụ IBM dành cho Java/JTOpen là một
    thư viện các lớp Java hỗ trợ
    lập trình client/server và internet
    các mô hình cho một hệ thống chạy OS/400,
    i5/OS, hoặc...
    Tải xuống Hộp công cụ cho Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (hoặc D3 cho Tài liệu hướng dữ liệu)
    là một thư viện JavaScript cho phép bạn
    để tạo dữ liệu động, tương tác
    trực quan hóa trong trình duyệt web. Với D3
    bạn...
    Tải xuống D3.js
  • Khác »

Lệnh Linux

Ad