เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

Ad


OnWorks favicon

check_postgres_database_sizep - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

เป€เบ›เบตเบ”เปƒเบŠเป‰ check_postgres_database_sizep เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเบœเปˆเบฒเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ check_postgres_database_sizep เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบผเบฒเบเป†เบšเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ™เป„เบฅเบ™เปŒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบฑเปˆเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เป‚เบ„เบ‡เบเบฒเบ™:

NAME


check_postgres - เบชเบฐเบ„เบฃเบดเบšเบ•เบดเบ”เบ•เบฒเบก Postgres เบชเปเบฒเบฅเบฑเบš Nagios, MRTG, Cacti, เปเบฅเบฐเบญเบทเปˆเบ™เป†

เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เบญเบฐเบ—เบดเบšเบฒเบ check_postgres เป€เบงเบตเบŠเบฑเบ™ 2.22.0

เบชเบฐเบซเบผเบธเบšเบชเบฑเบ‡เบฅเบงเบก


## เบชเป‰เบฒเบ‡ symlinks เบ—เบฑเบ‡เบซเบกเบปเบ”
check_postgres --symlinks

## เบเบงเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Postgres 'pluto':
check_postgres --action=เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ --db=pluto

## เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™, เปเบ•เปˆเบเบฒเบ™เปƒเบŠเป‰ symlink
check_postgres_connection --db=เบžเบฅเบนเป‚เบ•

## เป€เบ•เบทเบญเบ™เบ–เป‰เบฒ > 100 เบฅเบฑเบญเบ, เบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒ > 200, เบซเบผเบท > 20 เบžเบดเป€เบชเบ”
check_postgres_locks --warning=100 --critical="total=200:exclusive=20"

## เบชเบฐเปเบ”เบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ idle เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เบžเบญเบ” 6543:
check_postgres_txn_idle --port=6543 --output=เบ‡เปˆเบฒเบเบ”เบฒเบ

## เบกเบตเบซเบผเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™, เบเบฐเบฅเบธเบ™เบฒเบชเบทเบšเบ•เปเปˆเบญเปˆเบฒเบ™.

เบ‚เปˆเบฒเบง เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบซเบผเป‰เบฒเบชเบธเบ”เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰เบขเบนเปˆเบชเบฐเป€เปเบตเบ—เบตเปˆ:
http://bucardo.org/check_postgres/

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


check_postgres เปเบกเปˆเบ™เบชเบฐเบ„เบดเบš Perl เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบผเบฒเบเบ•เปเปˆเบเบฑเบšเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Postgres. เบกเบฑเบ™เปƒเบŠเป‰เป‚เบ›เปเบเบก psql เป€เบžเบทเปˆเบญเบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš
เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบฒเบกเบฎเบนเบšเปเบšเบš: Nagios, MRTG, เบซเบผเบทเบ‡เปˆเบฒเบเบ”เบฒเบ.

เบœเบปเบ™เบœเบฐเบฅเบดเบ” Modes
เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "--output". เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ nagios,
เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบดเบšเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™ nagios, mrtg, เปเบฅเบฐ เบ‡เปˆเบฒเบเบ”เบฒเบ. เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบ•เปˆเบฅเบฐเบ„เบปเบ™
เป€เบงเบฅเบฒ, เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ–เป‰เบฒเบšเปเปˆเบกเบต --output argument เป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เปเบฅเบฐเบ–เป‰เบฒ
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™เบกเบตเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบกเบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบชเป‰เบฒเบ‡ a
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบŠเบทเปˆ mrtg เปเบฅเบฐเบชเป‰เบฒเบ‡เบกเบฑเบ™เบ”เป‰เบงเบ symlinks เบœเปˆเบฒเบ™ --symlinks เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบˆเบฐ
เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ”เป†เบˆเบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบฑเป‰เบ™เบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ "mrtg" เบชเบฐเป€เบซเบกเบต.
เปƒเบ™โ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบฒเบ‡โ€‹เบฅเบฑเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš --output=simple, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบ‚เบปเป‰เบฒ --simple, เป€เบŠเบดเปˆเบ‡ overrides เป„เบ”เป‰
เป€เบ„เบฑเบ”เบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต.

Nagios output

เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบš Nagios, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ”เบฝเบงเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบžเป‰เบญเบกเบเบฑเบš
เบชเบตเปˆเบฅเบฐเบซเบฑเบ”เบญเบญเบเบชเบฐเป€เบžเบฒเบฐ:

0 (เบ•เบปเบเบฅเบปเบ‡)
1 (เบ„เบณเป€เบ•เบทเบญเบ™)
2 (เบชเบณเบ„เบฑเบ™)
3 (เบšเปเปˆเบฎเบนเป‰)

เป€เบชเบฑเป‰เบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เปเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบˆเปเป‰เบฒเบชเบญเบ‡เป€เบกเบฑเบ”, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆ
เป„เบ”เป‰เบ–เบทเบเบงเบฑเบ”เปเบ—เบ. เบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ–เบดเบ•เบดเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบงเบฅเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡
เป€เบญเบปเบฒ, เบชเบฒเบกเบฒเบ”เบญเบญเบเป„เบ”เป‰เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™: เป€เบšเบดเปˆเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ --showperf,
--perflimit, เปเบฅเบฐ --เป€เบงโ€‹เบฅเบฒโ€‹เบชเบฐโ€‹เปเบ”เบ‡.

เบเบ—เบ‚ output

เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ” MRTG เปเบกเปˆเบ™โ€‹เบชเบตเปˆโ€‹เป€เบชเบฑเป‰เบ™โ€‹, เบกเบตโ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹เป„เบ›โ€‹เปƒเบซเป‰โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ”เบฝเบงโ€‹เบ‚เบญเบ‡โ€‹
เบ„เบงเบฒเบกเบชเบณเบ„เบฑเบ™. เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹, เบ•เบปเบงโ€‹เป€เบฅเบโ€‹เบ™เบตเป‰โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบกเบนเบ™โ€‹เบ„เปˆเบฒโ€‹เบ•เบปเบงโ€‹เบˆเบดเบ‡โ€‹เป€เบŠเบฑเปˆเบ™โ€‹: เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹
bytes, เปเบ•เปˆเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ 1 เบซเบผเบท a 0 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™ "เบ„เบงเบฒเบกเบˆเบดเบ‡" เบซเบผเบท "เบœเบดเบ”", เป€เบŠเบฑเปˆเบ™:
เป€เบ›เบฑเบ™ check_postgres_version. เปเบ–เบงเบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบชเบฐเบ–เบดเบ•เบดเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš
เบเบฒเบ™โ€‹เบเบฐโ€‹เบ—เปเบฒโ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹. เป€เบชเบฑเป‰เบ™เบ—เบตเบชเบฒเบกเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡ "เป€เบงเบฅเบฒเบซเบงเปˆเบฒเบ‡" เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เปเบ–เบงเบ—เบตเบชเบตเปˆเปเบกเปˆเบ™ เบ
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเปเบฅเบฐเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ–เบดเบ•เบดเบˆเบฒเบเปเบ–เบงเบ—เปเบฒเบญเบดเบ”
เป„เบ”เป‰เบ–เบทเบเบ”เบถเบ‡เบกเบฒเบˆเบฒเบ, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบถเป‰เบ™เบขเบนเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบเบญเบกเบฎเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ --mrtg เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ•เบทเปˆเบกเบญเบตเบ.

เป€เบšเบดเปˆเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบฑเบ™.

เบ‡เปˆเบฒเบเบ”เบฒเบ output

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบšเบฑเบšเบ•เบฑเบ”เบ‚เบญเบ‡ MRTG เบซเบ™เบถเปˆเบ‡, เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบเบฑเบšเบ„เบทเบ™
เบ•เบปเบงเป€เบฅเบเบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบญเบตเบ. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบšเบฅเบฑเบ”
เบ‚เบญเบ‡เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ‚เบญเบšเป€เบ‚เบ”เปƒเบ”เบเปเปˆเบ•เบฒเบก. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบฑเบ™เบ›เปˆเบฝเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ•เบปเบงเป€เบฅเบเป‚เบ”เบ
เบเบฒเบ™เบ•เปเปˆเบ—เป‰เบฒเบ KB, MB, GB, TB, เบซเบผเบท EB เบเบฑเบšเบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”, เบ•เบปเบงเบขเปˆเบฒเบ‡:

--output=เบ‡เปˆเบฒเบเบ”เบฒเบ,MB

Cacti output

เบœเบปเบ™เบœเบฐเบฅเบดเบ” Cacti เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบฅเบฒเบเบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ”เบฝเบงเบเบฑเบ™, เบกเบตเบŠเบทเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, a
เบˆเปเป‰เบฒเบชเบญเบ‡เป€เบกเบฑเบ”, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เบปเบงเป€เบฅเบ. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” Cacti เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เปเบกเปˆเบ™
'dbstats', เปเบฅเบฐเบเบฒเบ™เปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --output เปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒ Cacti เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡.
เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ --simple เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ Cacti
happy

DATABASE เบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆ OPTIONS


เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบเบญเบกเบฎเบฑเบšเบŠเบธเบ”เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›.

-H NAME or --host=NAME
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบฒเปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบ NAME. เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”.
เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบˆเบปเป‰เบฒโ€‹เบžเบฒเบš argument เบซเบผเบฒเบ. เบ–เป‰เบฒเบšเปเปˆเบกเบตเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ "PGHOST"
เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก variable เบซเบผเบทเบšเปเปˆเบกเบต host เบ—เบฑเบ‡เบซเบกเบปเบ” (เป€เบŠเบดเปˆเบ‡เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ socket Unix เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™).
เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰ "--dbhost".

-p PORT or --port=PORT
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเปƒเบŠเป‰เปเบฒเบเป€เบฅเบ PORT เบ—เบตเปˆเบฅเบฐเบšเบธ. เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบฅเบฒเบเบŠเบทเปˆเบœเบญเบ”เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”
เบ•เบปเบงเป€เบฅเบ, เปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบžเบญเบ”เบซเบผเบฒเบเปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰. เบ–เป‰เบฒเบšเปเปˆเบกเบตเปเบฒเบเป€เบฅเบเบžเบญเบ”เปเบกเปˆเบ™เปƒเบซเป‰, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฑเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก "PGPORT". เบ–เป‰เบฒเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ 5432. เป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐ
เบเบฑเบ‡เปƒเบŠเป‰ "--dbport"

-db NAME or --dbname=NAME
เบฅเบฐเบšเบธเบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš. เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเปเบเบเบ”เป‰เบงเบเปเบฒเบเบˆเบธเบ”เบ‚เบญเบ‡เบŠเบทเปˆ, เปเบฅเบฐ
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dbname เบซเบผเบฒเบ. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบ dbname เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™
เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก "PGDATABASE" เบ•เบปเบงเปเบ›. เบ–เป‰เบฒเบญเบฑเบ™เบ™เบฑเป‰เบ™เบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡, เบกเบฑเบ™เบˆเบฐเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 'postgres'.
เบ–เป‰เบฒ psql เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเบ™ 8 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐ 'template1' เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™.

-u USERNAME or --dbuser=USERNAME
เบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ›เบฑเบ™. เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”
เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰, เปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dbuser เบซเบผเบฒเบเปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰, เบกเบฑเบ™
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก "PGUSER", เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ 'postgres'.

--dbpass=PASSWORD
เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบชเบนเบ‡
เบ—เปเป‰เบ–เบญเบเปƒเบˆ. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบซเบ™เบถเปˆเบ‡เบ„เบงเบ™เปƒเบŠเป‰เป„เบŸเบฅเปŒ .pgpass เบซเบผเบท pg_service.conf.

--dbservice=NAME
เบŠเบทเปˆเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเปƒเบ™เป„เบŸเบฅเปŒ pg_service.conf. เบเปˆเบญเบ™เป€เบงเบตเบŠเบฑเบ™ 9.0 เบ‚เบญเบ‡
Postgres, เบ™เบตเป‰เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ—เบปเปˆเบงเป‚เบฅเบ, เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบžเบปเบšเบขเบนเปˆเปƒเบ™ /etc/pg_service.conf. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™
เป‚เบ”เบเปƒเบŠเป‰เป€เบงเบตเบŠเบฑเบ™ 9.0 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒเบ‚เบญเบ‡ Postgres, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบŸเบฅเปŒ ".pg_service.conf" เปƒเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบฎเบทเบญเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเปƒเบŠเป‰ script, เบ•เบปเบงเบขเปˆเบฒเบ‡ nagios.

เป„เบŸเบฅเปŒเบ™เบตเป‰เบกเบตเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบŠเบฑเปˆเบ™ --dbservice="maindatabase sslmode=require"

เป€เบญเบเบฐเบชเบฒเบ™เบชเปเบฒเบฅเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰เบ—เบตเปˆ
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบธเปˆเบกเป„เบ”เป‰: --host=a,b --host=c --port=1234
--port=3344 เบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš a-1234, b-1234, เปเบฅเบฐ c-3344. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ
เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบปเบ™เบเปˆเบงเบฒเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡:

--host=a,b --port=5433 --db=c
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบญเบ‡เบ„เบฑเป‰เบ‡เบเบฑเบšเบžเบญเบ” 5433, เป‚เบ”เบเปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ c, เป€เบžเบทเปˆเบญเป‚เบฎเบ” a เปเบฅเบฐ b: a-5433-c b-5433-c

--host=a,b --port=5433 --db=c,d
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบตเปˆเบ„เบฑเป‰เบ‡: a-5433-c a-5433-d b-5433-c b-5433-d

--host=a,b --host=foo --port=1234 --port=5433 --db=e,f
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบปเบเบ„เบฑเป‰เบ‡: 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
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบฒเบกเบ„เบฑเป‰เบ‡: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice="foo" --port=5433
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆ 'foo' เปƒเบ™เป„เบŸเบฅเปŒ pg_service.conf, เปเบ•เปˆ overrides เบžเบญเบ”.

เบญเบทเปˆเบ™เป† OPTIONS


เบ•เบปเบงเป€เบฅเบทเบญเบเบญเบทเปˆเบ™เป†เบฅเบงเบกเบกเบต:

--action=NAME
เบšเบญเบเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบซเบเบฑเบ‡. เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒ symlinked, เปƒเบ™เบ™เบฑเป‰เบ™
เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบŠเบทเปˆโ€‹เบ‚เบญเบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เบ„เบดเบ”โ€‹เบญเบญเบโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹.

--warning=VAL or -w VAL
เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบ–เบทเบเบเบดเบ‡เบญเบญเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเปƒเบŠเป‰.

--critical=VAL or -c VAL
เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ–เบทเบเบเบดเบ‡เบญเบญเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเปƒเบŠเป‰.

-t VAL or --timeout=VAL
เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบซเบกเบปเบ”เป€เบงเบฅเบฒเปƒเบ™เบงเบดเบ™เบฒเบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ script เบˆเบฐเบเบปเบเป€เบฅเบตเบเบญเบฑเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เปเบฅเบฐ
เบชเบปเปˆเบ‡เบ„เบทเบ™เบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบˆเบฑเบ. เป€เบงเบฅเบฒเปเบปเบ”เป€เบงเบฅเบฒเปเบกเปˆเบ™เบ•เปเปˆเบเบธเปˆเบก Postgres, เบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เปเบปเบ”
script. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 10; เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบตเป„เบ›เปƒเบ™เบงเบดเบ™เบฒเบ—เบต.

--assume-standby-mode
เบ–เป‰เบฒเบฅเบฐเบšเบธ, เบ—เปเบฒเบญเบดเบ”เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ”เบชเบฐเปเบ•เบ™เบšเบฒเบเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบซเบผเบทเบšเปเปˆ (--datadir
เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™), เบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบเปเบฅเบฐ "Server
เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบชเบฐเปเบ•เบ™เบšเบฒเบ" เบ”เป‰เบงเบเบชเบฐเบ–เบฒเบ™เบฐ OK เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เปเบ—เบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡:

postgres@db$./check_postgres --action=version --warning=8.1 --datadir /var/lib/postgresql/8.3/main/ --assume-standby-mode
POSTGRES_VERSION OK: เป€เบŠเบตเบšเป€เบงเบตเบขเบนเปˆเปƒเบ™เป‚เปเบ”เบชเบฐเปเบ•เบ™เบšเบฒเบ | เป€เบงเบฅเบฒ=0.00

--เบชเบปเบกเบกเบธเบ”-เบœเบฐเบฅเบดเบ”
เบ–เป‰เบฒเบฅเบฐเบšเบธ, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเป€เบŠเบตเบšเป€เบงเบตเปƒเบ™เป‚เบซเบกเบ”เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบทเบšเปเปˆ (--datadir เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™).
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš ("symlink: check_postgres_checkpoint").

เบ•เบปเบงเบขเปˆเบฒเบ‡:

postgres@db$./check_postgres --action=checkpoint --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT OK: เบ”เปˆเบฒเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™ 72 เบงเบดเบ™เบฒเบ—เบตเบเปˆเบญเบ™ | age=72;;300 เป‚เปเบ”=เปเบกเปˆเบšเบปเบ”

-h or - เบŠเปˆเบงเบ
เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹เบเบฒเบ™โ€‹เบŠเปˆเบงเบโ€‹เป€เบซเบผเบทเบญโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบชเบฐโ€‹เบซเบผเบธเบšโ€‹เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เปเบฅเบฐโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹.

--เบœเบนเป‰เบŠเบฒเบ
เบชเบฐเปเบ”เบ‡เบ„เบนเปˆเบกเบทเบ—เบฑเบ‡เปเบปเบ”.

-V or - เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡
เบชเบฐเปเบ”เบ‡เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™.

-v or -- verbose
เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบš verbosity. เบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบฅเบฐเบ”เบฑเบš. เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹
เบชเบฒเบกเบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ (เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบเบฒเบ™เบญเบญเบ "-v -v -v") เป€เบ›เบตเบ”เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ
เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เบ—เบตเปˆเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ stderr.

--showperf=VAL
เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบฎเบนเบšเปเบšเบš Nagios เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ
เบ‚เบญเบ‡ string, เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เปเปˆ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ name=value). VAL เบ„เบงเบ™เป€เบ›เบฑเบ™ 0 เบซเบผเบท 1. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เปเบกเปˆเบ™ 1. เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบœเบปเบ™เบ–เป‰เบฒเปƒเบŠเป‰เป‚เบซเบกเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ” Nagios.

--perflimit=i
เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบชเบปเบ™โ€‹เปƒเบˆโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เบฅเบฒเบโ€‹เบ‡เบฒเบ™โ€‹เบ„เบทเบ™โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹
showperf เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡
เบฅเบฒเบเบเบฒเบ™, เป€เบŠเบฑเปˆเบ™ table_size. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 0, เบซเบผเบทเบšเปเปˆเบกเบตเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”. เบˆเบปเปˆเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เปƒเบ™เป€เบงเบฅเบฒเปƒเบŠเป‰เบ™เบตเป‰
เบเบฑเบš --เบฅเบงเบก or --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เปเบฅเป‰เบง เบซเบผเบฑเบ‡เบˆเบฒเบ เป„เบ”เป‰
เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป„เบ”เป‰เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰เป€เบงเบฅเบฒ
เบœเบปเบ™เบเบฐเบ—เบปเบšเบ–เป‰เบฒเปƒเบŠเป‰เป‚เบซเบกเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ” Nagios.

--showtime=VAL
เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบ–เบฒเบกเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš. VAL เบ„เบงเบ™เป€เบ›เบฑเบ™ 0
เบซเบผเบท 1. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 1. เบšเปเปˆเบกเบตเบœเบปเบ™เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆ showperf เป€เบ›เบตเบ”เบขเบนเปˆ. เบกเบตเบœเบปเบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเปƒเบŠเป‰
เป‚เปเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ” Nagios.

--เบ—เบปเบ”เบชเบญเบš
เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เปเบ”เบ—เบปเบ”เบชเบญเบš. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "TEST MODE" เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

--PGBINDIR=เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡
เบšเบญเบเบชเบฐเบ„เบฃเบดเบšเบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒ psql binaries. เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡
เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ PostgreSQL เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบซเบผเบทเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™
เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™ เบšเปเปˆ
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰. เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ›เปˆเบฝเบ™ $NO_PSQL_OPTION เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš
เป€เบ–เบดเบ‡ 0. เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เปเบฅเบฐเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก
เบ„ เบซเบผเบทเบ•เบปเบงเปเบ› $PGBINDIR เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบเบฒเบ, เบเบฑเบ‡เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš, เป€เบžเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ
เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ PostgreSQL เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰.

--PSQL=PATH
(เบ„เบฑเบ”เบ„เป‰เบฒเบ™, เบ™เบตเป‰ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ เบญเบฒเบ”เบˆเบฐ be เบฅเบปเบšเบญเบญเบ in a เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ” เบ›เปˆเบญเบ!) เบšเบญเบเบชเบฐเบ„เบฃเบดเบšเบขเบนเปˆเปƒเบช
เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเป‚เบ„เบ‡เบเบฒเบ™ psql. เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ psql
เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบซเบผเบทเบ–เป‰เบฒเบšเปเปˆเบกเบตเป‚เบ›เบผเปเบเบผเบก psql เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™ เบšเปเปˆ เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰. เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบกเบฑเบ™, เป€เบˆเบปเป‰เบฒ
เบ•เป‰เบญเบ‡เบ›เปˆเบฝเบ™ $NO_PSQL_OPTION เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบšเป€เบ›เบฑเบ™ 0. เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เปƒเบŠเป‰เบญเบฑเบ™เบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เปเบฅเบฐเปเบ—เบ™เบ—เบตเปˆเบˆเบฐ hard-code เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ psql เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเบงเปเบ› $PSQL,
เบเบฑเบ‡เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเบ”เป‰เบฒเบ™เป€เบ—เบดเบ‡เบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš.

--symlinks
เบชเป‰เบฒเบ‡ symlinks เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”.

--output=VAL
เบเปเบฒเบ™เบปเบ”เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ•เปˆเบฒเบ‡เป†. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™
'เบ™เบฒเป‚เบเบ'. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบกเปˆเบ™ 'nagios', 'mrtg', 'simple' เปเบฅเบฐ 'cacti'.

--mrtg=VAL
เปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš MRTG เบซเบผเบทเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡.

--debugoutput=VAL
เบชเบปเปˆเบ‡เบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เป‚เบ”เบ psql, เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ. เบกเบนเบ™เบ„เปˆเบฒเปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบท
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ–เบทเบเบชเบฐเปเบ”เบ‡เบซเบผเบทเบšเปเปˆ, เบšเปˆเบญเบ™เบ—เบตเปˆ 'a' = เบ—เบฑเบ‡เบซเบกเบปเบ”, 'c'
= เบชเปเบฒเบ„เบฑเบ™, 'w' = เป€เบ•เบทเบญเบ™, 'o' = ok, เปเบฅเบฐ 'u' = เบšเปเปˆเบฎเบนเป‰. เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰.

--get_method=VAL
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš "new_version_cp",
"new_version_pg", "new_version_bc", "new_version_box", เปเบฅเบฐ "new_version_tnm".
เป‚เบ„เบ‡เบเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบžเบฐเบเบฒเบเบฒเบก, เป€เบžเบทเปˆเบญเบ„เบงเป‰เบฒเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป€เบงเบฑเบš: GET,
wget, fetch, curl, lynx, links. เป€เบžเบทเปˆเบญเบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡ (เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เป€เบญเบปเบฒเบญเบญเบ
overhead เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบกโ€‹เบญเบทเปˆเบ™เป†โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบˆเบปเบ™โ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบฑเป‰เบ™โ€‹)โ€‹, เปƒเบชเปˆโ€‹เบŠเบทเปˆโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป€เบžเบทเปˆเบญ get_method. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเปˆเบญเบ‡ BSD เบญเบฒเบ”เบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบ–เบงเบ•เปเปˆเป„เบ›เบ™เบตเป‰
เป„เบŸเบฅเปŒ ".check_postgresrc" เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ:

get_method=fetch

--language=VAL
เบเปเบฒเบ™เบปเบ”เบžเบฒเบชเบฒเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบญเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง, เบ™เบตเป‰เปเบกเปˆเบ™เบเบงเบ”เบžเบปเบšเป‚เบ”เบ
เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก LC_ALL, LC_MESSAGES, เปเบฅเบฐ LANG, เปเบ•เปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบˆเบฐ override เบเบฒเบ™เบเบงเบ”เบซเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เบเบดเบ”เบˆเบฐเบเปเบฒ


script เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบญเบฑเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบ—เบธเบ‡ --action, เบซเบผเบทเป‚เบ”เบ
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ symlink เบเบฑเบšเป„เบŸเบฅเปŒเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบกเบฑเบ™. เบชเปเบฒเบฅเบฑเบš
เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ "timesync", เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบกเบตเบšเบฑเบ™เบซเบฒ:

check_postgres --action=timesync

เบซเบผเบทเปƒเบŠเป‰เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆ:

check_postgres_timesync

symlinks เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™เบ–เป‰เบฒเปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --symlinks

perl check_postgres --symlinks

เบ–เป‰เบฒเบŠเบทเปˆเป„เบŸเบฅเปŒเบกเบตเบขเบนเปˆเปเบฅเป‰เบง, เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบš. เบ–เป‰เบฒเป„เบŸเบฅเปŒเบกเบตเบขเบนเปˆเปเบฅเบฐเป€เบ›เบฑเบ™ a
symlink, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ‚เบฝเบ™เบ—เบฑเบšเป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰ "--action=build_symlinks_force"

เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบชเปˆเบงเบ™โ€‹เปƒเบซเบเปˆโ€‹เปƒเบŠเป‰โ€‹เป€เบงโ€‹เบฅเบฒ a --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เบˆเบธเบ”เปƒเบ”
เบˆเบฒเบ OK เป„เบ›เบซเบฒ WARNING, เปเบฅเบฐเบˆเบธเบ”เปƒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบซเบฒ CRITICAL. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบงเบดเบˆเบฒเบ™เปเบกเปˆเบ™
เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเปˆเบญเบ™โ€‹เบชเบฐเป€เปเบต, เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบชเบณเบ„เบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบงเบดเบ—เบตโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ›เบฐเบชเบดเบ”เบ—เบดโ€‹เบœเบปเบ™
เบ›เบดเบ”เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบž เปเบฅเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบชเบณเบ„เบฑเบ™เบชเบฐเป€เปเบต.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™:

archive_ready
("symlink: check_postgres_archive_ready") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เป„เบŸเบฅเปŒ WAL เบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ .เบžเป‰เบญเบก
เบกเบตเบขเบนเปˆเปƒเบ™ pg_xlog/archive_status เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบˆเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ data_directory.
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ›เบฑเบ™ superuser, เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡
pg_xlog/archive_status เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เบชเบฐเบšเบฑเบšเบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™ Postgres 8.1.
เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ .เบžเป‰เบญเบก เป„เบŸเบฅเปŒเปƒเบ™
pg_xlog/archive_status เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง, เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ•เปเปˆเบฒ, เป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡
เบเบปเบ™เป„เบเบเบฒเบ™เบˆเบฑเบ”เป€เบเบฑเบš, เบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบกเบฑเบ™เป€เบเบฑเบšเป„เบŸเบฅเปŒ WAL เป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบˆเบฐเป„เบงเป„เบ”เป‰.

เบ–เป‰เบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบเบฑเบšเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบˆเปเบฒเบ™เบงเบ™ WAL เปƒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ pg_xlog เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบˆเบฐเป€เบ•เบตเบšเป‚เบ•เบˆเบปเบ™เบเปˆเบงเบฒ
เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบชเบเปŒเปเบปเบ”เป„เบ› เปเบฅเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰ PostgreSQL เบขเบธเบ”เบ—เบฑเบ™เบ—เบต.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™เป„เบŸเบฅเปŒ WAL เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเปเบกเปˆเบ™ 10 เบซเบผเบทเบ™เป‰เบญเบเบเบงเปˆเบฒเบขเบนเปˆเปƒเบ™ host "pluto"

check_postgres_archive_ready --host=pluto --critical=10

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบฅเบฒเบเบ‡เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เป„เบŸเบฅเปŒ WAL เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเปƒเบ™เปเบ–เบง 1.

autovac_freeze
("symlink: check_postgres_autovac_freeze") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบเป‰เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ—เบปเปˆเบฒเปƒเบ”.
เป„เบ›เบชเบฐเบ™เบต autovacuum_freeze_max_age เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™
เบฎเบธเปˆเบ™ 8.2 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡ เป€เบฅเบทเบญเบ เบ„เบงเบ™ เบˆเบฐ เป„เบ”เป‰ เบฎเบฑเบš เบเบฒเบ™ เบชเบฐ เปเบ”เบ‡ เบญเบญเบ เป€เบ›เบฑเบ™
เป€เบ›เบตเป€เบŠเบฑเบ™. 'เบญเบฒเบเบธ' เบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš
เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ autovacuum_freeze_max_age (200 เบฅเป‰เบฒเบ™เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™) เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบ›เบฑเบ™เบฎเบนเบšเบเบปเบก
เป€เบ›เบตเป€เบŠเบฑเบ™. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 90% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹ 95% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™
เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™"
เบชเปˆเบงเบ™ เบชเบณ เบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†เปƒเบ™เบžเบญเบ” 5432 เบชเบนเบ‡เบเบงเปˆเบฒ 97%

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบฅเบงเบกเบชเบนเบ‡เบชเบธเบ”เปเบกเปˆเบ™เบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐ
เบญเบฒเบเบธเบชเบนเบ‡เบชเบธเบ”เปเบกเปˆเบ™เบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เบตเบชเบญเบ‡. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบฎเป‰เบญเบเบˆเบฒเบ
เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”เป„เบ”เป‰เบ–เบทเบเบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเบชเบตเปˆ, เปเบเบเบญเบญเบเป‚เบ”เบเบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เปเปˆ.

เบซเบฅเบฑเบ‡
("symlink: check_postgres_backends") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบซเบ™เบถเปˆเบ‡เบซเบผเบท
เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบซเบผเบฒเบโ€‹เบเบงเปˆเบฒโ€‹, เปเบฅเบฐโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบˆเบฐโ€‹เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹เบกเบฑเบ™โ€‹เบเบฑเบšโ€‹เบชเบนเบ‡โ€‹เบชเบธเบ”โ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹, เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป‚เบ”เบโ€‹
เบ•เบปเบงเปเบ›เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Postgres เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ”. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบฒเบกเบฎเบนเบšเปเบšเบš. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบˆเปเบฒเบ™เบงเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™
เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰
เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ” เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบš.
เบญเบฑเบ™เบ—เบตเบชเบฒเบก, เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบ•เบปเบงเป€เบฅเบเบฅเบปเบšเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญ
เบˆเบปเบ™เบเปˆเบงเบฒ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ” เบšเบฑเบ™เบฅเบธเป„เบ”เป‰. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบกเบต
'90%' เปเบฅเบฐ '95%'. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเบฑเปˆเบ™เบ•เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰ -- เปœเบฝเบง เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ—เปˆเบฒเบ™
เบเปเบฒเบฅเบฑเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™ superuser เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡ host quirm เบฎเบญเบ” 120, เปเบฅเบฐ a
เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบกเบฑเบ™เบฎเบญเบ” 150.

check_postgres_backends --host=quirm --warning=120 --critical=150

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบฅเบธ 75% เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ max_connections เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เป‚เบฎเบ”
lancre เบซเบผเบท lancre2.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบกเบตเบŠเปˆเบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบตเบเบžเบฝเบ‡ 10 เบญเบฑเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบขเบนเปˆเปƒเบ™เป‚เบฎเบช
plasmid, เปเบฅเบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆ 5 เบŠเป‰เบฒเบ.

check_postgres_backends --warning=-10 --critical=-5 --host=plasmid

เบ•เบปเบงเบขเปˆเบฒเบ‡ 4: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เปเบปเบ”เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบตเปˆเบกเบต "เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš" เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ, เปเบ•เปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบญเบฑเบ™เบ™เบฑเป‰เบ™
เบกเบตเบŠเบทเปˆเบงเปˆเบฒ "pg_greatest". เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ›เบฑเบ™เบžเบญเบ” 5432 เปƒเบ™เบชเบญเบ‡เป‚เบฎเบชเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเป€เบ›เบฑเบ™เบžเบญเบ” 5433 เป€เบ›เบตเบ”
เบญเบฑเบ™เบ—เบตเบชเบฒเบก. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเป€เบซเบกเบตเบ–เบดเป‰เบกเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบฅเบธ 30 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบชเบตเปˆ
line เปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบšเบงเบเบเบฑเบš maximum_connections เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ–เป‰เบฒเบซเบผเบฒเบเบเบงเปˆเบฒ
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบชเบญเบšเบ–เบฒเบก, เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ”เปเบกเปˆเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

เบญเป‰เบฒเบ›เบฒเบ
("symlink: check_postgres_bloat") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ bloat เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบต. (เบ—เป‰เบญเบ‡เบญเบทเบ”
เป‚เบ”เบโ€‹เบ—เบปเปˆเบงโ€‹เป„เบ›โ€‹เปเบฅเป‰เบงโ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบžเบทเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เบ•เบฒเบโ€‹เปเบฅเป‰เบงโ€‹เป€เบญเบปเบฒโ€‹เบ‚เบถเป‰เบ™โ€‹เปƒเบ™โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบซเบผเบทโ€‹เบ”เบฑเบ”โ€‹เบŠเบฐโ€‹เบ™เบตโ€‹. เบŠเปˆเบญเบ‡เบ™เบตเป‰เปเบกเปˆเบ™
เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบˆเบฐเบ–เบทเบเบเบถเบ”เบ„เบทเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ VACUUM.) เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบชเบฐเบ–เบดเบ•เบดเบ™เบฑเป‰เบ™
เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ, เปเบฅเบฐเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™
เป€เบฅเบทเป‰เบญเบเป†. เป„เบ”เป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเบฑเปˆเบ™เบ•เบญเบ‡เบญเบญเบเบงเปˆเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ”
เป€เบšเบดเปˆเบ‡โ€‹เบ—เบตเปˆ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”, เป€เบ›เบตเป€เบŠเบฑเบ™, เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡. เบ–เบทเบเบ•เป‰เบญเบ‡
เบซเบปเบงเปœเปˆเบงเบเบ‚เบฐเปœเบฒเบ”เปเบกเปˆเบ™ bytes, kilobytes, megabytes, gigabytes, terabytes, exabytes, petabytes, เปเบฅเบฐ
zettabytes. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบเปเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”. เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเปเบกเปˆเบ™
เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™ 'เป„เบšเบ•เปŒ'. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ '1 GB' เปเบฅเบฐ '5 GB'. เบ„เปˆเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡
เบˆเปเบฒเบ™เบงเบ™ "bytes เบ—เบตเปˆเป€เบชเบเป„เบ›", เบซเบผเบทเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบˆเบดเบ‡เป‚เบ”เบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐ
index, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เป„เบฅเปˆเบงเปˆเบฒเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™.

เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเบเบฒเบ™เบเบฐเบ—เบณเบ™เบตเป‰เบกเบตเบชเบญเบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เป„เบงเป‰เป€เบžเบทเปˆเบญเบซเบผเบตเบเบฅเปˆเบฝเบ‡เบชเบฑเบ™เบเบฒเบ™เป€เบ•เบทเบญเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒ
เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เป‰เบญเบ‡เบกเบตเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ 10 เบซเบ™เป‰เบฒ, เปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบตเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ 15, เบเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™
เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป‚เบ”เบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบ—เป‰เป†, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเป„เบ”เป‰
เบ•เบปเบงเปเบ› $MINPAGES เปเบฅเบฐ $MINIPAGES เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™เบเปˆเบญเบ "check_bloat". เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰
เบ„เปˆเบฒเบ–เบทเบเบฅเบฐเป€เบฅเบตเบเบ–เป‰เบฒเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก --เบเบปเบเป€เบงเบฑเป‰เบ™ or --เบฅเบงเบก เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

เบกเบตเบžเบฝเบ‡เปเบ•เปˆ 10 เบญเบฑเบ™เบ”เบฑเบšเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบ—เบตเปˆเบซเบปเบ”เบซเบนเปˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบ•เบปเบงเป€เบฅเบเบ™เบตเป‰เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰
--perflimit เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡.

schema เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'information_schema' เปเบกเปˆเบ™เบ–เบทเบเบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰, เบเป‰เบญเบ™เบงเปˆเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฝเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.
เบšเบฑเบ™เบˆเบธเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบเบฐโ€‹เบฅเบธโ€‹เบ™เบฒโ€‹เบชเบฑเบ‡โ€‹เป€เบเบ”โ€‹เบงเปˆเบฒโ€‹เบ„เปˆเบฒโ€‹เบ—เบตเปˆโ€‹เบ„เปเบฒโ€‹เบ™เบงเบ™โ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เบŠเบฑเบ”โ€‹เป€เบˆเบ™โ€‹, เปเบฅเบฐโ€‹เบ„เบงเบ™โ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบ›เบฑเบ™โ€‹
เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเป„เบ”เป‰เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™เป€เบžเบทเปˆเบญเบ„เบฒเบ”เบ„เบฐเป€เบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เปเบ•เปˆเปƒเบ™
เบชเบธเบ”เบ—เป‰เบฒเบเบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ„เบฒเบ”เบ„เบฐเป€เบ™. เบ‚เบฐเบซเบ™เบฒเบ”เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบซเบผเบฒเบเบเปˆเบงเบฒ
เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบ•เปˆเบ—เบฑเบ‡เบชเบญเบ‡เบ„เบงเบ™เปƒเบซเป‰เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบซเบเบฒเบšเบ„เบฒเบเบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆ bloated.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ”เบ™เบถเปˆเบ‡เปƒเบ™เบžเบญเบ” 5432 เป€เบเบตเบ™ 100 MB เบšเบงเบก, เปเบฅเบฐเบชเบณเบ„เบฑเบ™เบเบงเปˆเบฒ 200.
MB

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบงเบดเบˆเบฒเบ™เบ–เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ 'orders' เปƒเบ™ host 'sami' เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 10 megs เบ‚เบญเบ‡ bloat.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ 'q4' เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 'เบเบฒเบ™เบ‚เบฒเบ' เปเบกเปˆเบ™เป€เบเบตเบ™ 50% bloated

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 4: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ”เบ™เบถเปˆเบ‡เปเบกเปˆเบ™เป€เบเบตเบ™ 20%. เปเบฅเบฐ เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 150 MB เบ‚เบญเบ‡ bloat:

check_postgres_bloat --port=5432 --critical='20% เปเบฅเบฐ 150 M'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 5: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ”เบ™เบถเปˆเบ‡เปเบกเปˆเบ™เป€เบเบตเบ™ 40%. or เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 500 MB เบ‚เบญเบ‡ bloat:

check_postgres_bloat --port=5432 --warning='500 M เบซเบผเบท 40%'

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปเบ–เบงเบ—เปเบฒเบญเบดเบ”เปƒเบซเป‰เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบชเบนเบ™เป€เบชเบเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ bytes เบชเปเบฒเบฅเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡,
เปเบฅเบฐเปเบ–เบงเบ—เบตเบชเบญเบ‡เปƒเบซเป‰เบˆเปเบฒเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ bytes เบ—เบตเปˆเป€เบชเบเป„เบ›เบชเปเบฒเบฅเบฑเบšเบ”เบฑเบ”เบชเบฐเบ™เบต. เบชเบตเปˆ
line เปƒเบซเป‰เบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบŠเบทเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบŠเบทเปˆเบ”เบฑเบ”เบชเบฐเบ™เบต. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™
output the bloat ratio เปเบ—เบ™ (เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ‚เบญเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เปเบกเปˆเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™
เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™), เบžเบฝเบ‡เปเบ•เปˆเบœเปˆเบฒเบ™เปƒเบ™ "--mrtg=ratio".

เบ”เปˆเบฒเบ™
("symlink: check_postgres_checkpoint") เบเปเบฒเบ™เบปเบ”เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ”เปˆเบฒเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบกเบต.
เป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ™เบตเป‰เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบเบงเบ”เบชเบญเบš (เป€เบŠเบฑเปˆเบ™:
-h เบ—เบธเบ‡เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ). เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เปเบกเปˆเบ™เบซเบกเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ "เบชเบฐเปเบ•เบ™เบšเบฒเบเบ—เบตเปˆเบญเบปเบšเบญเบธเปˆเบ™" เบ—เบตเปˆเป€เบ›เบฑเบ™
เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เป„เบŸเบฅเปŒ WAL เบ—เบตเปˆเบชเบปเปˆเบ‡เบกเบฒเบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™, เปเบฅเบฐเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เบชเบฐเปเบ•เบ™เบšเบฒเบเบ—เบตเปˆเบญเบปเบšเบญเบธเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™
'เบญเบปเบšเบญเบธเปˆเบ™' เปเบ—เป‰เป†. เป„เบ”เป€เบฃเบฑเบเบ—เปเบฃเบตเบ‚เปเป‰เบกเบนเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก
"PGDATA", เบซเบผเบทเบ–เปˆเบฒเบเบ—เบญเบ”เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ "--datadir". เบกเบฑเบ™เบเบฑเบšเบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบงเบดเบ™เบฒเบ—เบตเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ
เบ”เปˆเบฒเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™, เบ•เบฒเบกเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เปเบเบเบเบฒเบ™เป‚เบ—เบซเบฒ "pg_controldata". เป€เบžเบฒเบฐโ€‹เบงเปˆเบฒ
เบ™เบตเป‰, pg_controldata เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ•เป‰เบญเบ‡เบกเบตเบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ›เบฐเบˆเบธเบšเบฑเบ™. เบญเบตเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ,
เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฅเบฐโ€‹เบšเบธ "PGBINDIRโ€‹" เป€เบ›เบฑเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบกเบฑเบ™โ€‹เบญเบฒโ€‹เปƒเบชโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹. เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบžเบดเป€เบชเบ” --เบชเบปเบกเบกเบธเบ”-เบœเบฐเบฅเบดเบ” or --assume-standby-mode, เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™
เบ„เบฒเบ”โ€‹เบงเปˆเบฒโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบญเบฑเบ™โ€‹เบ™เบถเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เบ–เบทเบโ€‹เบ›เปˆเบญเบโ€‹เบญเบญเบโ€‹เบกเบฒโ€‹.

เบขเปˆเบฒเบ‡เปœเป‰เบญเบเบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เบณเป€เบ•เบทเบญเบ™ เบซเบผเบทเบ‚เปเป‰เป‚เบ•เป‰เปเบเป‰เบ‡เบ—เบตเปˆเบงเบดเบˆเบฒเบ™.

เบ„เบณเบชเบฑเปˆเบ‡เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™เบงเบฑเบ™เบ—เบต::เป‚เบกเบ”เบนเบ™ Parse.

เบชเปเบฒเบฅเบฑเบš MRTG เบซเบผเบทเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบงเบดเบ™เบฒเบ—เบต.

cluster_id
("symlink: check_postgres_cluster-id") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบ•เบปเบงเบฅเบฐเบšเบธเบฅเบฐเบšเบปเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰.
เป‚เบ”เบ pg_controldata เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡. เบญเบฑเบ™เบ™เบตเป‰เบ•เป‰เบญเบ‡เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ”เบฝเบงเบเบฑเบ™
เป€เบ›เบฑเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบเบงเบ”เบชเบญเบš (เป€เบŠเบฑเปˆเบ™: เบ—เบธเบ‡ -h เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ). เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™
--เป€เบ•เบทเบญเบ™ เบซเบผเบท --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ„เบงเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปƒเบซเป‰, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบชเบญเบ‡. เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เปเบกเปˆเบ™
เบ•เบปเบงเบฅเบฐเบšเบธเบเบธเปˆเบก, เบ„เปˆเบฒเบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบฅเปˆเบ™เบ”เป‰เบงเบ "--critical=0" เบžเบดเป€เบชเบ”.
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบ•เบปเบงเบฅเบฐเบšเบธเบเบธเปˆเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบŠเบญเบเบซเบฒเบ•เบปเบงเบฅเบฐเบšเบธเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบธเปˆเบกเปเบกเปˆเบ™เบ„เบทเบเบฑเบ™ เปเบฅเบฐเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

check_postgres_cluster_id --critical=5633695740047915135

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ 1 เบซเบผเบท 0 เบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบ•เบปเบงเบฅเบฐเบšเบธเป€เบ–เบดเบ‡.
เบเบปเบ‡เบเบฑเบ™. เบ•เบปเบงเบฅเบฐเบšเบธเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบชเบฐเปœเบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบญเบฒเบเบดเบงเป€เบกเบฑเบ™ "--mrtg". เปเบ–เบงเบ—เบตเบชเบตเปˆเบชเบฐเป€เปเบต
เปƒเบซเป‰เบ•เบปเบงเบฅเบฐเบšเบธเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™.

เบชเบฑเบ™เบเบฒ
("symlink: check_postgres_commitratio") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐ
เบˆเบปเปˆเบกเป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเบ•เปเปˆเบฒเป€เบเบตเบ™เป„เบ›. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบซเบผเบฒเบเบเปˆเบงเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆ
เบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡
เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบต --includeuser เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "USER NAME
เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เป€เบ›เบตเป€เบŠเบฑเบ™. เบšเปเปˆโ€‹เบกเบต
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰: เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธเป„เบงเป‰. เบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบž
เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒเบ„เปˆเบฒเบชเบณเบ„เบฑเบ™เป„เบ”เป‰. เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบˆเบฑเบ”โ€‹เบฎเบฝเบ‡โ€‹เบ•เบฒเบกโ€‹
commitratio, เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบชเบธเบ”เบ—เปเบฒเบญเบดเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ™เบถเปˆเบ‡เปƒเบ™ host flagg เบกเบตเบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 90% เปƒเบ™ commitratio, เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™.
เบ–เป‰เบฒเปœเป‰เบญเบเบเบงเปˆเบฒ 80%.

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบต commitratio เบ™เป‰เบญเบเบชเบธเบ”
เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ
("symlink: check_postgres_connection") เบžเบฝเบ‡เปเบ•เปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบญเบญเบ 'SELECT เบฅเบธเป‰เบ™()', เปเบฅเบฐ
เปƒเบš. เปƒเบŠเป‰เป€เบงเบฅเบฒเบšเปเปˆ --เป€เบ•เบทเบญเบ™ or --เบงเบดเบˆเบฒเบ™ เบ•เบปเบงเป€เบฅเบทเบญเบ

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบžเบฝเบ‡เปเบ•เปˆเบญเบญเบ 1 (เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ”เบต) เบซเบผเบท 0 (เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบšเปเปˆเบ”เบต) เปƒเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”.
เป€เบชเบฑเป‰เบ™.

custom_query
("symlink: check_postgres_custom_query") เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเปเบšเบšเบเบณเบ™เบปเบ”เป€เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบทเบญเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เปเบฅเบฐเบงเบดเป€เบ„เบฒเบฐ
เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบš. เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป‚เบ”เบเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ "เบชเบญเบšเบ–เบฒเบก", เปเบฅเบฐเบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™
เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เบซเปเปˆเบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡เบซเบผเบทเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰
เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™. เบ„เปเบฒเบ–เบฒเบกเบ„เบงเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบชเบญเบ‡เบ–เบฑเบ™. เบกเบฑเบ™ เบˆเบณ เป€เบ›เบฑเบ™
เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เปเบฅเปเบฒเบกเบตเบŠเบทเปˆ "เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš" เปเบฅเบฐเป€เบ›เบฑเบ™เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ„เบธเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เบ–เบฑเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบŠเบทเปˆเปƒเบ”เป†
เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰: เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™ 'เบกเบนเบ™เบ„เปˆเบฒ' เบžเบฒเบเปƒเบ™เบžเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบขเปˆเบฒเบ‡เปœเป‰เบญเบเปœเบถเปˆเบ‡เบ„เบณเป€เบ•เบทเบญเบ™ เบซเบผเบทเบ‚เปเป‰เป‚เบ•เป‰เปเบเป‰เบ‡เบ—เบตเปˆเบงเบดเบˆเบฒเบ™. เบชเบดเปˆเบ‡โ€‹เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบˆเบฐโ€‹เบ‚เบถเป‰เบ™โ€‹เบเบฑเบšโ€‹
เบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™. เบกเบตเบชเบตเปˆเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ custom_queries เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™
เปเบฅเปˆเบ™, เบฅเบฐเบšเบธเป‚เบ”เบเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ "valtype". เบ–เป‰เบฒเบšเปเปˆเบกเบตเบญเบฑเบ™เปƒเบ”เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰, เบ„เบณเบชเบฑเปˆเบ‡เบ™เบตเป‰เบˆเบฐเป€เบฅเบตเปˆเบกเป€เบ›เบฑเบ™
'เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก'. เบชเบตเปˆโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เปเบกเปˆเบ™โ€‹:

integer: เป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ. เบ–เบฑเบ™เบ—เบณเบญเบดเบ”เบ„เบงเบ™เป€เบ›เบฑเบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ,
เปเบฅเบฐเบ„เปˆเบฒเป€เบ•เบทเบญเบ™เป„เบž เปเบฅเบฐเบ„เปˆเบฒเบชเบณเบ„เบฑเบ™เบ„เบงเบ™เบ„เบทเบเบฑเบ™.

string: เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบชเบฐเบ•เบฃเบดเบ‡, เปเบฅเบฐเบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบ„เปˆเบฒเบขเบนเปˆเปƒเบ™
เบ–เบฑเบ™เบ—เบณเบญเบดเบ”เบเบปเบ‡เบเบฑเบšเบกเบฑเบ™เปเบ—เป‰เป†. เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบเปƒเบซเบเปˆเบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™.

เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒ: เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹, เปเบฅเบฐโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบกเบตโ€‹เบซเบปเบงโ€‹เบซเบ™เปˆเบงเบโ€‹เบ‚เบญเบ‡โ€‹เบงเบดโ€‹เบ™เบฒโ€‹เบ—เบตโ€‹, เบ™เบฒโ€‹เบ—เบตโ€‹,
เบŠเบปเปˆเบงเป‚เบกเบ‡, เบซเบผเบทเบกเบทเป‰. เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบผเบทโ€‹เบซเบเปเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹. เบ–เป‰เบฒ
เบšเปเปˆเบกเบตเบซเบ™เปˆเบงเบเปƒเบ”เบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เบงเบดเบ™เบฒเบ—เบตเปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”. เบ–เบฑเบ™เบ—เบณเบญเบดเบ”เบ„เบงเบ™เป€เบ›เบฑเบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบš.

เบ‚เบฐเบซเบ™เบฒเบ”: เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบฅเบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”, เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบกเบตเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ‚เบญเบ‡ bytes, kilobytes,
เป€เบกเบเบฒเป„เบš, เบเบดเบเบฐเป„เบš, เป€เบ—เบฃเบฒเป„เบšเบ—เปŒ, เบซเบผเบท exabytes. เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”.
เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเบ–เบทเบเปƒเบซเป‰, bytes เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”. เบ–เบฑเบ™เบ—เบณเบญเบดเบ”เบ„เบงเบ™เป€เบ›เบฑเบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™ bytes เบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบš.

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบˆเบฐเบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เบ–เป‰เบฒเบ„เปˆเบฒเบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบกเบฒ เบซเบผเบฒเบเบเบงเปˆเบฒ เบเปˆเบงเบฒ เบซเบผเบทเป€เบ—เบปเปˆเบฒเบเบฑเบš
เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบผเบทเบ„เปเบฒเป€เบ•เบทเบญเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡ -- เบ›เบตเป‰เบ™ เบˆเบฐเบเบฐเบ•เบธเป‰เบ™เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ
เบกเบนเบ™เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™เปเบกเปˆเบ™ เบ•เปˆเปเบฒ เบเปˆเบงเบฒ เบซเบผเบทเป€เบ—เบปเปˆเบฒเบเบฑเบšเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบผเบทเบ„เปเบฒเป€เบ•เบทเบญเบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™เปƒเบ”เบ™เบถเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ™ 100 เปœเป‰เบฒเปƒเบชเปˆเบŠเบทเปˆ "rad", เปƒเบชเปˆเบˆเบณเบ™เบงเบ™เปœเป‰เบฒ.
เบžเบฒเบเปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

check_postgres_custom_query --valtype=string -w "rad" --query=
"SELECT relname AS เบœเบปเบ™, relpages AS pages FROM pg_class WHERE relpages > 100"

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เบณเบงเบดเบˆเบฒเบ™เบ–เป‰เบฒเบŸเบฑเบ‡เบŠเบฑเบ™ "foobar" เบ•เบญเบšเบ•เบปเบงเป€เบฅเบเป€เบเบตเบ™ 5MB:

check_postgres_custom_query --critical='5MB'--valtype=size --query="SELECT foobar() AS เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš"

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบŸเบฑเบ‡เบŠเบฑเบ™ "snazzo" เบ•เบญเบšเปœเป‰เบญเบเบเบงเปˆเบฒ 42:

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

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบกเบฒโ€‹เบเบฑเบš custom_query เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”, เบžเบดโ€‹เบˆเบฒโ€‹เบฅเบฐโ€‹เบ™เบฒโ€‹เบเบฒเบ™โ€‹เบชเบปเปˆเบ‡โ€‹เปƒเบ™ patch เบเบฑเบšโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เป€เบžเบทเปˆเบญ
เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰.

เบเบฒเบ™เบเบฐเบ—เบณเบ™เบตเป‰เบเบฑเบ‡เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบš MRTG เบซเบผเบทเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเป€เบ—เบทเปˆเบญ.

database_size
("symlink: check_postgres_database_size") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบˆเบปเปˆเบก.
เป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเปƒเบซเบเปˆเป€เบเบตเบ™เป„เบ›. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™
เบเบธเปˆเบก. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡
เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡
เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹ --includeuser เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰"
เบชเปˆเบงเบ™ เบชเบณ เบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™ bytes, kilobytes, megabytes,
gigabytes, terabytes, เบซเบผเบท exabytes. เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™.
เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเปœเปˆเบงเบเปƒเบซเป‰, เบซเบปเบงเปœเปˆเบงเบเบˆเบฐเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เป„เบšเบ•เปŒ. เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”: เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธ. เบ„เปˆเบฒเป€เบ•เบทเบญเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒเป„เบ”เป‰
เบซเบผเบฒเบเบเปˆเบงเบฒเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ‚เบฐเปœเบฒเบ”เปƒเบซเบเปˆเบชเบธเบ”เบเปˆเบญเบ™,
เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ—เบฑเบ‡เบชเบญเบ‡ bytes เบ”เบดเบšเปเบฅเบฐเบชเบฐเบšเบฑเบš "เบ‡เบฒเบก" เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ™เบถเปˆเบ‡เปƒเบ™ host flagg เบกเบตเบ‚เบฐเปœเบฒเบ”เป€เบเบตเบ™ 1 TB, เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเป€เบเบตเบ™
1.1 เบงเบฑเบ™เบ™เบฐเป‚เบฃเบ.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบงเบดเบˆเบฒเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ template1 เปƒเบ™เบžเบญเบ” 5432 เป€เบเบตเบ™ 10 MB.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ™เบถเปˆเบ‡เปƒเบ™ host 'tardis' เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰ 'tom' เปเบกเปˆเบ™เปเบฅเป‰เบง.
5 GB

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ™ bytes เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐ
เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

dbstats
("symlink: check_postgres_dbstats") เบฅเบฒเบเบ‡เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบกเบธเบกเบกเบญเบ‡ pg_stat_database,
เปเบฅเบฐเปƒเบซเป‰เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบกเบดเบ”เบเบฑเบš Cacti. เบšเปเปˆโ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบญเบทเปˆเบ™เป†โ€‹เปเบกเปˆเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹, เบเป‰เบญเบ™โ€‹เบงเปˆเบฒโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เปเบกเปˆเบ™โ€‹
เบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เปเบฅเบฐเบšเปเปˆเบ›เปˆเบญเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™, เป€เบŠเบฑเปˆเบ™: เปƒเบŠเป‰เบเบฑเบš Nagios. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
เป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™, เบซเบ™เบถเปˆเบ‡เบ•เปเปˆเปเบ–เบง. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐ
เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--include", เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--dbname".

เบชเบดเบšเป€เบญเบฑเบ”เบฅเบฒเบเบเบฒเบ™เบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเปเบ–เบง, เปƒเบ™เบŠเบทเปˆเบฎเบนเบšเปเบšเบš: เบ„เปˆเบฒ, เปเบเบเบ”เป‰เบงเบเบญเบฑเบ™เบ”เบฝเบง
เบŠเปˆเบญเบ‡. เบฅเบฒเบเบเบฒเบ™เปเบกเปˆเบ™:

เบซเบฅเบฑเบ‡
เบˆเบณเบ™เบงเบ™เบ‚เบญเบ‡ backends เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ‚เบฐเบ™เบฐเบ™เบตเป‰เบชเบณเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰.

เบชเบฑเบ™เบเบฒ
เบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบกเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบซเบผเบทเบ•เบฑเป‰เบ‡เปƒเบซเบกเปˆ.

เบเป‰เบญเบ™เบซเบผเบฑเบ‡
เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ rollbacks เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ™เบตเป‰โ€‹เบ™เบฑเบšโ€‹เบ•เบฑเป‰เบ‡โ€‹เปเบ•เปˆโ€‹เบกเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เบซเบผเบทโ€‹เบ›เบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹.

เบญเปˆเบฒเบ™
เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ•เบฑเบ™เบ”เบดเบ”เบญเปˆเบฒเบ™.

เบกเบปเบ™เบ•เบตเบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ hits buffer.

ret เบˆเบณเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™.

เบ”เบถเบ‡
เบˆเบณเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบ”เบถเบ‡เบกเบฒ.

ins เบˆเปเบฒเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเปƒเบชเปˆ.

upd เบˆเบณเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบญเบฑเบšเป€เบ”เบ”เปเบฅเป‰เบง.

del เบˆเปเบฒเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบ–เบทเบเบฅเบถเบš.

dbname
เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ ret, fetch, ins, upd, เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™ del เบˆเบฐเป€เบ›เบฑเบ™ 0 เบชเบฐเป€เปเบต เบ–เป‰เบฒ Postgres เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเบ™ 8.2.
เบซเบผเบทเบ•เปˆเปเบฒเบเบงเปˆเบฒ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบชเบฐเบ–เบดเบ•เบดเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบชเบฐเบšเบฑเบšเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™.

เบ–เป‰เบฒเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dbname เบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เป€เบˆเบฑเบ”เบฅเบฒเบเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™:

idxscan
เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบœเบนเป‰เปƒเบŠเป‰.

idxtupread
เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบœเบนเป‰เปƒเบŠเป‰เบเบฑเบšเบ„เบทเบ™เบกเบฒ.

idxtupfetch
เบˆเบณเบ™เบงเบ™เปเบ–เบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบ”เบถเบ‡เบกเบฒเป‚เบ”เบเบเบฒเบ™เบชเบฐเปเบเบ™เบ”เบฑเบ”เบŠเบฐเบ™เบตเบœเบนเป‰เปƒเบŠเป‰เปเบšเบšเบ‡เปˆเบฒเบเป†.

idxblksread
เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ disk blocks เบญเปˆเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ”เบฑเบ”โ€‹เบŠเบฐโ€‹เบ™เบตโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹.

idxblkshit
เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ hits buffer เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ”เบฑเบ”โ€‹เบŠเบฐโ€‹เบ™เบตโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹.

seqscan
เบˆเบณเบ™เบงเบ™เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบเบ™เบ•เบฒเบกเบฅเบณเบ”เบฑเบšเบ•เปเปˆเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เปเบปเบ”.

seqtupread
เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ tuples เบเบฑเบšเบ„เบทเบ™เบกเบฒเบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบˆเบฑเบšเบชเบฐเบ–เบดเบ•เบดเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™" เปƒเบ™ host "willow":

check_postgres_dbstats --dbhost willow --dbname เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™

เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบกเบฒโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰ (เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เปƒเบ™โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹, เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบซเปเปˆโ€‹)โ€‹:

backends:82 commits:58374408 rollbacks:1651 เบญเปˆเบฒเบ™:268435543 hit:2920381758 idxscan:310931294 idxtupread:2777040927
idxtupfetch:1840241349 idxblksread:62860110 idxblkshit:1107812216 seqscan:5085305 seqtupread:5370500520
ret:0 fetch:0 ins:0 upd:0 del:0 dbname:willow

disabled_triggers
("symlink: check_postgres_disabled_triggers") เบเบงเบ”เบชเบญเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ triggers เบ—เบตเปˆเบžเบดเบเบฒเบ™
เบžเบฒเบเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เบžเบปเบšเป€เบซเบฑเบ™, เปเบฅเบฐเบ—เบฑเบ‡เบชเบญเบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ "1", เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบกเบต triggers เบ›เบดเบ”เบเบฒเบ™เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ
เป€เบซเบ”เบเบฒเบ™. เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบšเปเบกเปˆเบ™ 8.3 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡
เบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐ 'เบžเบดเบเบฒเบ™' (เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบš 'เบชเบฐเป€เบซเบกเบต' เบซเบผเบท 'replica'). เป„เบ”เป‰
output เบˆเบฐเบชเบฐเปเบ”เบ‡เบŠเบทเปˆเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡ trigger เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบžเบดเบเบฒเบ™
เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เบ—เบตเปˆเบžเบดเบเบฒเบ™

check_postgres_disabled_triggers

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ triggers เบ—เบตเปˆเบžเบดเบเบฒเบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”.

disk_space
("symlink: check_postgres_disk_space") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบชเบเปŒเบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ
Postgres. เบเบฒเบ™โ€‹เบเบฐโ€‹เบ—เปเบฒโ€‹เบ™เบตเป‰โ€‹เบฎเบฝเบโ€‹เบฎเป‰เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ” "./bin/df"เบกเบตเปƒเบซเป‰เบฅเบฒเบเบ‡เบฒเบ™
เปƒเบ™โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เปเบœเปˆเบ™โ€‹, เปเบฅเบฐโ€‹เบกเบฑเบ™โ€‹เบเบฑเบ‡โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ›เบฑเบ™ superuserโ€‹, เบชเบฐโ€‹เบ™เบฑเป‰เบ™โ€‹เบกเบฑเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เป„เบ”เป‰โ€‹
data_directory เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ Postgres. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เปƒเบซเป‰
เปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบซเบผเบทเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡. เบ–เป‰เบฒเปƒเบŠเป‰เบ‚เบฐเบซเบ™เบฒเบ”, เบ›เบฐเป€เบžเบ”เบซเบ™เปˆเบงเบเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบกเปˆเบ™
เบญเบฐเบ™เบธเบเบฒเบ”: bytes, kilobytes, gigabytes, megabytes, gigabytes, terabytes, เบซเบผเบท exabytes. เปเบ•เปˆเบฅเบฐ
เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™; เบšเปเปˆเบกเบตเบซเบปเบงเปœเปˆเบงเบเปƒเบ”เบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡ 'เป„เบšเบ•เปŒ'. เป„เบ”เป‰
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ '90%' เปเบฅเบฐ '95%'.

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เปเบœเปˆเบ™เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบ Postgres.

data_directory - เปเบœเปˆเบ™เบ—เบตเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เปเป‰เบกเบนเบ™เบซเบผเบฑเบเป€เบ›เบตเบ”เบขเบนเปˆ.

log เบฅเบฐเบšเบปเบš - เปเบœเปˆเบ™โ€‹เบ—เบตเปˆโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เปเบกเปˆเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹.

WAL เป€เบญเบเบฐเบชเบฒเบ™ เบฅเบฐเบšเบปเบš - เปเบœเปˆเบ™โ€‹เบ—เบตเปˆโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เบฅเปˆเบงเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เปเบกเปˆเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™ (เป€เบŠเบฑเปˆเบ™ symlinked pg_xlogโ€‹)

เบžเบทเป‰เบ™เบ—เบตเปˆเป‚เบ•เบฐ - เปเบ•เปˆเบฅเบฐ tablespace เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเบฐเบกเบตเบขเบนเปˆเปƒเบ™เปเบ•เปˆเบฅเบฐเปเบœเปˆเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš
เป€เบ›เบตเป€เบŠเบฑเบ™, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเป‚เบ”เบเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบชเบนเบ‡เบชเบธเบ”เบซเบฒเบ•เปˆเปเบฒเบชเบธเบ”เบ—เบตเปˆเปƒเบŠเป‰. เปเบ•เปˆเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปเบœเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบŸเบฅเปŒ
เบฅเบฐเบšเบปเบš: เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเบซเบผเบทเบเบปเบเป€เบงเบฑเป‰เบ™. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบฅเบฒเบเบฅเบฐเบญเบฝเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบเบตเบ™ 90% เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบžเบญเบ” 5432.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบฑเบ‡เปเบปเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ /dev/sda เบกเบตเบ‚เบฐเปœเบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒ 10 GB เปเบฅเบฐ
11 GB (เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™)

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 4: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบชเบญเบ‡เป€เบเบตเบ™ 50% เปเบฅเบฐ เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 15 GB

check_postgres_disk_space --critical='50% เปเบฅเบฐ 15 GB'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 5: เบญเบญเบเบ„เปเบฒเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ”เบ™เบถเปˆเบ‡เป€เบ•เบฑเบกเป€เบเบตเบ™ 70%. or เบกเบตเบซเบผเบฒเบเบเปˆเบงเบฒ 1T

check_postgres_disk_space --warning='1T เบซเบผเบท 75'

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบ•เบญเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ™ bytes เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐ
เบŠเบทเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

fsm_pages
("symlink: check_postgres_fsm_pages") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบธเปˆเบกเบขเบนเปˆเปƒเบเป‰เบเบฑเบš Postgres เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”
max_fsm_pages เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 8.2 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ, เปเบฅเบฐเบกเบฑเบ™
เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™ pg_freespacemap เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ„เบงเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เป€เบ›เบตเป€เบŠเบฑเบ™. เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™ free-spaceโ€‹-mapโ€‹
เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡ pg_freespacemap_relations, เปเบฅเบฐเปเบฅเปˆเบ™เบชเบนเบ”
เบญเบตเบ‡เปƒเบชเปˆเบชเบนเบ”เบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบญเบเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบซเบ™เป‰เบฒเปƒเบ™เปเบœเบ™เบ—เบตเปˆเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เปƒเบ™ verbose เบชเบนเบ™เบเบฒเบเบฒเบ”
เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 85% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹ 95% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบเบธเปˆเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปƒเบŠเป‰เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เป€เบ–เบดเบ‡ 76% เบ‚เบญเบ‡เปœเป‰เบฒเป€เบงเบฑเบš,
เบเบฑเบš pg_freespacemap เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ robert

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

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆ pg_freespacemap เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ—เปˆเบฒเบ™
เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบเบธเปˆเบก. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™
เป„เบ”เป‰เบฎเบฑเบš locks เบžเบดเป€เบชเบ”เปƒเบ™เปเบœเบ™เบ—เบตเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบšเปเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰
เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เป„เบฅโ€‹เบเบฐโ€‹เบชเบฑเป‰เบ™โ€‹.

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เป€เบ›เบตเป€เบŠเบฑเบ™เบ‚เบญเบ‡เปเบœเบ™เบ—เบตเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบ•เบปเบงเป€เบฅเบ
เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เบตเบชเบญเบ‡.

fsm_relations
("symlink: check_postgres_fsm_relations") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบธเปˆเบกเบขเบนเปˆเปƒเบเป‰เบเบฑเบš Postgres
max_fsm_relations เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 8.2 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ, เปเบฅเบฐ
เบกเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™ pg_freespacemap เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ„เบงเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เป€เบ›เบตเป€เบŠเบฑเบ™. เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบเบฒเบ™โ€‹เบžเบปเบงโ€‹เบžเบฑเบ™โ€‹เบ—เบตเปˆโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบŸเบฃเบต
space-map เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบกเบธเบกเป€เบšเบดเปˆเบ‡ pg_freespacemap_relations. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบ„เบธเบ™เบ„เปˆเบฒเปเบกเปˆเบ™ 85% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹ 95% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบเบธเปˆเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ™เบณเปƒเบŠเป‰เป€เบ–เบดเบ‡ 80% เบ‚เบญเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เปเบฅเป‰เบง,
เบ”เป‰เบงเบ pg_freespacemap เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ dylan

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

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆ pg_freespacemap เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ—เปˆเบฒเบ™
เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบเบธเปˆเบก. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™
เป„เบ”เป‰เบฎเบฑเบš locks เบžเบดเป€เบชเบ”เปƒเบ™เปเบœเบ™เบ—เบตเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบšเปเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰
เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เป„เบฅโ€‹เบเบฐโ€‹เบชเบฑเป‰เบ™โ€‹.

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™เป€เบ›เบตเป€เบŠเบฑเบ™เบ‚เบญเบ‡ free-space-map เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡
เบเบฒเบ™โ€‹เบžเบปเบงโ€‹เบžเบฑเบ™โ€‹เบ—เบตเปˆโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เปƒเบ™โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบชเบญเบ‡โ€‹.

เบญเบฑเบ”เบ•เบฒเบ™เบดเบเบปเบก
("symlink: check_postgres_hitratio") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™ hit เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบˆเบปเปˆเบก.
เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ•เปˆเปเบฒเป€เบเบตเบ™เป„เบ›. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™
เบเบธเปˆเบก. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡
เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡
เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹ --includeuser เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰"
เบชเปˆเบงเบ™ เบชเบณ เบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เป€เบ›เบตเป€เบŠเบฑเบ™. เบšเปเปˆโ€‹เบกเบต
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰: เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธเป„เบงเป‰. เบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบž
เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒเบ„เปˆเบฒเบชเบณเบ„เบฑเบ™เป„เบ”เป‰. เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบˆเบฑเบ”โ€‹เบฎเบฝเบ‡โ€‹เบ•เบฒเบกโ€‹
hitratio, เบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เบ—เปเบฒเบญเบดเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ™เบถเปˆเบ‡เปƒเบ™ host flagg เบกเบตเบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 90% เปƒเบ™ hitratio, เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒ
เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 80%.

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบต hitratio เบ™เป‰เบญเบเบชเบธเบ”เปƒเบ™
เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

hot_standby_delay
("symlink: check_hot_standby_delay") เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบฅเบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบ•โ€‹เบฃเบตเบกโ€‹เบŠเป‰เบฒโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹.
delta เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เปเบฒเปเบซเบ™เปˆเบ‡ xlog เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ replay เบ‚เบญเบ‡ a
เบชเปเบฒเบฅเบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบกเบฑเบ™. เป€เบŠเบตเบšเป€เบงเบต slave เบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เป‚เปเบ” hot_standby (เป€เบŠเบฑเปˆเบ™: เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™),
เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบฐเบšเบฑเบšเบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™ Postgres 9.0. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ
--เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™ delta เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ xlog. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™ byte
เบŠเบปเบ”เป€เบŠเบตเบเปƒเบ™ WAL เบžเบงเบเป€เบ‚เบปเบฒเบ„เบงเบ™เบˆเบฐเบเบปเบ‡เบเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
เป€เบžเบทเปˆเบญโ€‹เบ›เป‰เบญเบ‡โ€‹เบเบฑเบ™โ€‹เบ—เบฒเบ‡โ€‹เบšเบงเบโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบซเบผเบทโ€‹เบ—เบฒเบ‡โ€‹เบฅเบปเบšโ€‹.

เบ•เบปเบงเป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ” "--dbname", "--host", เปเบฅเบฐ "--port", เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš; เป„เบ”เป‰
เบญเบฑเบ™เบ—เบตเบชเบญเบ‡เป€เบ›เบฑเบ™เบ‚เบญเบ‡เบ—เบฒเบ”.

เบ„เปˆเบฒเป„เบšเบ•เปŒเบ„เบงเบ™เบญเบตเบ‡เปƒเบชเปˆเบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเบณเบ—เบตเปˆเบˆเบณเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”
replication disconnect เบˆเบฒเบเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ lag เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›, เบเปเบฒเบ™เบปเบ”เป‚เบ”เบ Postgres เป„เบ”เป‰
เบ•เบปเบงเปเบ›เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ wal_keep_segments. เบชเปเบฒเบฅเบฑเบšเบซเบปเบงเปœเปˆเบงเบเป€เบงเบฅเบฒ, เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™ 'เบงเบดเบ™เบฒเบ—เบต',
'เบ™เบฒเบ—เบต', 'เบŠเบปเปˆเบงเป‚เบกเบ‡', เบซเบผเบท 'เบกเบทเป‰'. เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบผเบทโ€‹เบซเบเปเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹
เบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเบšเบฑเบšเบ—เปเบฒเบญเบดเบ”. เป€เบกเบทเปˆเบญเบฅเบฐเบšเบธเบ—เบฑเบ‡เบชเบญเบ‡, เปƒเบ™เบฎเบนเบšเปเบšเบš 'เป„เบš เปเบฅเบฐ เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒ', เบ—เบฑเบ‡เบชเบญเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™
เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบเบ™เบ—เบตเปˆเบˆเบฐเบšเบฑเบ™เบฅเบธเป„เบ”เป‰.

เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเป€เบ‚เบปเป‰เบฒเบซเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบฒเบ™เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”เบ—เบตเปˆเปเบเบเบญเบญเบ
เบฅเบฒเบเบŠเบทเปˆเป„เบ›เบซเบฒ --dbhost เปเบฅเบฐ --dbport เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™, เป€เบŠเบฑเปˆเบ™ "--dbport=5432,5543". เบ–เป‰เบฒเบšเปเปˆเปƒเบซเป‰,
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบปเป‰เบกเป€เบซเบฅเบง.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบขเบนเปˆเปƒเบ™เบžเบญเบ” 5433 เปเบกเปˆเบ™เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡เบเบฒเบ™เบซเบผเบดเป‰เบ™ xlog เปƒเบ”เป†.
เบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบเบฒเบ™เบงเบดเบžเบฒเบเบงเบดเบˆเบฒเบ™ เบ–เป‰เบฒเบ—เบธเบฅเบฐเบเบณเบซเบผเป‰เบฒเบชเบธเบ” replica1 เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบซเบผเบฒเบเบเบงเปˆเบฒ 10
เบ™เบฒเบ—เบตเบเปˆเบญเบ™

check_hot_standby_delay --dbhost=master,replica1 --critical='10 เบ™เบฒเบ—เบต'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ replica1 เป€เบ›เบฑเบ™ 1 WAL segment เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡, เบ–เป‰เบฒเปเบกเปˆเปเบšเบšเป€เบซเบฑเบ™เปƒเบ™เบ—เบฑเบ™เบ—เบต.
เบเบดเบ”โ€‹เบˆเบฐโ€‹เบเปเบฒโ€‹เบซเบผเบฒเบโ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆ replication streaming เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹, เบซเบผเบท 10 เบ™เบฒโ€‹เบ—เบตโ€‹เบซเบฅเบฑเบ‡โ€‹,
เบ–เป‰เบฒเปเบกเปˆเบšเบปเบ”เป€เบซเบฑเบ™เบเบดเบ”เบˆเบฐเบเปเบฒเบซเบ™เป‰เบญเบเบซเบผเบฒเบเปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ”เป†, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™
เบ—เบฑเบ‡เบชเบญเบ‡, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบเบทเบ™เบเบปเบ‡เบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡.

check_hot_standby_delay --dbhost=master,replica1 --warning='1048576 เปเบฅเบฐ 2 min' --critical='16777216 เปเบฅเบฐ 10 min'

index_size
table_size
relation_size
(symlinks: "check_postgres_index_size", "check_postgres_table_size", เปเบฅเบฐ
"check_postgres_relation_size") เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” table_size เปเบฅเบฐ index_size เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡ relation_size เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบŠเบฑเปˆเบ™เบเบฑเบ™
เปƒเบซเบเปˆ. เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™ (เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบต) เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก
เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบชเบฒเบกเบฒเบ”
เบเบฑเบ‡เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™, เป‚เบ”เบเปƒเบŠเป‰ --includeuser เปเบฅเบฐ --excludeuser
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹, เปเบฅเบฐโ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบซเบปเบงโ€‹เบซเบ™เปˆเบงเบโ€‹เบ‚เบญเบ‡โ€‹
bytes, kilobytes, megabytes, gigabytes, terabytes, เบซเบผเบท exabytes. เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบชเบฒเบกเบฒเบ”เบซเบเปเป‰เป„เบ”เป‰
เบเบฑเบšเบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเบšเบฑเบšเบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเบ–เบทเบเปƒเบซเป‰, bytes เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”. เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบ„เปˆเบฒ: เบ—เบฑเบ‡เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปƒเบซเป‰. เบ‚เปเป‰เบ„เบงเบฒเบกเบเบฑเบšเบ„เบทเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡
เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™.

เบ–เป‰เบฒ --showperf เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป€เบ›เบตเบ”โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹, เบ—เบฑเบ‡เบซเบกเบปเบ” เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปƒเบซเป‰.
เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ™เบตเป‰, เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ --perflimit เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹, เป€เบŠเบดเปˆเบ‡โ€‹เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เป€เบเบตเบ”โ€‹
เบ„เปเบฒเบ–เบฒเบกเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ” "เบ„เปเบฒเบชเบฑเปˆเบ‡เป‚เบ”เบเบ‚เบฐเบซเบ™เบฒเบ” DESC LIMIT (perflimit)".

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ”เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒ 600MB เปƒเบ™ host burrick.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบกเบตเบ‚เบฐเปœเบฒเบ”เป€เบเบตเบ™ 4 GB, เปเบฅเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบชเบณเบ„เบฑเบ™เบขเบนเปˆเบ—เบตเปˆ 4.5 GB.

check_postgres_table_size --host=burrick --warning='4 GB' --critical='4.5 GB' --include=เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ”เบฑเบ”เบŠเบฐเบ™เบตเปƒเบ”เป†เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบ postgres เป„เบ›เป€เบเบตเบ™ 500 MB.

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบ•เบญเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ™ bytes เบ‚เบญเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”, เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เป€เบ›เบฑเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

last_analyze
Last_vacuum
last_autoanalyze
last_autovacuum
(symlinks: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze", เปเบฅเบฐ "check_postgres_last_autovacuum") เบเบงเบ”เป€เบšเบดเปˆเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒ
เบกเบฑเบ™เปเบกเปˆเบ™เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบชเบนเบ™เบเบฒเบเบฒเบ” (เบซเบผเบทเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ) เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเปƒเบ™เปเบ•เปˆเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบฎเบธเปˆเบ™ 8.3 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบซเบผเบทเบงเปˆเบฒ
เบฎเบธเปˆเบ™เปเบกเปˆเบ™ 8.2 เปเบฅเบฐเบ•เบปเบงเปเบ›เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ stats_row_level เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡
เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™"
เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹. เบ•เบฒ เบ•เบฐ เบฅเบฒเบ‡ เบเบฑเบ‡ เบชเบฒ เบกเบฒเบ” เป„เบ”เป‰ เบฎเบฑเบš เบเบฒเบ™ เบเบฑเปˆเบ™ เบ•เบญเบ‡ เป‚เบ”เบ เป€เบˆเบปเป‰เบฒ เบ‚เบญเบ‡ เบ‚เบญเบ‡ เป€เบ‚เบปเบฒ เป€เบˆเบปเป‰เบฒ เป‚เบ”เบ เบเบฒเบ™ เบ™เปเบฒ เปƒเบŠเป‰ เบ‚เบญเบ‡
--includeuser เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "USER NAME FILTERING" เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบฅเบฒเบเบฅเบฐเบญเบฝเบ”.

เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบš --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ. เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™เบงเบดเบ™เบฒเบ—เบต,
เบ™เบฒเบ—เบต, เบŠเบปเปˆเบงเป‚เบกเบ‡, เปเบฅเบฐเบกเบทเป‰; เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบ™เปˆเบงเบเบ‡เบฒเบ™
เปƒเบซเป‰, 'เบงเบดเบ™เบฒเบ—เบต' เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ '1 เบกเบทเป‰' เปเบฅเบฐ '2 เบกเบทเป‰'. เบเบฐโ€‹เบฅเบธโ€‹เบ™เบฒโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบ
เบงเปˆเบฒเบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบ–เป‰เบฒเปเบ™เปˆเบ™เบญเบ™
เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบกเปˆเบ™เปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเบšเบฑเบ™เบซเบฒ, เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเปเบ–เบงเบ•เบฒเบเป€เบžเบทเปˆเบญเบชเบนเบ™เบเบฒเบเบฒเบ”, เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆ
เบเบปเบเป€เบงเบฑเป‰เบ™เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš.

schema เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'information_schema' เปเบกเปˆเบ™เบ–เบทเบเบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰, เบเป‰เบญเบ™เบงเปˆเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฝเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.
เบšเบฑเบ™เบˆเบธเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเป€เบงเบตเบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ 'เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”' เบˆเบฐเบเบงเบ”เบชเบญเบšเป€เบงเบตเบŠเบฑเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบŠเบฑเปˆเบ™เบเบฑเบ™. เปƒเบ™โ€‹เบญเบทเปˆเบ™เป†
เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ last_vacuum เบˆเบฐเบฅเบฒเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบนเบ™เบเบฒเบเบฒเบ”เบชเบธเบ”เบ—เป‰เบฒเบ, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบชเบนเบ™เบเบฒเบเบฒเบ”เบ›เบปเบเบเบฐเบ•เบด,
เบซเบผเบทเบซเบ™เบถเปˆเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบ autovacuum daemon.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเป‚เบ•เบฐเปƒเบ”เบšเปเปˆเป„เบ”เป‰เบชเบนเบ™เบเบฒเบเบฒเบ”เบžเบฒเบเปƒเบ™ 3 เบกเบทเป‰, เปเบฅเบฐเปƒเบซเป‰เบ„เบณเบงเบดเบˆเบฒเบ™เบขเบนเปˆเบ—เบตเปˆ
เบญเบฒเบ—เบดเบ”, เบชเปเบฒเบฅเบฑเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบš wormwood

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบ„เบทเบเบฑเบ™เบเบฑเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เปเบ•เปˆเปƒเบซเป‰เบ‚เป‰เบฒเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰ 'eve' เบซเบผเบท 'mallory'

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ (เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”) เบˆเปเบฒเบ™เบงเบ™เป€เบงเบฅเบฒเบซเบ™เป‰เบญเบเบชเบธเบ”เป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ a
เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบชเบนเบ™เบเบฒเบเบฒเบ”เบซเบผเบทเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบ. เปเบ–เบงเบ—เบตเบชเบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐ
เบŠเบทเปˆโ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹.

เบœเบนเป‰เบŸเบฑเบ‡
("symlink: check_postgres_listener") เบขเบทเบ™เบขเบฑเบ™เบงเปˆเบฒเบกเบตเบ„เบปเบ™เบŸเบฑเบ‡เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™
เบชเบฐเบ•เบฃเบดเบ‡เบชเบฐเป€เบžเบฒเบฐ (เปƒเบŠเป‰เบฅเบฐเบšเบปเบš LISTEN/NOTIFY), เป‚เบ”เบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ pg_listener.
เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบซเบผเบทเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™. เบฎเบนเบšเปเบšเบšเปเบกเปˆเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡
เบŸเบฑเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบ, เบซเบผเบทเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ tilde เบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบชเบฐเบ•เบฃเบดเบ‡เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด.
เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเป€เบงเบตเบŠเบฑเบ™เบ‚เบญเบ‡ Postgres 9.0 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบšเปเปˆเบกเบตเปƒเบœเบŸเบฑเบ‡เบชเบฒเบ bucardo_mcp_ping เปƒเบ™เบžเบญเบ”
5555 เปเบฅเบฐ 5556

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบเบฒเบ™เบงเบดเบžเบฒเบเบงเบดเบˆเบฒเบ™ เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป LISTEN เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ—เบตเปˆเบเบปเบ‡เบเบฑเบš 'grimm' เปƒเบ™
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ oskar

check_postgres_listener --db oskar --critical=~grimm

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ 1 เบซเบผเบท a 0 เปƒเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”, เบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบซเบผเบทเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง. เบŠเบทเปˆ
เบ‚เบญเบ‡เปเบˆเป‰เบ‡เบเบฒเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเปˆเบฒเบ™ --mrtg เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

locks
("symlink: check_postgres_locks") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ locks เปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบˆเบฐเบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ”เป‰เบงเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™".
เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบตเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ•เบปเบงโ€‹เป€เบฅเบโ€‹เบ—เบตเปˆโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹, เป€เบŠเบดเปˆเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™โ€‹
เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ locksโ€‹, เบซเบผเบทโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปเบšเปˆเบ‡โ€‹เบญเบญเบโ€‹เบ•เบฒเบกโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡ lock เป„เบ”เป‰โ€‹. เบŠเบทเปˆเบฅเบฑเบญเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡
เปเบกเปˆเบ™ 'เบฅเบงเบก', 'เบฅเปเบ–เป‰เบฒ', เบซเบผเบทเบŠเบทเปˆเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบฅเบฑเบญเบเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ Postgres. เบŠเบทเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™
case-insensitive เปเบฅเบฐเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปˆเบงเบ™ "lock" เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ exclusive เบˆเบฐเบเบปเบ‡เบเบฑเบ™
'ExclusiveLock'. เบฎเบนเบšเปเบšเบšเปเบกเปˆเบ™ name=number, เบกเบตเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเปเบเบเบญเบญเบเป‚เบ”เบเบˆเปเป‰เบฒเบชเบญเบ‡เป€เบกเบฑเบ” เบซเบผเบท
semicolons (เบซเบผเบทเบชเบฑเบ™เบเบฒเบฅเบฑเบเบญเบทเปˆเบ™เป†).

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบˆเปเบฒเบ™เบงเบ™เบฅเบฑเบญเบเปเบกเปˆเบ™ 100 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒ 200 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เป€เบ›เบตเบ”
เป€เบˆเบปเป‰เบฒเบžเบฒเบš garrett

check_postgres_locks --host=garrett --warning=100 --critical=200

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบ™ host artemus, เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบกเบต 200 locks เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ.
เบกเบต locks เบ—เบฑเบ‡เปเบปเบ”เบซเบผเบฒเบเบเบงเปˆเบฒ 250 เบญเบฑเบ™, เบซเบผเบทเบ–เป‰เบฒเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 20 locks เบชเบฐเป€เบžเบฒเบฐ, เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒ 5 เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.
เบเปเบฒเบฅเบฑเบ‡เบฅเปเบ–เป‰เบฒเบฅเบฑเบญเบ.

check_postgres_locks --host=artemus --warning=200 --critical="total=250:waiting=5:exclusive=20"

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ locks เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ.

logfile
("symlink: check_postgres_logfile") เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ logfile เบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰.
เปเบฅเบฐเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบญเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบ–เบดเป‰เบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เปเบ•เปˆเบฅเบฐ
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฑเบ™เบ–เบทเบเบเบงเบ”เบชเบญเบš, เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบ—เบถเบ. เบกเบฑเบ™เบชเบฐเปเบเบ™
เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ log_* เบ•เปˆเบฒเบ‡เป†เบžเบฒเบเปƒเบ™ Postgres เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบ„เบงเบ™เบˆเบฐเบขเบนเปˆ. เบ–เป‰เบฒโ€‹เป€เบˆเบปเป‰เบฒ
เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ syslog, เบกเบฑเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เบชเบฐเปเบเบ™ rough (เปเบ•เปˆเบšเปเปˆ foolproof) เบ‚เบญเบ‡ /etc/syslog.conf.
เบญเบตเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡ logfile เบเบฑเบš --logfile เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ™เบตเป‰โ€‹เปเบกเปˆเบ™
เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ–เป‰เบฒเบšเบฑเบ™เบ—เบถเบเบกเบตเบฅเบฐเบšเบปเบšเบเบฒเบ™เบซเบกเบธเบ™เปเบšเบšเบเบณเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบ‚เบฑเบšเป€เบ„เบทเปˆเบญเบ™เป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เบžเบฒเบเบ™เบญเบ.
เป„เบ”เป‰ --logfile เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™ escape เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹: "%Y %m %d %Hโ€‹"โ€‹, เป€เบŠเบดเปˆเบ‡โ€‹
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบ›เบต, เป€เบ”เบทเบญเบ™, เบงเบฑเบ™เบ—เบต, เปเบฅเบฐเบŠเบปเปˆเบงเป‚เบกเบ‡เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบตเป„เบ›
เบฅเบฒเบเบ‡เบฒเบ™เบงเปˆเบฒเบชเบณเบ„เบฑเบ™ เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เป€เบ•เบทเบญเบ™เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป€เบ›เบฑเบ™เบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™.
เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเบ™เบฑเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--warning" เปเบฅเบฐ "--critical" เบ„เบงเบ™ เบšเปเปˆ be
เปƒเบŠเป‰เปเบฅเป‰เบง.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบ™เบžเบญเบ” 5432, เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒ logfile เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเป„เบŸเบฅเปŒ
/home/greg/pg8.2.log

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบ„เบทเบเบฑเบ™เบเบฑเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เปเบ•เปˆเบเบปเบเบ‚เบถเป‰เบ™เบกเบฒ, เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบงเบดเบžเบฒเบเบงเบดเบˆเบฒเบ™

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ 1 เบซเบผเบท 0 เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบซเบผเบทเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง. เปƒเบ™
เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบฅเบปเป‰เบกโ€‹เป€เบซเบผเบงโ€‹, เป€เบชเบฑเป‰เบ™โ€‹เบ—เบตโ€‹เบชเบตเปˆโ€‹เบˆเบฐโ€‹เปƒเบซเป‰โ€‹เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบฅเบปเป‰เบกโ€‹เป€เบซเบผเบงโ€‹เบ—เบตเปˆโ€‹เบžเบปเบšโ€‹.

new_version_bc
("symlink: check_postgres_new_version_bc") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒ Bucardo เบฅเบธเป‰เบ™เปƒเปเปˆเบเบงเปˆเบฒเบซเบผเบทเบšเปเปˆ
เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹. เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™ "bucardo_ctl --version".
เบ–เป‰เบฒเบกเบตเบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปเบกเปˆเบ™โ€‹
เบกเบต, เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบเบฑเบšเบ„เบทเบ™เบกเบฒ. (Bucardo เป€เบ›เบฑเบ™โ€‹เบ™เบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบญเบ‡โ€‹, เปเบฅเบฐโ€‹เบ™เบฒเบโ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบ›เบฑเบ™โ€‹เบ™เบฒเบโ€‹
เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบš Postgres: เป€เบšเบดเปˆเบ‡ http://bucardo.org เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก). เป€เบšเบดเปˆเบ‡เบ™เบณ
เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--get_method".

new_version_box
("symlink: check_postgres_new_version_box") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡ boxinfo เบซเบผเบทเบšเปเปˆ
เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹. เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™ "boxinfo.pl --version".
เบ–เป‰เบฒเบกเบตเบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปเบกเปˆเบ™โ€‹
เบกเบต, เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบเบฑเบšเบ„เบทเบ™เบกเบฒ. (boxinfo เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ grabbing เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™
เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบฅเบฐเบงเบฒเบ‡เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบšเบš HTML: เป€เบšเบดเปˆเบ‡
http://bucardo.org/wiki/boxinfo เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก). เป€เบšเบดเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹
"--get_method" เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

new_version_cp
("symlink: check_postgres_new_version_cp") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เป€เบงเบตเบŠเบฑเบ™เปƒเปเปˆเบเบงเปˆเบฒเบซเบผเบทเบšเปเปˆ
(check_postgres) เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เป‚เบ”เบ grabbing เบชเบฐเบšเบฑเบšเบˆเบฒเบเป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบ•เบปเป‰เบ™เบ•เป
เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™. เบชเบปเปˆเบ‡โ€‹เบ„เบทเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบ—เบตเปˆโ€‹เบชเบปเปˆเบ‡โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบกเบฒโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹
เบเบปเบ‡เบเบฑเบšเบญเบฑเบ™เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบเบณเบฅเบฑเบ‡เปเบฅเปˆเบ™เบขเบนเปˆ. เป„เบฅเบเบฐเบ—เบตเปˆเปเบ™เบฐเบ™เบณเปƒเบซเป‰เบเบงเบ”เปเบกเปˆเบ™เบกเบทเป‰เบฅเบฐเป€เบ—เบทเปˆเบญ. เป€เบšเบดเปˆเบ‡เบเบฑเบ‡
เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--get_method".

new_version_pg
("symlink: check_postgres_new_version_pg") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเบกเปˆเบ‚เบญเบ‡ Postgres เบซเบผเบทเบšเปเปˆ
เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰, e.g. เป„เบ›เบˆเบฒเบ
8.3.6 เบซเบฒ 8.3.7. เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบต 100% binary เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปเบฅเบฐเบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเบšเปเปˆเบกเบตเบเบฒเบ™ dump เปเบฅเบฐ
เบŸเบทเป‰เบ™เบŸเบนเป€เบžเบทเปˆเบญเบเบปเบเบฅเบฐเบ”เบฑเบš. เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡, เบชเบฐเบ™เบฑเป‰เบ™เบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบˆเบฐเป„เบงเป„เบ”เป‰
เปเบกเปˆเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบชเบฐเป€เบซเบกเบต. เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบซเบผเป‰เบฒเบชเบธเบ”. เบกเบฑเบ™โ€‹เปเบกเปˆเบ™
เปเบ™เบฐเบ™เบณเปƒเบซเป‰เปƒเบŠเป‰เบเบฒเบ™เบเบงเบ”เบ™เบตเป‰เบขเปˆเบฒเบ‡เปœเป‰เบญเบเบกเบทเป‰เบฅเบฐเป€เบ—เบทเปˆเบญ. เป€เบšเบดเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹
"--get_method" เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

new_version_tnm
("symlink: check_postgres_new_version_tnm") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒ tail_n_mail เบฅเบธเป‰เบ™เปƒเปเปˆเบเบงเปˆเบฒเบซเบผเบทเบšเปเปˆ
เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹. เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™ "tail_n_mail --version".
เบ–เป‰เบฒเบกเบตเบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปเบกเปˆเบ™โ€‹
เบกเบต, เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบเบฑเบšเบ„เบทเบ™เบกเบฒ. (tail_n_mail เป€เบ›เบฑเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบ—เบตเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเบปเปˆเบ‡โ€‹
mail เป€เบกเบทเปˆเบญเป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡ Postgres เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เป€เบšเบดเปˆเบ‡:
http://bucardo.org/wiki/Tail_n_mail เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก). เป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--get_method".

pgb_pool_cl_active
pgb_pool_cl_เบฅเปเบ–เป‰เบฒ
pgb_pool_sv_active
pgb_pool_sv_idle
pgb_pool_sv_used
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxwait
(symlinks: "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", เปเบฅเบฐ "check_postgres_pgb_pool_maxwait")

เบเบงเบ”เบชเบญเบšเบชเบฐเบ–เบดเบ•เบดเบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡ pgbouncer. เปเบ•เปˆเบฅเบฐเบชเบฐเบ™เบธเบเป€เบเบตเบกเบตเบŠเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ "เบฅเบนเบเบ„เป‰เบฒ",
เป‚เบ”เบเบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเบžเบฒเบเบ™เบญเบ, เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ "เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ", เป‚เบ”เบเบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆ
เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš PostgreSQL เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” check_postgres เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเบซเบ™เป‰เบฒเป‚เบ”เบ "cl_"
เปเบฅเบฐ "sv_", เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰เบงเบฝเบเปเบกเปˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™
เบ”เป‰เบงเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเปƒเบŠเป‰เบงเบฝเบ. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ "เบฅเปเบ–เป‰เบฒ", เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒ
เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบŠเบตเบšเป€เบงเบตเปเบกเปˆเบ™ "เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง" (เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ
เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ), "idle" (เบขเบทเบ™เป‚เบ”เบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš), "เปƒเบŠเป‰" (เบžเบฝเบ‡เปเบ•เปˆ
เบเบปเบเป€เบฅเบตเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ, เปเบฅเบฐเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ idle pool), "เบ—เบปเบ”เบชเบญเบš" (เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™
เบ—เบปเบ”เบชเบญเบš) เปเบฅเบฐ "เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš" (เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš). เบ„เปˆเบฒ maxwait เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเปƒเบ™
เบงเบดเบ™เบฒเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ”เป„เบ”เป‰เบฅเปเบ–เป‰เบฒ.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™
เบชเปเบฒเบฅเบฑเบšเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบœเปˆเบฒเบ™ pgbouncer, เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบกเบฑเบ™เบชเบนเบ‡เบชเบธเบ”
เบญเบฐเบ™เบธเบเบฒเบ”, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบ•เบปเบงเปเบ›เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ pgbouncer max_client_conn. เป„เบ”เป‰
--เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบฒเบกเบฎเบนเบšเปเบšเบš. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบชเบฒเบกเบฒเบ”
เบˆเบฐเบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบˆเบฐเบ–เบทเบเบกเบญเบšเปƒเบซเป‰.
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ” เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆ
เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบกเบญเบšเปƒเบซเป‰. เบญเบฑเบ™เบ—เบตเบชเบฒเบก, เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบ•เบปเบงเป€เบฅเบเบฅเบปเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™
เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบˆเบปเบ™เบเปˆเบงเบฒ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ” เบšเบฑเบ™เบฅเบธเป„เบ”เป‰. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡
--เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เปเบกเปˆเบ™ '90%' เปเบฅเบฐ '95%'. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเบฑเปˆเบ™เบ•เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰
เป„เบ”เป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰ -- เปœเบฝเบง เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ—เปˆเบฒเบ™
เบเปเบฒเบฅเบฑเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™ superuser เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡ host quirm เบฎเบญเบ” 120, เปเบฅเบฐ a
เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบกเบฑเบ™เบฎเบญเบ” 150.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบฅเบธ 75% เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ max_connections เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เป‚เบฎเบ”
lancre เบซเบผเบท lancre2.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบกเบตเบŠเปˆเบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบตเบเบžเบฝเบ‡ 10 เบญเบฑเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบขเบนเปˆเปƒเบ™เป‚เบฎเบช
plasmid, เปเบฅเบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆ 5 เบŠเป‰เบฒเบ.

check_postgres_pgbouncer_backends --warning=-10 --critical=-5 --host=plasmid -p 6432 -u pgbouncer

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบชเบตเปˆ
line เปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบšเบงเบเบเบฑเบš max_client_conn เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ–เป‰เบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเบชเบญเบšเบ–เบฒเบก, เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ”เปเบกเปˆเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ pgBouncer เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™
เบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบชเป‰เบฒเบ‡ checksum เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบˆเบฑเบ”เบฎเบฝเบ‡
เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบŠเบทเปˆโ€‹เปเบฅเบฐโ€‹เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบ‚เบญเบ‡โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เบฅเบฐเบšเบธเบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบกเบฑเบ™
เบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบ›เบฑเบ™ pgbouncer. เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™ --เป€เบ•เบทเบญเบ™ เบซเบผเบท --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ
เบ„เบงเบ™เปƒเบซเป‰, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบชเบญเบ‡. เบ„เปˆเบฒเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เปเบกเปˆเบ™ checksum, เป€เบ›เบฑเบ™ 32 เบ•เบปเบงเบญเบฑเบเบชเบญเบ™
เบ„เปˆเบฒเป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบฅเปˆเบ™เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ "--critical=0" เบžเบดเป€เบชเบ”เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒ
checksum เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

เบเบฒเบ™เบเบฐเบ—เบณเบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบกเบ”เบนเบ™ Digest::MD5.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบŠเบญเบเบซเบฒ checksum เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ pgbouncer เปƒเบ™เบžเบญเบ” 6432 เป‚เบ”เบเปƒเบŠเป‰
เบœเบนเป‰เปƒเบŠเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง postgres)

check_postgres_pgbouncer_checksum --port=6432 --critical=0

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ”เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ เปเบฅเบฐเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป‚เบ”เบเปƒเบŠเป‰ checksum เบˆเบฒเบ
เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ 1 เบซเบผเบท 0 เบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡ checksum เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™.
checksum เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™ "--mrtg". เป€เบชเบฑเป‰เบ™เบ—เบตเบชเบตเปˆเบชเบฐเป€เบซเบกเบตเปƒเบซเป‰
checksum เปƒเบ™โ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบงเบฝเบ pgAgent เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบต
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเปˆเบญเบ™เบซเบ™เป‰เบฒเป„เบ”เป‰เบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเปเบฒเบฅเบฑเบš
เบ‚เบฑเป‰เบ™เบ•เบญเบ™เปƒเบ”เป†เบเปเบ•เบฒเบกเบ—เบตเปˆเบกเบตเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™.

"-- เบเบฒเบ™เป€เบ•เบทเบญเบ™" เบซเบผเบท "-- เบชเปเบฒเบ„เบฑเบ™", เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡, เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ, เปเบฅเบฐเบงเบฝเบเบˆเบฐเป€เบ›เบฑเบ™.
เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเบเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เป€เบงเบฅเบฒเบ›เบฐเบˆเบธเบšเบฑเบ™. เบ–เบทเบเบ•เป‰เบญเบ‡
เบซเบปเบงเปœเปˆเบงเบเปเบกเปˆเบ™เบงเบดเบ™เบฒเบ—เบต, เบ™เบฒเบ—เบต, เบŠเบปเปˆเบงเป‚เบกเบ‡, เปเบฅเบฐเบกเบทเป‰; เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”.
เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเปœเปˆเบงเบเปƒเบซเป‰, 'เบงเบดเบ™เบฒเบ—เบต' เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบงเบดเบˆเบฒเบ™เป€เบกเบทเปˆเบญเบงเบฝเบเปƒเบ”เบ™เบถเปˆเบ‡เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบกเบทเป‰เบชเบธเบ”เบ—เป‰เบฒเบเบšเปเปˆเบชเบณเป€เบฅเบฑเบ”.

check_postgres_pgagent_jobs --critical=1d

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบงเบฝเบเปƒเบ”เบ™เบถเปˆเบ‡เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบญเบฒเบ—เบดเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบฅเบปเป‰เบกเป€เบซเบฅเบง.

check_postgres_pgagent_jobs --warning=7d

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบต 3: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™ 2 เบŠเบปเปˆเบงเป‚เบกเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ เปเบฅเบฐเบ„เปเบฒเป€เบ•เบทเบญเบ™เบชเปเบฒเบฅเบฑเบš
เบงเบฝเบเบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™ 4 เบŠเบปเปˆเบงเป‚เบกเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ:

check_postgres_pgagent_jobs --critical=2h --warning=4เบŠเบก

เบเบฐเบเบฝเบก_txns
("symlink: check_postgres_prepared_txns") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบญเบฒเบเบธเบ‚เบญเบ‡เบเบฒเบ™เบเบฐเบเบฝเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.
เบ—เบธเบฅเบฐเบเปเบฒ. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ„เบปเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเบˆเบฐเบšเปเปˆเปƒเบŠเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡
เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เบชเบญเบ‡โ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เปเบฅเบฐโ€‹เบชเบฑเบšโ€‹เบชเบปเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹. เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบ„เบงเบ™เบชเบฑเบšเบชเบปเบ™เบเบฑเบš
เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบ—เบตเปˆเบเบฐเบเบฝเบก, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เบปเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ„เบดเบ”เป€เบ–เบดเบ‡เป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเป„เบ”เป‰เบเบดเบ™เบเบฒเบ™เบเบฐเบเบฝเบก. เป„เบ”เป‰
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบกเปˆเบ™ 1 เบงเบดเบ™เบฒเบ—เบต, เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฐเบเบฝเบก, เป€เบŠเบดเปˆเบ‡
เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™เบงเบดเบ™เบฒเบ—เบต a
เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบเบงเบ”เบซเบฒเบ—เบธเบฅเบฐเบเบณเบ—เบตเปˆเบเบฐเบเบฝเบกเป„เบงเป‰:

check_postgres_prepared_txns -w 0

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฝเบกเป„เบงเป‰เป€เบ›เบตเบ”เบ”เบปเบ™เบเบงเปˆเบฒ 10
เบงเบดเบ™เบฒเบ—เบต, เปเบ•เปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ–เบดเบ‡ 360 เบงเบดเบ™เบฒเบ—เบตเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 'shrike':

check_postgres_prepared_txns --critical=10 --exclude=shrike
check_postgres_prepared_txns --critical=360 --include=shrike

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบ—เบธเบฅเบฐเบเปเบฒเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ”เป„เบ”เป‰เป€เบ›เบตเบ”เป€เบ›เบฑเบ™
เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบกเบฒเบˆเบฒเบเป€เบชเบฑเป‰เบ™เบชเบธเบ”เบ—เป‰เบฒเบ.

query_runtime
("symlink: check_postgres_query_runtime") เบเบงเบ”เป€เบšเบดเปˆเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบชเบฐเป€เบžเบฒเบฐเป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™,
เป‚เบ”เบเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ "เบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ" เบ•เปเปˆเบเบฑเบšเบกเบฑเบ™. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹
เบˆเปเบฒเบ™เบงเบ™เป€เบงเบฅเบฒเบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบ„เปเบฒเบ–เบฒเบกเบ„เบงเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒ. เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™เบงเบดเบ™เบฒเบ—เบต, เบ™เบฒเบ—เบต, เปเบฅเบฐเบŠเบปเปˆเบงเป‚เบกเบ‡;
เปƒเบ”เป†เบชเบฒเบกเบฒเบ”เบ–เบทเบเบซเบเปเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเปœเปˆเบงเบเปƒเบซเป‰, 'เบงเบดเบ™เบฒเบ—เบต' เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”.
เบ—เบฑเบ‡เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปƒเบซเป‰. เบŠเบทเปˆเบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡เบซเบผเบทเบŸเบฑเบ‡เบŠเบฑเบ™
เบ—เบตเปˆ เบˆเบฐ เบ”เปเบฒ เป€เบ™เบตเบ™ เบเบฒเบ™ เบ•เป‰เบญเบ‡ เป„เบ”เป‰ เบฎเบฑเบš เบเบฒเบ™ เบœเปˆเบฒเบ™ เปƒเบ™ --เบŠเบทเปˆเบชเบญเบšเบ–เบฒเบก เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบกเบฑเบ™เบ•เป‰เบญเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ„เปเบฒเบ”เบฝเบง
(เบซเบผเบท schema.word), เบกเบต paren เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบ—เป‰เบฒเบ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบงเบดเบˆเบฒเบ™เบ–เป‰เบฒเบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "speedtest" เป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบชเบณเป€เบฅเบฑเบ”เปƒเบ™ 10 เบงเบดเบ™เบฒเบ—เบต เบซเบผเบท
เบซเบ™เป‰เบญเบ.

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบฅเบฒเบเบ‡เบฒเบ™เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”.
เปเบ–เบงเบ—เบตเบชเบตเปˆเบฅเบฒเบเบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

query_time
("symlink: check_postgres_query_time") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เปƒเบ™เบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™. เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹
เบงเปˆเบฒเบญเบฑเบ™เบ™เบตเป‰เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆ "idle เปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒ". เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™
เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™".
เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเบฑเปˆเบ™เบ•เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบเบฑเบš --includeuser
เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เป€เบงโ€‹เบฅเบฒโ€‹, เปเบฅเบฐโ€‹เบ„เปˆเบฒโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบ—เบตเปˆ '2โ€‹
เบ™เบฒเบ—เบต' เปเบฅเบฐ '5 เบ™เบฒเบ—เบต' เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™ 'เบงเบดเบ™เบฒเบ—เบต', 'เบ™เบฒเบ—เบต', 'เบŠเบปเปˆเบงเป‚เบกเบ‡', เบซเบผเบท
'เบกเบทเป‰'. เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบผเบทโ€‹เบซเบเปเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเปœเปˆเบงเบ
เป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบต.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™ Postgres 8.1 เบซเบผเบทเบ”เบตเบเบงเปˆเบฒ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเปƒเบ”เบ™เบถเปˆเบ‡เปเบฅเปˆเบ™เบ”เบปเบ™เบเบงเปˆเบฒ 3 เบ™เบฒเบ—เบต, เปเบฅเบฐ a
เบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบ”เบปเบ™เบเบงเปˆเบฒ 5 เบ™เบฒเบ—เบต.

check_postgres_query_time --port=5432 --warning='3 เบ™เบฒเบ—เบต' --critical='5 เบ™เบฒเบ—เบต'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (2 เปเบฅเบฐ 5 เบ™เบฒเบ—เบต), เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™
เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ 'เปเบกเปˆเปเบšเบš'.

check_postgres_query_time --port=5432 --exclude=~^เปเบกเปˆเปเบšเบš

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบœเบนเป‰เปƒเบŠเป‰ 'don' เบกเบตเบ„เบดเบงเบฃเบตเปเบฅเปˆเบ™เป€เบเบตเบ™ 20 เบงเบดเบ™เบฒเบ—เบต

check_postgres_query_time --port=5432 --includeuser=don --warning=20เบงเบด

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เบงเบฒเบกเบเบฒเบงเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเปเบฅเปˆเบ™เบเบฒเบงเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”
เบชเบฒเบ. เปเบ–เบงเบ—เบตเบชเบตเปˆเปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

replicate_row
("symlink: check_postgres_replicate_row") เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹เปเบกเปˆโ€‹เบšเบปเบ”โ€‹เบชเปเบฒโ€‹เบฅเบญเบ‡โ€‹เปเบกเปˆเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹.
เปเบเปˆเบ‚เป‰เบฒเปƒเบŠเป‰เปœเบถเปˆเบ‡เบ„เบปเบ™ เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™.

เบ•เบปเบงเป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ” "--dbname", "--host", เปเบฅเบฐ "--port", เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš;
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เปเปˆเบกเบฒเปเบกเปˆเบ™เบชเปเบฒเบฅเบญเบ‡. เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบซเบผเบทโ€‹ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™
เบซเบปเบงเปœเปˆเบงเบเป€เบงเบฅเบฒ, เปเบฅเบฐเบขเปˆเบฒเบ‡เปœเป‰เบญเบเบ•เป‰เบญเบ‡เปƒเบซเป‰เปœเบถเปˆเบ‡เปœเปˆเบงเบ (เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™). เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™ 'เบงเบดเบ™เบฒเบ—เบต',
'เบ™เบฒเบ—เบต', 'เบŠเบปเปˆเบงเป‚เบกเบ‡', เบซเบผเบท 'เบกเบทเป‰'. เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบผเบทโ€‹เบซเบเปเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹
เบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเบšเบฑเบšเบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเปƒเบซเป‰, เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบงเบดเบ™เบฒเบ—เบต.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบ›เบฑเบšเบ›เบธเบ‡เปเบ–เบงเบ”เบฝเบงเปƒเบ™เปเบกเปˆเปเบšเบš, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบงเบฑเบ”เปเบ—เบเบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบ›เบฒเบ™เปƒเบ”
เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบชเปเบฒเบฅเบญเบ‡. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบ–เบทเบ replicated, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™
เบŠเบญเบเบซเบฒเปเบ–เบงเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰, เปเบฅเบฐเบˆเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™. เบ
เบ–เบฑเบ™เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เปเบ–เบงเบ™เบตเป‰เบˆเบฐเบ–เบทเบเบ›เปˆเบฝเบ™เบˆเบฒเบเบ„เปˆเบฒเปœเบถเปˆเบ‡เป„เบ›เบซเบฒเบ„เปˆเบฒเบญเบทเปˆเบ™. เบ—เบฑเบ‡เปเบปเบ”เบ™เบตเป‰เบ–เบทเบเบ›เป‰เบญเบ™
เป„เบ›เบ—เบตเปˆเบ•เบปเบงเป€เบฅเบทเบญเบ "repinfo", เปเบฅเบฐเบ„เบงเบ™เบˆเบฐเบกเบตเบ•เบปเบงเป€เบฅเบทเบญเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰, เปเบเบเบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”:
เบŠเบทเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เบฅเบฐเบซเบฑเบ”เบซเบผเบฑเบ, เบฅเบฐเบซเบฑเบ”เบฅเบฐเบซเบฑเบ”, เบ–เบฑเบ™, เบ„เปˆเบฒเบ—เบณเบญเบดเบ”, เบ„เปˆเบฒเบ—เบตเบชเบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: Slony เบเปเบฒเบฅเบฑเบ‡ replicating เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบŠเบทเปˆ 'orders' เบˆเบฒเบ host 'alpha' เบเบฑเบš host 'beta',
เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 'เบเบฒเบ™เบ‚เบฒเบ'. เบฅเบฐเบซเบฑเบ”เบซเบผเบฑเบเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบกเปˆเบ™เบŠเบทเปˆ id, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป„เบ›
เบ—เบปเบ”เบชเบญเบšเปเบ–เบงเบ—เบตเปˆเบกเบต id เบ‚เบญเบ‡ 3 (เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เปเบฅเบฐเบšเปเปˆเป€เบ„เบตเบเบ›เปˆเบฝเบ™เปเบ›เบ‡). เบกเบตเบ–เบฑเบ™
เบŠเบทเปˆเบงเปˆเบฒ 'salesrep' เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เปˆเบฝเบ™เบˆเบฒเบเบ„เปˆเบฒเบ‚เบญเบ‡ 'slon' เป€เบ›เบฑเบ™ 'nols' เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบš.
เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ–เบดเป‰เบกเบ„เปเบฒเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ replication เบšเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบžเบฒเบเปƒเบ™ 10
เบงเบดเบ™เบฒเบ—เบต.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: Bucardo เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เป€เบฅเบทเป‰เบกเบ„เบทเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'เปƒเบšเบฎเบฑเบšเป€เบ‡เบดเบ™' เบˆเบฒเบเป€เบˆเบปเป‰เบฒเบžเบฒเบš 'เบชเบตเบ‚เบฝเบง' เป„เบ›เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš
'เบชเบตเปเบ”เบ‡', 'เบชเบตเบŸเป‰เบฒ' เปเบฅเบฐ 'เบชเบตเป€เบซเบผเบทเบญเบ‡'. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบเปˆเบฒเบเปเบกเปˆเบ™ 'เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ'. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบญเบ‡
เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เบžเบญเบ” 5455. เบฅเบฐเบซเบฑเบ”เบซเบผเบฑเบเบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'receipt_id', เปเบ–เบงเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰
เบกเบตเบกเบนเบ™เบ„เปˆเบฒ 9, เปเบฅเบฐเบ–เบฑเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ 'zone'. เบ”เบต
เบชเบฐเบซเบผเบฑเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡ 'เป€เปœเบทเบญ' เปเบฅเบฐ 'เปƒเบ•เป‰' เบชเปเบฒเบฅเบฑเบšเบ„เปˆเบฒเบ‚เบญเบ‡เบ–เบฑเบ™เบ™เบตเป‰, เปเบฅเบฐเบ–เบดเป‰เบกเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒ
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™เบ—เบฑเบ‡เบชเบฒเบกเบชเปเบฒเบฅเบญเบ‡เบžเบฒเบเปƒเบ™ 5 เบงเบดเบ™เบฒเบ—เบต.

check_postgres_replicate_row --host=green --port=5455 --host=red,เบชเบตเบŸเป‰เบฒ,เบชเบตเป€เบซเบผเบทเบญเบ‡
--critical=5 --repinfo=receipt,receipt_id,9,เป€เบ‚เบ”,เป€เปœเบทเบญ,เปƒเบ•เป‰

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบเบฑเบšเบ„เบทเบ™เบกเบฒเปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆ replication เปƒเบŠเป‰เป€เบงเบฅเบฒ
เบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš. เป€เบงเบฅเบฒเบชเบนเบ‡เบชเบธเบ”เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 4 เบ™เบฒเบ—เบต 30 เบงเบดเบ™เบฒเบ—เบต: เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡
เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ”เบปเบ™โ€‹เบ™เบฒเบ™โ€‹, เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ–เบดเป‰เบกโ€‹.

same_schema
("symlink: check_postgres_same_schema") เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบงเปˆเบฒโ€‹เบชเบญเบ‡โ€‹เบซเบผเบทโ€‹เบซเบผเบฒเบโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปเบกเปˆเบ™โ€‹เบ„เป‰เบฒเบโ€‹เบ„เบทโ€‹เบเบฑเบ™
เป€เบ—เบปเปˆเบฒเบ—เบตเปˆ schema เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ (เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเปƒเบ™). เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”
เปƒเบซเป‰โ€‹เปเบ™เปˆโ€‹เปƒเบˆเบงเปˆโ€‹เบฒโ€‹เบ‚เป‰เบฒโ€‹เปƒเบŠเป‰โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ”เบฑเบ”โ€‹เปเบเป‰โ€‹เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบชเปเป‰โ€‹เบฅเบฒเบ”โ€‹เบšเบฑเบ‡โ€‹เบซเบผเบงเบ‡โ€‹เปƒเบ™โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ™เบฒเบโ€‹เป€เบžเบทเปˆเบญโ€‹เบ‚เป‰เบฒโ€‹เปƒเบŠเป‰โ€‹
เบเบฒเบ™เบˆเบณเบฅเบญเบ‡. เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบฒเบ™เบเบฐเบ—เปเบฒเบญเบทเปˆเบ™เป†เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ™เบตเป‰เบšเปเปˆเบกเบตเบ„เปเบฒเป€เบ•เบทเบญเบ™เบซเบผเบทเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ - the
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ sync, เบซเบผเบทเบšเปเปˆเปเบกเปˆเบ™. เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡
เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต.

เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™เบซเบผเบทเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡. เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบžเบตเปˆเบก
เบŠเปˆเบญเบเปเบ™เปˆเปƒเบชเปˆเบ•เบปเบงเป€เบฅเบทเบญเบ "--filter". เป€เบžเบทเปˆเบญเบเบปเบเป€เบงเบฑเป‰เบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เปƒเบŠเป‰ "noname", เบšเปˆเบญเบ™เบ—เบตเปˆ 'เบŠเบทเปˆ'
เปเบกเปˆเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, "noschema". เป€เบžเบทเปˆเบญเบเบปเบเป€เบงเบฑเป‰เบ™เบงเบฑเบ”เบ–เบธเบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เป‚เบ”เบ เบ
เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเบ•เปเปˆเบเบฑเบšเบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เปƒเบŠเป‰ "noname = regex". เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบš a
เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ”เบตเบ‚เบถเป‰เบ™.

เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เบ›เบฐเบเบญเบšเบกเบต:

เบœเบนเป‰เปƒเบŠเป‰
เป‚เบ„เบ‡
เบ•เบฒเบ•เบฐเบฅเบฒเบ‡
เป€เบšเบดเปˆเบ‡
เบ”เบฑเบ”เบŠเบฐเบ™เบต
เบฅเปเบฒเบ”เบฑเบš
เบ‚เปเป‰ เบˆเบณ เบเบฑเบ”
เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ
เบซเบ™เป‰เบฒเบ—เบตเปˆ

เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ "noposition" เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ‚เบญเบ‡เบ–เบฑเบ™เบžเบฒเบเปƒเบ™ a
เบ•เบฒเบ•เบฐเบฅเบฒเบ‡.

เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ "nofuncbody" เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”.

เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ "noperm" เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบงเบฑเบ”เบ–เบธ.

เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเบชเบญเบ‡, เบžเบฝเบ‡เปเบ•เปˆเบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบšเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒ
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบš hosts alpha เปเบฅเบฐ
bravo, เปƒเบŠเป‰ "--dbhost=alpha,bravo". เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เบ–เป‰เบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ”เบฝเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™ "เบ•เบฒเบกเป€เบงเบฅเบฒ". เป„เบ”เป‰
เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
เป„เบŸเบฅเปŒ. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบกเบฑเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบžเบฒเบšเบ–เปˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบทเบเบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบเป€เบ›เบฑเบ™ "เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ #2" เปเบฅเบฐเป€เบ›เบฑเบ™
เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™.

เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒเป€เบเบปเปˆเบฒเบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เบ”เป‰เบงเบเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ, เปƒเบซเป‰เปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ --replace.

เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ–เปˆเบฒเบเบฎเบนเบšเปƒเบ™เบˆเบธเบ”เบ•เปˆเบฒเบ‡เป†เปƒเบ™เป€เบงเบฅเบฒ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ "--suffix" argument เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰.
เบŠเบทเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเปƒเบ™เปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐ. เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบเบงเบ”เบชเบญเบšเบงเปˆเบฒเบชเบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ host star เปเบฅเบฐ line เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™:

check_postgres_same_schema --dbhost=star,line

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบต 2: เบ„เบทเบเบฑเบ™เบเบฑเบšเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰, เปเบ•เปˆเบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เปƒเบ”เป†เบ—เบตเปˆเบกเบต "เป‚เบฅเบ™เบต" เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบกเบฑเบ™

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เบ„เบทเบเบฑเบ™เบเบฑเบšเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰, เปเบ•เปˆเบเบฑเบ‡เบเบปเบเป€เบงเบฑเป‰เบ™เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ—เบฑเบ‡เปเบปเบ”

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 4: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ "battlestar" เปƒเบ™เบžเบญเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 5: เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบเบ›เบฐเบˆเปเบฒเบงเบฑเบ™ เปเบฅเบฐเบญเบฒเบ—เบดเบ”

check_postgres_same_schema --dbname=cylon --suffix=เบ›เบฐเบˆเปเบฒเบงเบฑเบ™
check_postgres_same_schema --dbname=cylon --suffix=เบฅเบฒเบเบญเบฒเบ—เบดเบ”

เบ•เบปเบงเบขเปˆเบฒเบ‡ 6: โ€‹โ€‹เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”, เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ

check_postgres_same_schema --dbname=cylon --suffix=เบ›เบฐเบˆเปเบฒเบงเบฑเบ™ --replace

เบฅเปเบฒเบ”เบฑเบš
("symlink: check_postgres_sequence") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบซเป‰เบญเบ‡เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเป€เบ›เบฑเบ™เป€เบ›เบตเป€เบŠเบฑเบ™เบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰
เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบฅเปเบฒเบ”เบฑเบš. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡ เป€เบฅเบทเบญเบ เบ„เบงเบ™ เบˆเบฐ เป„เบ”เป‰ เบฎเบฑเบš เบเบฒเบ™ เบชเบฐ เปเบ”เบ‡ เบญเบญเบ เป€เบ›เบฑเบ™
เป€เบ›เบตเป€เบŠเบฑเบ™. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 85% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹ 95% เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹. เป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐ
เปƒเบŠเป‰ --include เปเบฅเบฐ --exclude เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบงเปˆเบฒเบฅเปเบฒเบ”เบฑเบšเปƒเบ”เบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบš. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ™เบตเป‰
เบเบงเบ”เบชเบญเบšเบšเบฑเบ™เบŠเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด เบ„เปˆเบฒเบ•เปเปˆเบฒ เปเบฅเบฐ เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบทเป‰เบ™ by เบ„เบธเบ™เบ„เปˆเบฒ, เปเบ•เปˆเบšเปเปˆเบชเบปเบ™เปƒเบˆเบงเปˆเบฒ
เบฅเปเบฒเบ”เบฑเบšเบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบงเบปเบ‡เบˆเบญเบ™เบซเบผเบทเบšเปเปˆ.

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเปเบฒเบฅเบฑเบš Nagios เปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡เบฅเปเบฒเบ”เบฑเบš, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ—เบตเปˆเปƒเบŠเป‰, เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™
เบ‚เบญเบ‡ 'เป‚เบ—' เบŠเป‰เบฒเบ, เบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบ„เบฑเป‰เบ‡เบ•เปเปˆเป„เบ›เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เป„เบ”เป‰เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบ™เบฑเป‰เบ™
เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปเบฅเปˆเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบนเบ™เบ„เปˆเบฒเบชเบนเบ‡เบชเบธเบ”.

เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš MRTG เปƒเบซเป‰โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบญเบฑเบ”โ€‹เบ•เบฒโ€‹เบชเปˆเบงเบ™โ€‹เบ—เบตเปˆโ€‹เบชเบนเบ‡โ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เปƒเบ™โ€‹เบ—เบปเปˆเบงโ€‹เบ—เบธเบโ€‹เบฅเปเบฒโ€‹เบ”เบฑเบšโ€‹เปƒเบ™โ€‹เปเบ–เบงโ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹,
เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเบกเบตเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ™เบฑเป‰เบ™เบขเบนเปˆเปƒเบ™เปเบ–เบงเบ—เบตเบชเบตเปˆ, เปเบเบเบ”เป‰เบงเบ "|"
(เบ—เปเปˆ) เบ–เป‰เบฒเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบฅเปเบฒเบ”เบฑเบšเปƒเบ™เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ™เบฑเป‰เบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบต 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบฅเปเบฒเบ”เบฑเบšเปƒเบ”เบ™เบถเปˆเบ‡เปƒเบเป‰เบˆเบฐเป€เบ•เบฑเบก 95%.

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "orders_id_seq" เปเบกเปˆเบ™เบšเปเปˆเป€เบเบตเบ™เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡.

check_postgres_sequence --dbport=5432 --critical=50% --include=orders_id_seq

settings_checksum
("symlink: check_postgres_settings_checksum") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Postgres เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™
เบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบชเป‰เบฒเบ‡ checksum เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบˆเบฑเบ”เบฎเบฝเบ‡
เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบŠเบทเปˆโ€‹เปเบฅเบฐโ€‹เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบ‚เบญเบ‡โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™เบญเบฒเบ”เบˆเบฐเบกเบต
checksums เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ ALTER USER, เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ superusers เป€เบšเบดเปˆเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบซเบผเบฒเบเบเปˆเบงเบฒเบœเบนเป‰เปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›. เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™ --เป€เบ•เบทเบญเบ™ เบซเบผเบท --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™
เปƒเบซเป‰, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบชเบญเบ‡. เบ„เปˆเบฒเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบญเบฑเบ™เปเบกเปˆเบ™ checksum, เป€เบ›เบฑเบ™เป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ 32 เบ•เบปเบงเบญเบฑเบเบชเบญเบ™
เบ„เปˆเบฒ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ "--critical=0" เบžเบดเป€เบชเบ”เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง
checksum.

เบเบฒเบ™เบเบฐเบ—เบณเบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบกเบ”เบนเบ™ Digest::MD5.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบŠเบญเบเบซเบฒ checksum เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบžเบญเบ” 5555 เป‚เบ”เบเปƒเบŠเป‰เบœเบนเป‰เปƒเบŠเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
(เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง postgres)

check_postgres_settings_checksum --port=5555 --critical=0

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ”เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ เปเบฅเบฐเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป‚เบ”เบเปƒเบŠเป‰ checksum เบˆเบฒเบ
เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เปƒเบซเป‰เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™ 1 เบซเบผเบท 0 เบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡ checksum เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™.
checksum เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™ "--mrtg". เป€เบชเบฑเป‰เบ™เบ—เบตเบชเบตเปˆเบชเบฐเป€เบซเบกเบตเปƒเบซเป‰
checksum เปƒเบ™โ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹.

เบชเบฐเบ–เบฒเบ™เบฐ slony
("symlink: check_postgres_slony_status") เบเบงเบ”เบชเบญเบšเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบธเปˆเบก Slony เป‚เบ”เบ
เป€เบšเบดเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ sl_status เบ‚เบญเบ‡ Slony. เบญเบฑเบ™เบ™เบตเป‰เบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™
เบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡ "lag time". เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ„เบงเบ™เบˆเบฐเบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เป€เบงเบฅเบฒ.
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 60 เบงเบดเบ™เบฒเบ—เบต เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เปเบฅเบฐโ€‹ 300 เบงเบดเบ™เบฒเบ—เบต เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹.

เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --schema เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™ schema เบ—เบตเปˆ Slony เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบฒเบเปƒเบ•เป‰. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™
เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰, schema เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒ Slony เปƒเบ”เบŠเป‰เบฒเป€เบเบตเบ™ 20 เบงเบดเบ™เบฒเบ—เบต

check_postgres_slony_status --warning 20

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบงเบดเบˆเบฒเบ™เบ–เป‰เบฒ Slony, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบฒเบเปƒเบ•เป‰ schema "_slony", เป€เบเบตเบ™ 10.
เบ™เบฒเบ—เบตเบŠเป‰เบฒ

check_postgres_slony_status --schema=_slony --critical=600

timesync
("symlink: check_postgres_timesync") เบ›เบฝเบšเบ—เบฝเบšเป€เบงเบฅเบฒเบฅเบฐเบšเบปเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบเบฑเบšเป€เบงเบฅเบฒเบฅเบฒเบเบ‡เบฒเบ™
เป‚เบ”เบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡
เบงเบดเบ™เบฒเบ—เบตเบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™. เบ–เป‰เบฒเบ—เบฑเบ‡เบชเบญเบ‡เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ, the
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เปเบกเปˆเบ™ '2' เปเบฅเบฐ '5'. เบ„เปˆเบฒเป€เบ•เบทเบญเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒ
เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบšเปเปˆเปเบ™เปˆเบ™เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰, เบ„เปˆเบฒเบ‚เบญเบ‡ '0' เบซเบผเบท '1' เบšเปเปˆเปเบกเปˆเบ™
เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰.

เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เป€เบงเบฅเบฒเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบงเบฅเบฒเปƒเบ™เปเบ•เปˆเบฅเบฐเบ”เป‰เบฒเบ™เบ—เบตเปˆเบ‚เบฝเบ™
เบญเบญเบ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ host ankh, morpork, เปเบฅเบฐ klatch เปเบกเปˆเบ™เบšเปเปˆเป€เบเบตเบ™ 3.
เบงเบดเบ™เบฒเบ—เบตเบˆเบฒเบเป€เบงเบฅเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™:

check_postgres_timesync --host=ankh,morpork,klatch --critical=3

เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ” MRTGโ€‹, เปƒเบซเป‰โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปเบ–เบงโ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบงเบดโ€‹เบ™เบฒโ€‹เบ—เบตโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹
เป€เบงเบฅเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เปเบฅเบฐเป€เบงเบฅเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เปเบ–เบงเบ—เบตเบชเบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

txn_idle
("symlink: check_postgres_txn_idle") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เปเบฅเบฐเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡ "idle in
เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ" เบ„เปเบฒเบ–เบฒเบกเบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡
เบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰ --เบฅเบงเบก เปเบฅเบฐ
--เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™" เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบปเบงโ€‹เบซเบ™เปˆเบงเบโ€‹เบ‚เบญเบ‡โ€‹เป€เบงโ€‹เบฅเบฒโ€‹, เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เป€เบ•เบฑเบกโ€‹เบฅเบฒเบโ€‹เบŠเบทเปˆโ€‹, เบซเบผเบทโ€‹
เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบชเบณเบฅเบฑเบšเบซเบปเบงเปœเปˆเบงเบเป€เบงเบฅเบฒ, เปเบฅเบฐเบ—เบฑเบ‡เบชเบญเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเป‰ (เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™). เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡
เปเบกเปˆเบ™ 'เบงเบดเบ™เบฒเบ—เบต', 'เบ™เบฒเบ—เบต', 'เบŠเบปเปˆเบงเป‚เบกเบ‡', เบซเบผเบท 'เบกเบทเป‰'. เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบฅเบฑเบโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบผเบทโ€‹เบ•เบปเบงโ€‹เบซเบเปเป‰โ€‹
เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเบ–เบทเบเปƒเบซเป‰เปเบฅเบฐเบ•เบปเบงเป€เบฅเบเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เป€เบŠเบฑเบ™, เบซเบ™เปˆเบงเบเบ‡เบฒเบ™
เบ–เบทเบงเปˆเบฒเปเบกเปˆเบ™เบงเบดเบ™เบฒเบ—เบต.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™ Postgres 8.3 เบซเบผเบทเบ”เบตเบเบงเปˆเบฒ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ”เบ™เบถเปˆเบ‡เบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบขเบนเปˆเปƒเบ™เบ—เบธเบฅเบฐเบเบณเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒ 15 เป€เบ—เบทเปˆเบญ
เบงเบดเบ™เบฒเบ—เบต:

check_postgres_txn_idle --port=5432 --warning='15 เบงเบดเบ™เบฒเบ—เบต'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบกเบตเบ—เบธเบฅเบฐเบเปเบฒ 50 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™

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

เบ•เบปเบงเบขเปˆเบฒเบ‡ 3: เปƒเบซเป‰เบเบฒเบ™เบงเบดเบžเบฒเบเบงเบดเบˆเบฒเบ™เบ–เป‰เบฒเบกเบต 5 เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒเบซเบผเบฒเบเบเบงเปˆเบฒ
เบซเบผเบฒเบเบเบงเปˆเบฒ 10 เบงเบดเบ™เบฒเบ—เบต:

check_postgres_txn_idle --port=5432 --critical='5 เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 10 เบงเบดเบ™เบฒเบ—เบต'

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบ—เบธเบฅเบฐเบเปเบฒเบขเบนเปˆเบŠเบทเปˆเป†เบ—เบตเปˆเบเบฒเบงเบ—เบตเปˆเบชเบธเบ”
เปเบฅเปˆเบ™. เปเบ–เบงเบ—เบตเบชเบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบญเบทเปˆเบ™เป†เบเปˆเบฝเบงเบเบฑเบš
เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ—เบตเปˆเบชเบธเบ”.

txn_time
("symlink: check_postgres_txn_time") เบเบงเบ”เป€เบšเบดเปˆเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบตเบ”เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.
เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡ "เบžเบทเป‰เบ™เบ–เบฒเบ™
เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡" เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡, เป‚เบ”เบ
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡ --includeuser เปเบฅเบฐ --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบšเบดเปˆเบ‡เบžเบฒเบ "USER NAME FILTERING".
เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบซเบผเบทโ€‹ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบงเบฅเบฒ, เปเบฅเบฐเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰
(เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™). เบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™ 'เบงเบดเบ™เบฒเบ—เบต', 'เบ™เบฒเบ—เบต', 'เบŠเบปเปˆเบงเป‚เบกเบ‡' เบซเบผเบท 'เบกเบทเป‰'. เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบ„เปเบฒเบ™เบฒเบกเบซเบผเบทเบซเบเปเป‰เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบซเบปเบงเบซเบ™เปˆเบงเบเปเบกเปˆเบ™เปƒเบซเป‰, เป„เบ”เป‰
เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบต.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™ Postgres 8.3 เบซเบผเบทเบ”เบตเบเบงเปˆเบฒ.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเบงเบดเบˆเบฒเบ™ เบ–เป‰เบฒเบ—เบธเบฅเบฐเบเบณเปƒเบ”เบ™เบถเปˆเบ‡เป€เบ›เบตเบ”เบซเบผเบฒเบเบเบงเปˆเบฒ 10 เบ™เบฒเบ—เบต:

check_postgres_txn_time --port=5432 --critical='10 เบ™เบฒเบ—เบต'

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบœเบนเป‰เปƒเบŠเป‰ 'warehouse' เบกเบตเบ—เบธเบฅเบฐเบเปเบฒเป€เบ›เบตเบ”เป€เบเบตเบ™ 30 เบงเบดเบ™เบฒเบ—เบต

check_postgres_txn_time --port-5432 --warning=30s --includeuser=warehouse

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบ•เบญเบšเป€เบงเบฅเบฒเบชเบนเบ‡เบชเบธเบ”เปƒเบ™เบงเบดเบ™เบฒเบ—เบตเบ—เบตเปˆเบ—เบธเบฅเบฐเบเปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”เบขเบนเปˆเปƒเบ™
เปเบ–เบงเบ—เปเบฒเบญเบดเบ”. เปเบ–เบงเบ—เบตเบชเบตเปˆเปƒเบซเป‰เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

txn_wraparound
("symlink: check_postgres_txn_wraparound") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเปƒเบเป‰เบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบญเบฑเบ™เปƒเบ”เบ™เบถเปˆเบ‡.
เบซเบผเบทเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบš. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ•เบปเบงเป€เบฅเบทเบญเบเบŠเบตเป‰เบšเบญเบเบ•เบปเบงเป€เบฅเบ
เบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เปเบฅเป‰เบง, เปเบฅเบฐเบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบšเบงเบ. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เปƒเบซเป‰โ€‹, เป„เบ”เป‰โ€‹
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ 1.3 เปเบฅเบฐ 1.4 เบ•เบทเป‰เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบซเบผเบฒเบ
เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบ™เบตเป‰เปเบกเปˆเบ™เบซเบเบฑเบ‡
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™, เบเบฐเบฅเบธเบ™เบฒเป„เบ›เบขเป‰เบฝเบกเบขเบฒเบกเบซเบ™เป‰เบฒ
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html#เบชเบนเบ™เบเบฒเบเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเปเปˆ >

เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบฅเบฐเบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบ‚เบตเบ”เบเป‰เบญเบ‡เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡, เป€เบ›เบฑเบ™ Perl
เบšเปเปˆ

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ localhost

check_postgres_txn_wraparound --host=localhost

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบžเบญเบ” 6000 เปเบฅเบฐเปƒเบซเป‰เบ„เบงเบฒเบกเบชเบณเบ„เบฑเบ™เป€เบกเบทเปˆเบญ 1.7 เบ•เบทเป‰เบ—เบธเบฅเบฐเบเบณเบ–เบทเบเบ•เบต:

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

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เปเบ–เบงเบซเบ™เบถเปˆเบ‡,
เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเปเบ–เบงเบ—เบต 4 เบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”.

เบชเบฐเบšเบฑเบšเบžเบฒเบชเบฒ
("symlink: check_postgres_version") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡ Postgres เปเบกเปˆเบ™
เปเบฅเปˆเบ™. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ (เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบญเบฑเบ™เบ”เบฝเบง) เบ•เป‰เบญเบ‡เบกเบตเบฎเบนเบšเปเบšเบš
เบ— or XYZ เบšเปˆเบญเบ™เบ—เบตเปˆ X เปเบกเปˆเบ™โ€‹เบ•เบปเบงโ€‹เป€เบฅเบโ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹, Y เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเบชเบฐเบšเบฑเบšเบ™เป‰เบญเบ, เปเบฅเบฐ Z is
เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบžเบญเบ” 5678 เบšเปเปˆเปเบกเปˆเบ™เป€เบงเบตเบŠเบฑเบ™ 8.4.10:

check_postgres_version --port=5678 -w=8.4.10

เบ•เบปเบงเบขเปˆเบฒเบ‡ 2: เปƒเบซเป‰เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†เบขเบนเปˆเปƒเบ™เบฎเปˆเบญเบกเบžเบน, เป€เบกเบฑเบ”เบžเบทเบ”, เบซเบผเบทเปเบชเบ‡เปเบ”เบ”เบšเปเปˆเปเบกเปˆเบ™ 8.3:

check_postgres_version -H เบฎเปˆเบญเบกเบžเบน,เป€เบกเบฑเบ”เบžเบทเบ”,เปเบชเบ‡เปเบ”เบ” --critical=8.3

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบฅเบฒเบเบ‡เบฒเบ™ 1 เบซเบผเบท 0 เบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบซเบผเบทเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”. เป„เบ”เป‰
เปเบ–เบงเบ—เบตเบชเบตเปˆเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™. เบชเบฐเบšเบฑเบšเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเปˆเบฒเบ™ "--mrtg"
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

wal_files
("symlink: check_postgres_wal_files") เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเป„เบŸเบฅเปŒ WAL เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เปƒเบ™ pg_xlog
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบˆเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ data_directory, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™
เปเบœเปˆเบ™เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ›เบฑเบ™ superuser, เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡
เป€เบ‚เบปเป‰เบฒโ€‹เป€เบ–เบดเบ‡โ€‹เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹เบ‚เบญเบ‡โ€‹ pg_xlog เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เบชเบฐเบšเบฑเบšเบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™
Postgres 8.1. เป„เบ”เป‰ --เป€เบ•เบทเบญเบ™ เปเบฅเบฐ --เบงเบดเบˆเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™
pg_xlog เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เบ•เบปเบงเป€เบฅเบเบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบ™เบตเป‰เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบปเปˆเบงเป„เบ›เปเบกเปˆเบ™เปƒเบซเป‰เปƒเบชเปˆ
เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบชเบนเบ‡เบเบงเปˆเบฒเบ›เบปเบเบเบฐเบ•เบดเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ, เป€เบžเบทเปˆเบญเบˆเบฑเบšเบšเบฑเบ™เบซเบฒเบเปˆเบญเบ™เป„เบงเบญเบฑเบ™เบ„เบงเบ™.

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เป„เบŸเบฅเปŒ WAL เบ–เบทเบเบ›เบดเบ”เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเบกเบฒเปƒเบŠเป‰เปƒเบซเบกเปˆ, เปเบ•เปˆเบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป€เบ›เบตเบ”เบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™, เบซเบผเบท a
เบกเบตเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡ archive_command script, เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ Postgres เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›. เปƒเบ™เบ—เบตเปˆเบชเบธเบ”,
เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เปเบœเปˆเบ™เบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบขเบนเปˆเบ™เบฑเป‰เบ™เปเบปเบ”เบžเบทเป‰เบ™เบ—เบตเปˆ, เปƒเบ™เบˆเบธเบ”เบ—เบตเปˆ Postgres เบˆเบฐ
เบ›เบดเบ”โ€‹เป€เบ„เบทเปˆเบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡ 1: เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™เป„เบŸเบฅเปŒ WAL เปเบกเปˆเบ™ 20 เบซเบผเบทเบ™เป‰เบญเบเบเบงเปˆเบฒเบขเบนเปˆเปƒเบ™ host "pluto"

check_postgres_wal_files --host=pluto --critical=20

เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” MRTG, เบฅเบฒเบเบ‡เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ WAL เปƒเบ™เปเบ–เบง 1.

rebuild_symlinks
rebuild_symlinks_force
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰เบšเปเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบญเบทเปˆเบ™, เปเบฅเบฐเบšเปเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†, เปเบ•เปˆเบ‡เปˆเบฒเบเบ”เบฒเบ
เบชเป‰เบฒเบ‡ symlinks เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เปƒเบ™เบฎเบนเบšเปเบšเบš
check_postgres_. เบ–เป‰เบฒเป„เบŸเบฅเปŒเบกเบตเบขเบนเปˆเปเบฅเป‰เบง, เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบš. เบ–เป‰เบฒ
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™ rebuild_symlinks_force, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ symlinks เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบš. เบ—เบฒเบ‡เป€เบฅเบทเบญเบ
--symlinks เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบชเบฑเป‰เบ™เบเบงเปˆเบฒเบ‚เบญเบ‡เบเบฒเบ™เป€เบงเบปเป‰เบฒเบงเปˆเบฒ --action=rebuild_symlinks

BASIC เบเบฒเบ™เบเบทเปˆเบ™


เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป€เบžเบทเปˆเบญเบˆเปเบฒเบเบฑเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบš,
เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบŠเบทเปˆเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”: backends, database_size, locks, query_time, txn_idle, เปเบฅเบฐ txn_time. เบŠเบทเปˆเบ‚เบญเบ‡
เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰: bloat, index_size,
table_size, relation_size, last_vacuum, last_autovacuum, last_analyze, เปเบฅเบฐ
last_autoanalyze. เบŠเบทเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ settings_checksum
เบเบฒเบ™เบเบฐเบ—เบณ. เบŠเบทเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบ„เบณเบชเบฑเปˆเบ‡ disk_space.

เบ–เป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเปƒเบซเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบฅเบงเบก, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบš.
เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ–เป‰เบฒเปƒเบซเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบเบปเบเป€เบงเบฑเป‰เบ™เปเบฅเบฐเบฅเบงเบก, เบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบเปˆเบญเบ™, เปเบฅเบฐเบเบฒเบ™เบฅเบงเบก
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเบŸเบทเป‰เบ™เบŸเบนเบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบเบปเบเป€เบงเบฑเป‰เบ™. เบ—เบฑเบ‡เบชเบญเบ‡ --เบฅเบงเบก เปเบฅเบฐ --เบเบปเบเป€เบงเบฑเป‰เบ™ เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เปƒเบซเป‰เบซเบผเบฒเบเบ„เบฑเป‰เบ‡, เปเบฅเบฐ/เบซเบผเบท เป€เบ›เบฑเบ™เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”. A tilde เบ™เปเบฒเบซเบ™เป‰เบฒเบˆเบฐเบเบปเบ‡เบเบฑเบš
เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹เบ„เปเบฒโ€‹เบชเบฑเบšโ€‹เบ•เปˆเบฒเบ‡เป†โ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹.

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบปเบ‡เบเบฑเบš schema, เบชเบดเป‰เบ™เบชเบธเบ”เบ„เปเบฒเบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเบกเบตเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ”เบฝเบง. เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ tildes เบ™เปเบฒ
เบชเปเบฒเบฅเบฑเบš schemas เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™.

เบˆเบปเปˆเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เปƒเบ™เป€เบงเบฅเบฒเปƒเบŠเป‰เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡: เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™ backends, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบญเบฒเบ”เบˆเบฐ
เบฅเบฒเบเบ‡เบฒเบ™เบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบšเปเปˆเบกเบต backends, เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™
เบชเบฐเบเบปเบ”เบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบœเบดเบ”!

เบ•เบปเบงเบขเปˆเบฒเบ‡:

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆ pg_class:

--include=pg_class

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ 'pg_':

--include=~pg_

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ 'pg_':

--include=~^pg_

เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'เบ—เบปเบ”เบชเบญเบš':

--exclude=test

เบšเปเปˆเบฅเบงเบกเบ—เบธเบเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™:

--exclude=~test

เบšเปเปˆเบฅเบงเบกเบ—เบธเบเบฅเบฒเบเบเบฒเบ™เปƒเบ™ schema 'pg_catalog':

--exclude='pg_catalog.'

เบšเปเปˆเบฅเบงเบกเบ—เบธเบเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ 'ace', เปเบ•เปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฒเบเบเบฒเบ™ 'faceoff':

--exclude=~ace --include=faceoff

เบšเปเปˆเบฅเบงเบกเบ—เบธเบเบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ 'pg_', เป€เบŠเบดเปˆเบ‡เบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ 'slon' เบซเบผเบท
เป€เบŠเบดเปˆเบ‡เบกเบตเบŠเบทเปˆเบงเปˆเบฒ 'sql_settings' เบซเบผเบท 'เบชเบตเบ‚เบฝเบง'. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™
'prod' เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆ 'pg_relname' เบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ:

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

เบœเบนเป‰เปƒเบŠเป‰ NAME เบเบฒเบ™เบเบทเปˆเบ™


เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --includeuser เปเบฅเบฐ --excludeuser เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เบงเบฑเบ”เบ–เบธเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบ (เบซเบผเบทเบšเปเปˆเป„เบ”เป‰เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡) เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบœเบนเป‰เปƒเบŠเป‰. เบญเบฑเบ™ --includeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ
trumps เบชเบฐเป€เบซเบกเบต --excludeuser เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เปเบ•เปˆเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบผเบฒเบเบเปˆเบงเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบš
เบœเบนเป‰เปƒเบŠเป‰เบซเบผเบฒเบเบ„เบปเบ™, เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเปเบเบเบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”. เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™:

database_size
last_analyze
last_autoanalyze
Last_vacuum
last_autovacuum
query_time
relation_size
txn_time

เบ•เบปเบงเบขเปˆเบฒเบ‡:

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบŠเบทเปˆ greg:

--includeuser=greg

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบ watson เบซเบผเบท crick:

--includeuser=watson,เบ„เบผเบดเบ

เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป‚เบ”เบ crick, franklin, watson, เบซเบผเบท wilkins:

--includeuser=watson --includeuser=franklin --includeuser=crick,wilkins

เบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเบปเบเป€เบงเบฑเป‰เบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ scott:

--excludeuser=scott

TEST MODE


เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†, เป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™ "เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš" เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธ
--เบ—เบปเบ”เบชเบญเบš เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ™เบตเป‰เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™
เบ•เบดเบ”โ€‹เบ•เปเปˆโ€‹เบžเบปเบงโ€‹เบžเบฑเบ™โ€‹, เปเบฅเบฐโ€‹เบงเปˆเบฒโ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบฒเบ‡โ€‹เบชเปˆเบงเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹, เป€เบŠเบฑเปˆเบ™โ€‹: เบšเปเปˆโ€‹เบงเปˆเบฒโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹
superuser, เบ–เป‰เบฒเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Postgres เปเบกเปˆเบ™เปƒเบซเบกเปˆเบžเบฝเบ‡เบžเป, เปเบฅเบฐเบ–เป‰เบฒ stats_row_level เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.

เปƒเบŠเป‰ check_postgres_database_sizep เบญเบญเบ™เบฅเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™ onworks.net


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

  • 1
    เบŠเบฑเป‰เบ™เบซเป‰เบญเบ‡เบเบฒเบ™
    เบŠเบฑเป‰เบ™เบซเป‰เบญเบ‡เบเบฒเบ™
    OfficeFloor เปƒเบซเป‰ inversion เบ‚เบญเบ‡
    เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบก couplingโ€‹, เบกเบตโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹: - เบ‚เบถเป‰เบ™โ€‹เบเบฑเบšโ€‹
    เบเบฒเบ™เบชเบฑเบเบขเบฒ - เบเบฒเบ™เบชเบฑเบเบขเบฒเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ -
    เบเบฒเบ™เบชเบตเบ” thread เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
    เบขเป‰เบฝเบกเบขเบฒเบก ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” OfficeFloor
  • 2
    DivKit
    DivKit
    DivKit เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ” Server-Driven
    เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบเบฒเบ™ UI (SDUI). เบกเบฑเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™
    เป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ—เบตเปˆเบกเบฒเบˆเบฒเบเป€เบŠเบตเบšเป€เบงเบตเป€เบžเบทเปˆเบญ
    เบชเบฐโ€‹เบšเบฑเบš app เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™
    เปƒเบŠเป‰เป€เบžเบทเปˆเบญ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” DivKit
  • 3
    เบ•เบปเบงเบ›เปˆเบฝเบ™เบเปˆเบญเบ
    เบ•เบปเบงเบ›เปˆเบฝเบ™เบเปˆเบญเบ
    เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เปเบ›เบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เปˆเบฒเบ‡เป†
    เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบชเบฐเบซเบกเบฑเบ. เบœเบนเป‰เปƒเบŠเป‰ Shadowrocket
    เบ„เบงเบ™เปƒเบŠเป‰ ss, ssr เบซเบผเบท v2ray เป€เบ›เบฑเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบ.
    เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบก &remark= เปƒเบชเปˆ
    Telegram-like HT...
    เบ”เบฒเบงเป‚เบซเบฅเบ”เบ•เบปเบงเปเบ›เบ‡เบชเบฑเบ™เบเบฒเบ™เบเปˆเบญเบ
  • 4
    เบŠเบฑเบ
    เบŠเบฑเบ
    SWASH เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบปเปˆเบงเป„เบ›
    เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹เบšเปเปˆโ€‹เบชเบฐโ€‹เบซเบกเปเปˆเบฒโ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹,
    เบšเปเปˆ hydrostatic, เบšเปเปˆเบกเบตเบžเบทเป‰เบ™เบœเบดเบง,
    เบ›เบฐเบเบปเบ”เบเบฒเบ™เป„เบซเบผเบงเบฝเบ™ เปเบฅเบฐเบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡
    เปƒเบ™โ€‹เบ™โ€‹เป‰โ€‹เปโ€‹เบฒ coastal เป€เบ›เบฑเบ™ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” SWASH
  • 5
    VBA-M (เป€เบเบฑเบšเป„เบงเป‰ - เบ•เบญเบ™เบ™เบตเป‰เบขเบนเปˆเปƒเบ™ Github)
    VBA-M (เป€เบเบฑเบšเป„เบงเป‰ - เบ•เบญเบ™เบ™เบตเป‰เบขเบนเปˆเปƒเบ™ Github)
    เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบเป‰เบฒเบเป„เบ›
    https://github.com/visualboyadvance-m/visualboyadvance-m
    เบ„เบธเบ™โ€‹เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐ: Cheat creationsave statesmulti
    เบฅเบฐเบšเบปเบš, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ gba, gbc, gb, sgb,
    sgb2Tu...
    เบ”เบฒเบงเป‚เบซเบฅเบ” VBA-M (เป€เบเบฑเบšเป„เบงเป‰ - เบ•เบญเบ™เบ™เบตเป‰เบขเบนเปˆเปƒเบ™ Github)
  • 6
    Stacer
    Stacer
    Linux System Optimizer เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก
    Github Repository:
    https://github.com/oguzhaninan/Stacer.
    เบœเบนเป‰เบŠเบปเบก: เบœเบนเป‰เปƒเบŠเป‰เบชเบธเบ”เบ—เป‰เบฒเบ/เป€เบ”เบฑเบชเบ—เบฑเบญเบš. เบœเบนเป‰เปƒเบŠเป‰
    เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš: Qt. เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก La...
    เบ”เบฒเบงเป‚เบซเบฅเบ” Stacer
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Linux เบ„เบณ เบชเบฑเปˆเบ‡

Ad