ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

check_postgres_table_sizep - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ check_postgres_table_sizep ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ check_postgres_table_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_table_sizep ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    ເຟດ
    ເຟດ
    Phaser ເປັນການເປີດໄວ, ຟຣີ, ແລະມ່ວນຊື່ນ
    ແຫຼ່ງ HTML5 ກອບເກມທີ່ສະເຫນີ
    WebGL ແລະ Canvas rendering ທົ່ວ
    desktop ແລະຕົວທ່ອງເວັບມືຖື. ເກມ
    ສາມາດຮ່ວມ...
    ດາວໂຫລດ Phaser
  • 2
    ເຄື່ອງຈັກ VASSAL
    ເຄື່ອງຈັກ VASSAL
    VASSAL ແມ່ນເຄື່ອງຈັກເກມສໍາລັບການສ້າງ
    ສະບັບເອເລັກໂຕຣນິກຂອງກະດານພື້ນເມືອງ
    ແລະເກມບັດ. ມັນສະຫນອງການສະຫນັບສະຫນູນສໍາລັບ
    ການສະແດງຊິ້ນສ່ວນເກມແລະການໂຕ້ຕອບ,
    ແລະ ...
    ດາວໂຫລດ VASSAL Engine
  • 3
    OpenPDF - ສ້ອມຂອງ iText
    OpenPDF - ສ້ອມຂອງ iText
    OpenPDF ແມ່ນຫ້ອງສະຫມຸດ Java ສໍາລັບການສ້າງ
    ແລະແກ້ໄຂໄຟລ໌ PDF ດ້ວຍ LGPL ແລະ
    ໃບອະນຸຍາດແຫຼ່ງເປີດ MPL. OpenPDF ແມ່ນ​
    LGPL/MPL open source ຜູ້ສືບທອດ iText,
    a
    ດາວໂຫລດ OpenPDF - Fork ຂອງ iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - ລະບົບສໍາລັບການອັດຕະໂນມັດ
    Geoscientific Analyzes - ແມ່ນພູມສາດ
    ຊອບແວລະບົບຂໍ້ມູນຂ່າວສານ (GIS) ກັບ
    ຄວາມສາມາດອັນຍິ່ງໃຫຍ່ສໍາລັບ geodata
    ການປຸງແຕ່ງ ແລະ ana...
    ດາວໂຫລດ SAGA GIS
  • 5
    ກ່ອງເຄື່ອງມືສໍາລັບ Java/JTOPen
    ກ່ອງເຄື່ອງມືສໍາລັບ Java/JTOPen
    IBM Toolbox ສໍາລັບ Java / JTOPen ແມ່ນ a
    ຫ້ອງສະຫມຸດຂອງຫ້ອງຮຽນ Java ສະຫນັບສະຫນູນ
    ໂປຣແກຣມລູກຄ້າ/ເຊີບເວີ ແລະອິນເຕີເນັດ
    ແບບຈໍາລອງກັບລະບົບທີ່ແລ່ນ OS/400,
    i5/OS, o...
    ດາວໂຫລດ Toolbox ສໍາລັບ Java/JTOPen
  • 6
    D3.js
    D3.js
    D3.js (ຫຼື D3 ສໍາລັບເອກະສານທີ່ຂັບເຄື່ອນດ້ວຍຂໍ້ມູນ)
    ເປັນຫ້ອງສະຫມຸດ JavaScript ທີ່ອະນຸຍາດໃຫ້ທ່ານ
    ເພື່ອຜະລິດຂໍ້ມູນແບບເຄື່ອນໄຫວ, ການໂຕ້ຕອບ
    ການສະແດງພາບໃນຕົວທ່ອງເວັບ. ດ້ວຍ D3
    ເຈົ້າ ...
    ດາວໂຫລດ D3.js
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

  • 1
    Abidiff
    Abidiff
    abidiff - ປຽບທຽບ ABIs ຂອງໄຟລ໌ ELF
    abidiff ປຽບທຽບ Application Binary
    ການໂຕ້ຕອບ (ABI) ຂອງສອງຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນ
    ໃນຮູບແບບ ELF. ມັນ​ອອກ​ຄວາມ​ຫມາຍ​
    ລາຍງານ...
    ແລ່ນ abidiff
  • 2
    abidw
    abidw
    abidw - serialize ABI ຂອງ ELF ໄດ້
    file abidw ອ່ານຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນໃນ ELF
    ຮູບແບບແລະປ່ອຍຕົວສະແດງ XML
    ABI ຂອງ​ຕົນ​ກັບ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​. ໄດ້
    ປ່ອຍອອກມາ...
    ແລ່ນ abidw
  • 3
    copac2xml
    copac2xml
    bibutils - ການ​ປ່ຽນ​ແປງ​ບັນ​ນາ​ທິ​ການ​
    ເຄື່ອງໃຊ້ສອຍ...
    ແລ່ນ copac2xml
  • 4
    ຕຳຫຼວດ
    ຕຳຫຼວດ
    copt - SYSNOPIS optimizer:
    copt file.. DESCRIPTION: copt is a
    ເຄື່ອງມືເພີ່ມປະສິດທິພາບ pephole ທົ່ວໄປ. ມັນ
    ອ່ານລະຫັດຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານຂອງມັນ ແລະ
    ຂຽນ...
    ແລ່ນ copt
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - ລວບລວມຫົວຂໍ້
    ປະກາດຈາກເອກະສານ Stx ...
    ແລ່ນ collect_stx_titles
  • 6
    gatling-bench
    gatling-bench
    bench - http benchmark ...
    ແລ່ນ gatling-bench
  • ເພີ່ມເຕີມ »

Ad