InggrisPerancisSpanyol

Ad


favorit OnWorks

check_postgres_sequencep - Online di Cloud

Jalankan check_postgres_sequencep di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah check_postgres_sequencep yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa stasiun kerja online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


check_postgres - skrip pemantauan Postgres untuk Nagios, MRTG, Cacti, dan lainnya

Dokumen ini menjelaskan check_postgres versi 2.22.0

RINGKASAN


## Buat semua symlink
check_postgres --symlink

## Periksa koneksi ke database Postgres 'pluto':
check_postgres --action=koneksi --db=pluto

## Hal yang sama, tetapi menggunakan symlink
check_postgres_connection --db=pluto

## Peringatkan jika > 100 kunci, kritis jika > 200, atau > 20 eksklusif
check_postgres_locks --warning=100 --critical="total=200:exclusive=20"

## Tampilkan jumlah koneksi idle saat ini pada port 6543:
check_postgres_txn_idle --port=6543 --output=sederhana

## Ada banyak tindakan dan opsi lain, silakan terus membaca.

Berita dan dokumentasi terbaru selalu dapat ditemukan di:
http://bucardo.org/check_postgres/

DESKRIPSI


check_postgres adalah skrip Perl yang menjalankan banyak tes berbeda terhadap satu atau lebih
database Postgres. Ia menggunakan program psql untuk mengumpulkan informasi, dan mengeluarkan
menghasilkan salah satu dari tiga format: Nagios, MRTG, atau sederhana.

Keluaran Mode
Output dapat diubah dengan menggunakan opsi "--output". Output defaultnya adalah nagios,
meskipun ini dapat diubah di bagian atas skrip jika Anda mau. Opsi saat ini
pilihan adalah nagios, mrtg, dan sederhana. Untuk menghindari keharusan memasukkan argumen keluaran masing-masing
waktu, jenis output secara otomatis diatur jika tidak ada argumen --output yang diberikan, dan jika
direktori saat ini memiliki salah satu opsi keluaran dalam namanya. Misalnya, membuat
direktori bernama mrtg dan mengisinya dengan symlink melalui --symlink argumen akan
memastikan bahwa tindakan apa pun yang dijalankan dari direktori itu akan selalu default ke output "mrtg"
Sebagai jalan pintas untuk --output=simple, Anda dapat memasukkan --simple, yang juga menimpa
trik penamaan direktori.

nagios keluaran

Format output default adalah untuk Nagios, yang merupakan satu baris informasi, bersama dengan
empat kode keluar tertentu:

0 (Oke)
1 (PERINGATAN)
2 (KRITIS)
3 (TIDAK DIKETAHUI)

Baris keluaran adalah salah satu kata di atas, titik dua, dan kemudian deskripsi singkat tentang apa
diukur. Informasi statistik tambahan, serta total waktu perintah
diambil, dapat menjadi keluaran juga: lihat dokumentasi pada argumen --pertunjukan,
--sempurna, dan --waktu pertunjukan.

MRTG keluaran

Keluaran MRTG adalah empat jalur, dengan jalur pertama selalu memberikan satu nomor
pentingnya. Bila memungkinkan, angka ini mewakili nilai aktual seperti sejumlah
byte, tetapi mungkin juga 1 atau 0 untuk tindakan yang hanya mengembalikan "benar" atau "salah", seperti
sebagai check_postgres_version. Baris kedua adalah stat tambahan dan hanya digunakan untuk
beberapa tindakan. Baris ketiga menunjukkan "waktu aktif" dan tidak digunakan. Baris keempat adalah
deskripsi dan biasanya menunjukkan nama database stat dari baris pertama
ditarik dari, tetapi mungkin berbeda tergantung pada tindakan.

Beberapa tindakan menerima opsional --mrtg argumen untuk lebih mengontrol output.

Lihat dokumentasi pada setiap tindakan untuk perincian tentang keluaran MRTG yang tepat untuk masing-masing tindakan.

Sederhana keluaran

Output sederhana hanyalah versi terpotong dari MRTG, dan hanya mengembalikan
nomor pertama dan tidak ada yang lain. Ini sangat berguna ketika Anda hanya ingin memeriksa keadaan
sesuatu, terlepas dari ambang batas apapun. Anda dapat mengubah output numerik dengan
menambahkan KB, MB, GB, TB, atau EB ke argumen output, misalnya:

--output=sederhana,MB

Cacti keluaran

Output Cacti terdiri dari satu atau lebih item pada baris yang sama, dengan nama sederhana, a
titik dua, dan kemudian angka. Saat ini, satu-satunya tindakan dengan output Cacti eksplisit adalah
'dbstats', dan menggunakan opsi --output tidak diperlukan dalam kasus ini, karena Cacti adalah satu-satunya
keluaran untuk tindakan ini. Untuk banyak tindakan lain, menggunakan --simple sudah cukup untuk membuat Cacti
bahagia.

DATABASE KONEKSI PILIHAN


Semua tindakan menerima serangkaian opsi basis data yang umum.

-H NAMA or --host=NAMA
Hubungkan ke host yang ditunjukkan oleh NAME. Dapat berupa daftar nama yang dipisahkan koma.
Beberapa argumen host diperbolehkan. Jika tidak ada host yang diberikan, default ke "PGHOST"
variabel lingkungan atau tidak ada host sama sekali (yang menunjukkan menggunakan soket Unix lokal).
Anda juga dapat menggunakan "--dbhost".

-p PORT or --port=PELABUHAN
Menghubungkan menggunakan nomor PORT yang ditentukan. Dapat berupa daftar port yang dipisahkan koma
nomor, dan beberapa argumen port diperbolehkan. Jika tidak ada nomor port yang diberikan, default
ke variabel lingkungan "PGPORT". Jika tidak disetel, defaultnya adalah 5432. Anda dapat
juga menggunakan "--dbport"

-db NAMA or --dbnama=NAMA
Menentukan database mana yang akan disambungkan. Dapat berupa daftar nama yang dipisahkan koma, dan
beberapa argumen dbname diperbolehkan. Jika tidak ada opsi dbname yang disediakan, defaultnya adalah
variabel lingkungan "PGDATABASE". Jika itu tidak disetel, defaultnya adalah 'postgres'
jika psql adalah versi 8 atau lebih tinggi, dan 'template1' sebaliknya.

-u USERNAME or --dbuser=NAMA PENGGUNA
Nama pengguna database yang akan dihubungkan sebagai. Dapat berupa daftar yang dipisahkan koma dari
nama pengguna, dan beberapa argumen dbuser diperbolehkan. Jika ini tidak disediakan, itu
default ke variabel lingkungan "PGUSER", jika tidak default ke 'postgres'.

--dbpass=KATA SANDI
Memberikan kata sandi untuk terhubung ke database. Penggunaan opsi ini sangat
patah semangat. Sebagai gantinya, seseorang harus menggunakan file .pgpass atau pg_service.conf.

--dbservice=NAMA
Nama layanan di dalam file pg_service.conf. Sebelum versi 9.0 dari
Postgres, ini adalah file global, biasanya ditemukan di /etc/pg_service.conf. Jika Anda
menggunakan Postgres versi 9.0 atau lebih tinggi, Anda dapat menggunakan file ".pg_service.conf" di
direktori home dari pengguna yang menjalankan skrip, misalnya nagios.

File ini berisi daftar sederhana opsi koneksi. Anda juga dapat melewati tambahan
informasi saat menggunakan opsi ini seperti --dbservice="maindatabase sslmode=require"

Dokumentasi untuk file ini dapat ditemukan di
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

Opsi koneksi database dapat dikelompokkan: --tuan rumah=a,b --tuan rumah=c --pelabuhan=1234
--pelabuhan=3344 akan terhubung ke a-1234, b-1234, dan c-3344. Perhatikan bahwa setelah disetel, sebuah opsi
terbawa sampai diubah lagi.

contoh:

--Host=a,b --port=5433 --db=c
Menghubungkan dua kali ke port 5433, menggunakan database c, ke host a dan b: a-5433-c b-5433-c

--Host=a,b --port=5433 --db=c,d
Menghubungkan empat kali: a-5433-c a-5433-d b-5433-c b-5433-d

--host=a,b --host=foo --port=1234 --port=5433 --db=e,f
Menghubungkan enam kali: 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
Menghubungkan tiga kali: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice="foo" --port=5433
Menghubungkan menggunakan layanan bernama 'foo' di file pg_service.conf, tetapi menimpa port

LAIN PILIHAN


Pilihan lain termasuk:

--aksi=NAMA
Menyatakan tindakan apa yang sedang kita jalankan. Diperlukan kecuali menggunakan file symlink, di mana
kasus nama file yang digunakan untuk mencari tahu tindakan.

--peringatan=VAL or -w VAL
Menetapkan ambang batas di mana peringatan peringatan diaktifkan. Opsi yang valid untuk ini
pilihan tergantung pada tindakan yang digunakan.

--kritis=VAL or -c VAL
Menetapkan ambang batas di mana peringatan kritis diaktifkan. Opsi yang valid untuk ini
pilihan tergantung pada tindakan yang digunakan.

-t VAL or --waktu habis=VAL
Setel batas waktu dalam hitungan detik setelah itu skrip akan membatalkan apa pun yang dilakukannya dan
mengembalikan status UNKNOWN. Batas waktu adalah per cluster Postgres, bukan untuk keseluruhan
naskah. Nilai defaultnya adalah 10; unit selalu dalam hitungan detik.

--anggap-siaga-mode
Jika ditentukan, pertama periksa apakah server dalam mode siaga akan dilakukan (--datadir
diperlukan), jika demikian, semua pemeriksaan yang memerlukan kueri SQL akan diabaikan dan "Server
dalam mode siaga" dengan status OK akan dikembalikan sebagai gantinya.

Contoh:

postgres@db$./check_postgres --action=version --warning=8.1 --datadir /var/lib/postgresql/8.3/main/ --assume-standby-mode
POSTGRES_VERSION OK: Server dalam mode siaga | waktu = 0.00

--asumsikan-produk
Jika ditentukan, periksa apakah server dalam mode produksi dilakukan (--datadir diperlukan).
Opsi ini hanya relevan untuk ("symlink: check_postgres_checkpoint").

Contoh:

postgres@db$./check_postgres --action=checkpoint --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT Oke: Pos pemeriksaan terakhir adalah 72 detik yang lalu | usia=72;;300 mode=MASTER

-h or --membantu
Menampilkan layar bantuan dengan ringkasan semua tindakan dan opsi.

--pria
Menampilkan seluruh manual.

-V or --Versi: kapan
Menampilkan versi saat ini.

-v or --bertele-tele
Mengatur tingkat verbositas. Dapat menelepon lebih dari sekali untuk meningkatkan level. Mengaturnya ke
tiga atau lebih tinggi (dengan kata lain, mengeluarkan "-v -v -v") mengaktifkan informasi debug
untuk program ini yang dikirim ke stderr.

--pertunjukan=VAL
Menentukan apakah kita mengeluarkan data kinerja tambahan dalam format standar Nagios (di akhir
string, setelah simbol pipa, menggunakan nama=nilai). VAL harus 0 atau 1. Standarnya
adalah 1. Hanya berlaku jika menggunakan mode keluaran Nagios.

--perflimit=i
Menetapkan batas berapa banyak item menarik yang dilaporkan kembali saat menggunakan
pamer pilihan. Ini hanya memiliki efek untuk tindakan yang mengembalikan sejumlah besar
item, seperti tabel_ukuran. Standarnya adalah 0, atau tanpa batas. Hati-hati saat menggunakan ini
pada pengatur terkenal. Pengatur ini menawarkan bantuan hukum kepada traderapabila trader berselisih dengan broker yang terdaftar dengan mereka. --termasuk or --mengecualikan pilihan, karena pembatasan itu dilakukan setelah itu
kueri telah dijalankan, dan dengan demikian batas Anda mungkin tidak menyertakan item yang Anda inginkan. Hanya membutuhkan
efek jika menggunakan mode keluaran Nagios.

--waktu tayang=VAL
Menentukan apakah waktu yang dibutuhkan untuk menjalankan setiap kueri ditampilkan dalam output. VAL harus 0
atau 1. Standarnya adalah 1. Tidak ada efek kecuali pamer aktif. Hanya berlaku jika menggunakan
Mode keluaran nagios.

--tes
Mengaktifkan mode uji. Lihat bagian "TEST MODE" di bawah ini.

--PGINDIR=JALAN
Memberi tahu skrip di mana menemukan binari psql. Berguna jika Anda memiliki lebih dari satu
versi executable PostgreSQL di sistem Anda, atau jika tidak ada di
jalur. Perhatikan bahwa opsi ini dalam huruf besar semua. Secara default, opsi ini adalah tidak
diizinkan. Untuk mengaktifkannya, Anda harus mengubah $NO_PSQL_OPTION di dekat bagian atas skrip
ke 0. Hindari menggunakan opsi ini jika Anda bisa, dan sebagai gantinya gunakan variabel lingkungan
C atau variabel $PGBINDIR hard-coded, juga di dekat bagian atas skrip, untuk disetel
jalur ke PostgreSQL untuk digunakan.

--PSQL=JALAN
(tidak digunakan lagi, ini Option mungkin be dihapus in a masa depan melepaskan!) Memberitahu skrip di mana
untuk menemukan program psql. Berguna jika Anda memiliki lebih dari satu versi psql
dapat dieksekusi di sistem Anda, atau jika tidak ada program psql di jalur Anda. Perhatikan bahwa ini
pilihan dalam huruf besar semua. Secara default, opsi ini adalah tidak diizinkan. Untuk mengaktifkannya, Anda
harus mengubah $NO_PSQL_OPTION di dekat bagian atas skrip menjadi 0. Hindari menggunakan ini
opsi jika Anda bisa, dan alih-alih membuat kode lokasi psql Anda ke dalam variabel $PSQL,
juga di dekat bagian atas skrip.

--symlink
Membuat symlink ke program utama untuk setiap tindakan.

--keluaran=VAL
Menentukan format output, untuk digunakan dalam berbagai program. Standarnya adalah
'nagio'. Pilihan yang tersedia adalah 'nagios', 'mrtg', 'simple' dan 'cacti'.

--mrtg=VAL
Digunakan hanya untuk MRTG atau output sederhana, untuk beberapa tindakan tertentu.

--keluaran debug=VAL
Menampilkan string persis yang dikembalikan oleh psql, untuk digunakan dalam debugging. Nilainya satu atau
lebih banyak huruf, yang menentukan apakah output ditampilkan atau tidak, di mana 'a' = semua, 'c'
= kritis, 'w' = peringatan, 'o' = ok, dan 'u' = tidak diketahui. Huruf dapat digabungkan.

--get_method=VAL
Mengizinkan spesifikasi metode yang digunakan untuk mengambil informasi untuk "new_version_cp",
"new_version_pg", "new_version_bc", "new_version_box", dan "new_version_tnm" centang.
Program berikut dicoba, untuk mengambil informasi dari web: GET,
wget, ambil, ikal, lynx, tautan. Untuk memaksa penggunaan hanya satu (dan dengan demikian menghapus
overhead mencoba semua yang lain sampai salah satu bekerja), masukkan salah satu nama sebagai
argumen ke get_method. Misalnya, kotak BSD mungkin memasukkan baris berikut di:
file ".check_postgresrc" mereka:

get_method=ambil

--bahasa=VAL
Atur bahasa yang akan digunakan untuk semua pesan keluaran. Biasanya, ini terdeteksi oleh
memeriksa variabel lingkungan LC_ALL, LC_MESSAGES, dan LANG, tetapi mengatur ini
pilihan akan menimpa deteksi tersebut.

TINDAKAN


Script menjalankan satu atau lebih tindakan. Ini dapat dilakukan dengan flag --action, atau dengan
menggunakan symlink ke file utama yang berisi nama tindakan di dalamnya. Untuk
misalnya, untuk menjalankan tindakan "timesync", Anda dapat mengeluarkan:

check_postgres --action=sinkronisasi waktu

atau gunakan program bernama:

check_postgres_timesync

Semua symlink dibuat untuk Anda di direktori saat ini jika menggunakan opsi --symlinks

perl check_postgres --symlinks

Jika nama file sudah ada, itu tidak akan ditimpa. Jika file tersebut ada dan a
symlink, Anda dapat memaksanya untuk menimpa dengan menggunakan "--action=build_symlinks_force"

Sebagian besar tindakan mengambil --peringatan dan --kritis opsi, menunjukkan pada titik mana kita berubah
dari OK ke PERINGATAN, dan poin apa yang kita tuju ke CRITICAL. Perhatikan bahwa karena kritis adalah
selalu diperiksa terlebih dahulu, menyetel peringatan sama dengan kritis adalah cara yang efektif untuk
matikan peringatan dan selalu berikan kritik.

Tindakan yang didukung saat ini adalah:

arsip_siap
("symlink: check_postgres_archive_ready") Memeriksa berapa banyak file WAL dengan ekstensi .siap
ada di pg_xlog/arsip_status direktori, yang ditemukan dari . Anda data_direktori.
Tindakan ini harus dijalankan sebagai pengguna super, untuk mengakses konten
pg_xlog/arsip_status direktori. Versi minimum untuk menggunakan tindakan ini adalah Postgres 8.1.
Grafik --peringatan dan --kritis pilihan hanyalah jumlah .siap file di
pg_xlog/arsip_status direktori. Biasanya, nilai-nilai ini harus rendah, menyalakan
mekanisme arsip, kami biasanya ingin mengarsipkan file WAL secepat mungkin.

Jika perintah arsip gagal, jumlah WAL di . Anda hal_xlog direktori akan tumbuh sampai
menghabiskan semua ruang disk dan memaksa PostgreSQL untuk segera berhenti.

Contoh 1: Periksa apakah jumlah file WAL yang siap adalah 10 atau kurang pada host "pluto"

check_postgres_archive_ready --Host=pluto --kritis=10

Untuk keluaran MRTG, laporkan jumlah file WAL yang siap pada baris 1.

autovac_freeze
("symlink: check_postgres_autovac_freeze") Memeriksa seberapa dekat setiap database dengan
postgres autovacuum_freeze_max_age pengaturan. Tindakan ini hanya akan berfungsi untuk database
versi 8.2 atau lebih tinggi. NS --peringatan dan --kritis pilihan harus dinyatakan sebagai
persentase. 'Usia' transaksi di setiap database dibandingkan dengan
pengaturan autovacuum_freeze_max_age (200 juta secara default) untuk menghasilkan bulat
persentase. Nilai defaultnya adalah 90% untuk peringatan dan 95% untuk yang kritis. Database
dapat disaring dengan menggunakan --termasuk dan --mengecualikan pilihan. Lihat "PENYARINGAN DASAR"
bagian untuk lebih jelasnya.

Contoh 1: Beri peringatan jika ada database pada port 5432 yang berada di atas 97%

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

Untuk keluaran MRTG, persentase keseluruhan tertinggi dilaporkan pada baris pertama, dan
usia tertinggi dilaporkan pada baris kedua. Semua database yang memiliki persentase dari
baris pertama dilaporkan pada baris keempat, dipisahkan oleh simbol pipa.

backends
("symlink: check_postgres_backends") Memeriksa jumlah koneksi saat ini untuk satu atau
lebih banyak basis data, dan secara opsional membandingkannya dengan maksimum yang diizinkan, yang ditentukan oleh
variabel konfigurasi Postgres max_connections. itu --peringatan dan --kritis Pilihan
dapat mengambil salah satu dari tiga bentuk. Pertama, nomor sederhana dapat diberikan, yang mewakili
jumlah koneksi di mana peringatan akan diberikan. Pilihan ini tidak menggunakan
max_connections pengaturan. Kedua, persentase koneksi yang tersedia dapat diberikan.
Ketiga, angka negatif dapat diberikan yang mewakili jumlah koneksi yang tersisa
sampai max_connections tercapai. Nilai default untuk --peringatan dan --kritis adalah
'90%' dan '95%'. Anda juga dapat memfilter database dengan menggunakan --termasuk dan --mengecualikan
pilihan. Lihat bagian "PENYARINGAN DASAR" untuk detail selengkapnya.

Untuk melihat hanya proses yang tidak menganggur, Anda dapat menggunakan --noidle argumen. Perhatikan bahwa pengguna Anda
terhubung karena harus menjadi pengguna super agar ini berfungsi dengan baik.

Contoh 1: Beri peringatan ketika jumlah koneksi pada host quirm mencapai 120, dan a
kritis jika mencapai 150.

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

Contoh 2: Berikan kritik ketika kami mencapai 75% dari pengaturan max_connections kami di host
lancre atau lancre2.

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

Contoh 3: Beri peringatan ketika hanya ada 10 slot koneksi tersisa di host
plasmid, dan kritis ketika kita hanya memiliki 5 yang tersisa.

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

Contoh 4: Periksa semua database kecuali yang memiliki "test" di namanya, tetapi izinkan yang
diberi nama "pg_greatest". Hubungkan sebagai port 5432 pada dua host pertama, dan sebagai port 5433 pada
yang ketiga. Kami ingin selalu melontarkan kritik ketika kami mencapai 30 koneksi atau lebih.

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

Untuk keluaran MRTG, jumlah koneksi dilaporkan pada baris pertama, dan baris keempat
baris memberikan nama database, ditambah maximum_connections saat ini. Jika lebih dari
satu database telah ditanyakan, yang dengan jumlah koneksi tertinggi adalah output.

mengasapi
("symlink: check_postgres_bloat") Memeriksa jumlah bloat dalam tabel dan indeks. (Mengasapi
umumnya jumlah ruang mati yang tidak terpakai yang diambil dalam tabel atau indeks. Ruang ini adalah
biasanya direklamasi dengan menggunakan perintah VACUUM.) Tindakan ini membutuhkan statistik
koleksi diaktifkan pada database target, dan mengharuskan ANALYZE dijalankan
sering. NS --termasuk dan --mengecualikan opsi dapat digunakan untuk menyaring tabel mana yang akan
melihat. Lihat bagian "PENYARINGAN DASAR" untuk detail selengkapnya.

Grafik --peringatan dan --kritis pilihan dapat ditentukan sebagai ukuran, persen, atau keduanya. Sah
satuan ukuran adalah byte, kilobyte, megabyte, gigabyte, terabyte, exabyte, petabyte, dan
zettabyte. Anda dapat menyingkat semuanya dengan huruf pertama. Item tanpa unit adalah
diasumsikan sebagai 'byte'. Nilai default adalah '1 GB' dan '5 GB'. Nilai tersebut mewakili
jumlah "byte yang terbuang", atau perbedaan antara apa yang sebenarnya digunakan oleh tabel dan
indeks, dan apa yang kami hitung seharusnya.

Perhatikan bahwa tindakan ini memiliki dua nilai hard-code untuk menghindari alarm palsu pada yang lebih kecil
hubungan. Tabel harus memiliki setidaknya 10 halaman, dan indeks setidaknya 15, sebelum dapat
dipertimbangkan oleh tes ini. Jika Anda benar-benar ingin menyesuaikan nilai-nilai ini, Anda dapat mencari
variabel $MINPAGES dan $MINIPAGES di bagian atas subrutin "check_bloat". Ini
nilai diabaikan jika salah satu dari --mengecualikan or --termasuk digunakan.

Hanya 10 hubungan paling membengkak yang ditampilkan. Anda dapat mengubah nomor ini dengan menggunakan
--sempurna pilihan untuk mengatur batas Anda sendiri.

Skema bernama 'information_schema' dikecualikan dari pengujian ini, karena satu-satunya tabel itu
berisi kecil dan tidak berubah.

Harap dicatat bahwa nilai yang dihitung oleh tindakan ini tidak tepat, dan harus digunakan sebagai
pedoman saja. Upaya besar dilakukan untuk memperkirakan ukuran meja yang benar, tetapi dalam
akhirnya hanya perkiraan. Ukuran indeks yang benar bahkan lebih merupakan tebakan daripada
ukuran tabel yang benar, tetapi keduanya harus memberikan gambaran kasar tentang bagaimana hal-hal yang membengkak.

Contoh 1: Peringatkan jika ada tabel pada port 5432 yang membengkak lebih dari 100 MB, dan kritis jika lebih dari 200
MB

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

Contoh 2: Berikan kritik jika tabel 'pesanan' pada host 'sami' memiliki lebih dari 10 MB kembung

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

Contoh 3: Beri kritik jika tabel 'q4' pada database 'penjualan' lebih dari 50% membengkak

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

Contoh 4: Berikan kritik tabel apa pun yang kembung lebih dari 20% dan memiliki lebih dari 150 MB kembung:

check_postgres_bloat --port=5432 --critical='20% dan 150 M'

Contoh 5: Berikan kritik tabel apa pun yang kembung lebih dari 40% or memiliki lebih dari 500 MB kembung:

check_postgres_bloat --port=5432 --warning='500 M atau 40%'

Untuk keluaran MRTG, baris pertama memberikan jumlah byte terbuang tertinggi untuk tabel,
dan baris kedua memberikan jumlah byte terbuang terbanyak untuk indeks. Yang keempat
baris memberikan informasi nama database, nama tabel, dan nama indeks. Jika Anda menghendaki
output rasio mengasapi sebagai gantinya (berapa kali lebih besar hubungannya dibandingkan dengan bagaimana
besar seharusnya), cukup masukkan "--mrtg=rasio".

pos pemeriksaan
("symlink: check_postgres_checkpoint") Menentukan berapa lama sejak pos pemeriksaan terakhir
telah dijalankan. Ini harus berjalan di server yang sama dengan database yang sedang diperiksa (mis
-h bendera tidak akan berfungsi). Pemeriksaan ini dimaksudkan untuk dijalankan pada server "warm standby" yaitu
secara aktif memproses file WAL yang dikirim, dan dimaksudkan untuk memeriksa apakah siaga hangat Anda
benar-benar 'hangat'. Direktori data harus disetel, baik oleh variabel lingkungan
"PGDATA", atau meneruskan argumen "--datadir". Ini mengembalikan jumlah detik sejak
pos pemeriksaan terakhir dijalankan, sebagaimana ditentukan dengan menguraikan panggilan ke "pg_controldata". Karena
ini, pg_controldata yang dapat dieksekusi harus tersedia di jalur saat ini. Kalau tidak,
Anda dapat menentukan "PGBINDIR" sebagai direktori tempat ia tinggal. Anda juga dapat menggunakan
pilihan khusus --asumsikan-produk or --anggap-siaga-mode, jika mode yang ditemukan bukan
yang diharapkan, KRITIS dipancarkan.

Setidaknya satu peringatan atau argumen kritis harus ditetapkan.

Tindakan ini memerlukan modul Date::Parse.

Untuk MRTG atau output sederhana, mengembalikan jumlah detik.

cluster_id
("symlink: check_postgres_cluster-id") Memeriksa apakah Pengidentifikasi Sistem Basis Data disediakan
oleh pg_controldata sama seperti terakhir kali Anda memeriksa. Ini harus berjalan di server yang sama
sebagai database yang sedang diperiksa (misalnya flag -h tidak akan bekerja). Entah itu
--peringatan atau itu --kritis pilihan harus diberikan, tetapi tidak keduanya. Nilai masing-masing adalah
pengidentifikasi cluster, nilai integer. Anda dapat menjalankan dengan "--critical=0" khusus
opsi untuk mengetahui pengidentifikasi cluster yang ada.

Contoh 1: Temukan pengidentifikasi awal

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

Contoh 2: Pastikan clusternya sama dan peringatkan jika tidak, menggunakan hasil dari atas.

check_postgres_cluster_id --kritis=5633695740047915135

Untuk keluaran MRTG, mengembalikan 1 atau 0 yang menunjukkan keberhasilan kegagalan pengidentifikasi ke
cocok. Pengidentifikasi harus diberikan sebagai argumen "--mrtg". Baris keempat selalu
memberikan pengidentifikasi saat ini.

komitmen
("symlink: check_postgres_commitratio") Memeriksa rasio komit semua database dan
mengeluh ketika mereka terlalu rendah. Tidak perlu menjalankan perintah ini lebih dari sekali per
klaster basis data. Basis data dapat difilter dengan --termasuk dan --mengecualikan pilihan. Lihat
bagian "PENYARINGAN DASAR" untuk detail selengkapnya. Mereka juga dapat difilter oleh pemilik
database dengan --termasuk pengguna dan --kecualikan pengguna pilihan. Lihat "NAMA PENGGUNA
FILTERING" untuk lebih jelasnya.

Opsi peringatan dan kritis harus ditentukan sebagai persentase. Tidak ada
default untuk tindakan ini: peringatan dan kritis harus ditentukan. Nilai peringatan
tidak boleh lebih besar dari nilai kritis. Output mengembalikan semua database yang diurutkan berdasarkan
komitmen, terkecil dulu.

Contoh: Peringatkan jika ada database pada flagg host kurang dari 90% dalam commitratio, dan kritis
jika kurang dari 80%.

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

Untuk keluaran MRTG, mengembalikan persentase database dengan komitmen terkecil pada
baris pertama, dan nama database pada baris keempat.

koneksi
("symlink: check_postgres_connection") Cukup sambungkan, keluarkan 'SELECT Versi: kapan()', dan
daun-daun. Tidak perlu --peringatan or --kritis Pilihan.

Untuk keluaran MRTG, cukup keluarkan 1 (koneksi baik) atau 0 (koneksi buruk) pada yang pertama
line.

permintaan_kustom
("symlink: check_postgres_custom_query") Menjalankan kueri khusus yang Anda pilih, dan mem-parsing
hasil. Kueri itu sendiri diteruskan melalui argumen "permintaan", dan harus
disimpan sesederhana mungkin. Jika memungkinkan, bungkus dalam tampilan atau fungsi untuk disimpan
hal-hal yang lebih mudah untuk dikelola. Kueri harus mengembalikan satu atau dua kolom. Hal ini diperlukan bahwa
salah satu kolom diberi nama "hasil" dan merupakan item yang akan diperiksa terhadap Anda
peringatan dan nilai kritis. Kolom kedua adalah untuk data kinerja dan nama apa pun
dapat digunakan: ini akan menjadi 'nilai' di dalam bagian data kinerja.

Setidaknya satu peringatan atau argumen kritis harus ditentukan. Untuk apa ini diatur tergantung
pada jenis kueri yang Anda jalankan. Ada empat jenis custom_queries yang dapat
dijalankan, ditentukan oleh argumen "valtype". Jika tidak ada yang ditentukan, tindakan ini default ke
'bilangan bulat'. Keempat jenis tersebut adalah:

bilangan bulat: Apakah perbandingan bilangan bulat sederhana. Kolom pertama harus berupa bilangan bulat sederhana,
dan nilai peringatan dan kritis harus sama.

tali: Peringatan dan kritis adalah string, dan dipicu hanya jika nilai di
kolom pertama sama persis. Ini peka huruf besar-kecil.

waktu: Peringatan dan kritis adalah waktu, dan dapat memiliki satuan detik, menit,
jam, atau hari. Masing-masing dapat ditulis tunggal atau disingkat menjadi huruf pertama saja. Jika
tidak ada unit yang diberikan, detik diasumsikan. Kolom pertama harus bilangan bulat
mewakili jumlah detik untuk diperiksa.

ukuran: Peringatan dan kritis adalah ukuran, dan dapat memiliki satuan byte, kilobyte,
megabyte, gigabyte, terabyte, atau exabyte. Masing-masing dapat disingkat menjadi huruf pertama.
Jika tidak ada unit yang diberikan, byte diasumsikan. Kolom pertama harus bilangan bulat
mewakili jumlah byte yang akan diperiksa.

Biasanya, peringatan dipicu jika nilai yang dikembalikan adalah lebih besar dari atau sama dengan
nilai kritis atau peringatan. Namun, pilihan --membalikkan akan memicu peringatan jika
nilai yang dikembalikan adalah menurunkan dari atau sama dengan nilai kritis atau peringatan.

Contoh 1: Peringatkan jika ada relasi lebih dari 100 halaman bernama "rad", cantumkan jumlah halaman
di dalam bagian data kinerja.

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

Contoh 2: Berikan kritik jika fungsi "foobar" mengembalikan angka lebih dari 5MB:

check_postgres_custom_query --critical='5MB'--valtype=size --query="SELECT foobar() SEBAGAI hasil"

Contoh 2: Peringatkan jika fungsi "snazzo" mengembalikan kurang dari 42:

check_postgres_custom_query --critical=42 --query="SELECT snazzo() SEBAGAI hasil" --reverse

Jika Anda menemukan custom_query yang berguna, pertimbangkan untuk mengirimkan patch ke program ini ke
membuatnya menjadi tindakan standar yang dapat digunakan orang lain.

Tindakan ini belum mendukung MRTG atau keluaran sederhana.

ukuran_database
("symlink: check_postgres_database_size") Memeriksa ukuran semua basis data dan mengeluh
ketika mereka terlalu besar. Tidak perlu menjalankan perintah ini lebih dari sekali per database
gugus. Basis data dapat difilter dengan --termasuk dan --mengecualikan pilihan. Lihat
Bagian "PENYARINGAN DASAR" untuk detail selengkapnya. Mereka juga dapat difilter oleh pemilik
database dengan --termasuk pengguna dan --kecualikan pengguna pilihan. Lihat "PENYARINGAN NAMA PENGGUNA"
bagian untuk lebih jelasnya.

Opsi peringatan dan kritis dapat ditentukan sebagai byte, kilobyte, megabyte,
gigabyte, terabyte, atau exabyte. Masing-masing dapat disingkat menjadi huruf pertama juga.
Jika tidak ada unit yang diberikan, unit diasumsikan sebagai byte. Tidak ada default untuk ini
tindakan: peringatan dan kritis harus ditentukan. Nilai peringatan tidak boleh lebih besar
daripada nilai kritis. Output mengembalikan semua database yang diurutkan berdasarkan ukuran terbesar terlebih dahulu,
menampilkan byte mentah dan versi ukuran yang "cantik".

Contoh 1: Peringatkan jika ada basis data pada penandaan host berukuran lebih dari 1 TB, dan kritis jika lebih
1.1TB.

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

Contoh 2: Beri kritik jika database template1 pada port 5432 lebih dari 10 MB.

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

Contoh 3: Beri peringatan jika ada database pada host 'tardis' milik user 'tom' yang over
5 GB

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

Untuk keluaran MRTG, kembalikan ukuran dalam byte dari database terbesar di baris pertama, dan
nama database pada baris keempat.

dbstats
("symlink: check_postgres_dbstats") Melaporkan informasi dari tampilan pg_stat_database,
dan mengeluarkannya dengan cara yang ramah Cacti. Tidak ada output lain yang didukung, karena outputnya adalah
informasi dan tidak cocok untuk peringatan, seperti yang digunakan dengan Nagios. Jika tidak ada pilihan
diberikan, semua database dikembalikan, satu per baris. Anda dapat menyertakan database tertentu
dengan menggunakan opsi "--include", atau Anda dapat menggunakan opsi "--dbname".

Sebelas item dikembalikan pada setiap baris, dalam format name:value, dipisahkan oleh satu
ruang angkasa. Item tersebut adalah:

backends
Jumlah backend yang sedang berjalan untuk database ini.

melakukan
Jumlah total komit untuk database ini sejak dibuat atau disetel ulang.

kembalikan
Jumlah total rollback untuk database ini sejak dibuat atau disetel ulang.

Baca baca
Jumlah total blok disk yang dibaca.

hit Jumlah total hit buffer.

ret Jumlah total baris yang dikembalikan.

mengambil
Jumlah total baris yang diambil.

ins Jumlah total baris yang disisipkan.

upd Jumlah total baris yang diperbarui.

del Jumlah total baris yang dihapus.

nama db
Nama databasenya.

Perhatikan bahwa item ret, fetch, in, upd, dan del akan selalu 0 jika Postgres adalah versi 8.2
atau lebih rendah, karena statistik tersebut tidak tersedia di versi tersebut.

Jika argumen dbname diberikan, tujuh item tambahan dikembalikan:

idxscan
Jumlah total pemindaian indeks pengguna.

idxtupread
Jumlah total entri indeks pengguna yang dikembalikan.

idxtupfetch
Jumlah total baris yang diambil dengan pemindaian indeks pengguna sederhana.

idxblksread
Jumlah total blok disk yang dibaca untuk semua indeks pengguna.

idxblksshit
Jumlah total klik buffer untuk semua indeks pengguna.

seqscan
Jumlah total pemindaian berurutan terhadap semua tabel pengguna.

seqtupread
Jumlah total tupel yang dikembalikan dari semua tabel pengguna.

Contoh 1: Ambil statistik untuk database bernama "produk" di host "willow":

check_postgres_dbstats --dbhost willow --dbname produk

Output yang dikembalikan akan seperti ini (semua dalam satu baris, tidak dibungkus):

backends:82 komit:58374408 rollbacks:1651 baca:268435543 hit:2920381758 idxscan:310931294 idxtupread:2777040927
idxtupfetch:1840241349 idxblksbaca:62860110 idxblkshit:1107812216 seqscan:5085305 seqtupread:5370500520
ret:0 fetch:0 in:0 upd:0 del:0 dbname:willow

dinonaktifkan_pemicu
("symlink: check_postgres_disabled_triggers") Memeriksa jumlah pemicu yang dinonaktifkan
di dalam basis data. NS --peringatan dan --kritis pilihannya adalah jumlah pemicu tersebut
ditemukan, dan keduanya default ke "1", seperti dalam penggunaan normal memiliki pemicu yang dinonaktifkan adalah berbahaya
peristiwa. Jika database yang diperiksa adalah 8.3 atau lebih tinggi, ceknya adalah untuk jumlah
pemicu yang berada dalam status 'nonaktif' (sebagai lawan dari 'selalu' atau 'replika'). NS
output akan menampilkan nama tabel dan nama pemicu untuk setiap yang dinonaktifkan
pelatuk.

Contoh 1: Pastikan tidak ada pemicu yang dinonaktifkan

check_postgres_disabled_triggers

Untuk keluaran MRTG, mengembalikan jumlah pemicu yang dinonaktifkan pada baris pertama.

disk_space
("symlink: check_postgres_disk_space") Memeriksa ruang disk fisik yang tersedia yang digunakan oleh
Postgres. Tindakan ini mengharuskan Anda memiliki yang dapat dieksekusi "/bin/df" tersedia untuk dilaporkan
pada ukuran disk, dan itu juga perlu dijalankan sebagai pengguna super, sehingga dapat memeriksa
data_direktori pengaturan di dalam Postgres. NS --peringatan dan --kritis pilihan diberikan
baik dalam ukuran atau persentase atau keduanya. Jika menggunakan ukuran, tipe unit standar adalah
diperbolehkan: byte, kilobyte, gigabyte, megabyte, gigabyte, terabyte, atau exabyte. Setiap
dapat disingkat menjadi huruf pertama saja; tidak ada unit sama sekali menunjukkan 'byte'. NS
nilai default adalah '90%' dan '95%'.

Perintah ini memeriksa hal-hal berikut untuk menentukan semua disk fisik yang berbeda:
digunakan oleh Postgres.

data_direktori - Disk tempat direktori data utama berada.

mencatat direktori - Disk tempat file log berada.

WAL fillet direktori - Disk tempat log write-ahead berada (mis. pg_xlog yang disinkronkan)

tablespace - Setiap tablespace yang ada pada disk terpisah.

Output menunjukkan ukuran total yang digunakan dan tersedia pada setiap disk, serta
persentase, diurutkan berdasarkan persentase tertinggi hingga terendah yang digunakan. Setiap item di atas memetakan ke file
sistem: ini dapat dimasukkan atau dikecualikan. Lihat bagian "PENYARINGAN DASAR" untuk lebih lanjut
rincian.

Contoh 1: Pastikan tidak ada sistem file yang melebihi 90% untuk database pada port 5432.

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

Contoh 2: Periksa apakah semua sistem file yang dimulai dengan /dev/sda lebih kecil dari 10 GB dan
11 GB (peringatan dan kritis)

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

Contoh 4: Pastikan tidak ada sistem file yang keduanya lebih dari 50% dan memiliki lebih dari 15 GB

check_postgres_disk_space --critical='50% dan 15 GB'

Contoh 5: Keluarkan peringatan jika ada sistem file yang lebih dari 70% penuh or memiliki lebih dari 1T

check_postgres_disk_space --warning='1T atau 75'

Untuk keluaran MRTG, mengembalikan ukuran dalam byte sistem file pada baris pertama, dan
nama sistem file pada baris keempat.

fsm_pages
("symlink: check_postgres_fsm_pages") Memeriksa seberapa dekat sebuah cluster dengan Postgres
max_fsm_pages pengaturan. Tindakan ini hanya akan bekerja untuk database 8.2 atau lebih tinggi, dan itu
membutuhkan modul kontribusi pg_freespacemap dipasang. NS --peringatan dan --kritis
pilihan harus dinyatakan sebagai persentase. Jumlah halaman yang digunakan di peta ruang-bebas
ditentukan dengan melihat pg_freespacemap_relations view, dan menjalankan rumus
berdasarkan rumus yang digunakan untuk mengeluarkan slot halaman peta ruang-bebas dalam verbose vakum
memerintah. Nilai defaultnya adalah 85% untuk peringatan dan 95% untuk yang kritis.

Contoh 1: Berikan peringatan ketika cluster kami telah menggunakan 76% dari slot halaman ruang kosong,
dengan pg_freespacemap terinstal di database robert

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

Meskipun Anda harus memasukkan nama database tempat pg_freespacemap diinstal, Anda
hanya perlu menjalankan pemeriksaan ini sekali per cluster. Juga, memeriksa informasi ini memang membutuhkan
mendapatkan kunci khusus pada peta ruang-bebas, jadi sebaiknya Anda tidak menjalankan ini
periksa dengan interval pendek.

Untuk keluaran MRTG, kembalikan persentase peta ruang-bebas pada baris pertama, dan nomor
halaman yang saat ini digunakan pada baris kedua.

fsm_relations
("symlink: check_postgres_fsm_relations") Memeriksa seberapa dekat sebuah cluster dengan Postgres
max_fsm_relations pengaturan. Tindakan ini hanya akan berfungsi untuk database 8.2 atau lebih tinggi, dan
itu membutuhkan modul contrib pg_freespacemap dipasang. NS --peringatan dan --kritis
pilihan harus dinyatakan sebagai persentase. Jumlah relasi yang digunakan dalam free-
space-map ditentukan dengan melihat pg_freespacemap_relations view. Standarnya
nilai adalah 85% untuk peringatan dan 95% untuk yang kritis.

Contoh 1: Berikan peringatan ketika cluster kami telah menggunakan 80% dari hubungan ruang bebas,
dengan pg_freespacemap terinstal di database dylan

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

Meskipun Anda harus memasukkan nama database tempat pg_freespacemap diinstal, Anda
hanya perlu menjalankan pemeriksaan ini sekali per cluster. Juga, memeriksa informasi ini memang membutuhkan
mendapatkan kunci khusus pada peta ruang-bebas, jadi sebaiknya Anda tidak menjalankan ini
periksa dengan interval pendek.

Untuk keluaran MRTG, mengembalikan persentase peta ruang-bebas pada baris pertama, jumlah
relasi yang saat ini digunakan pada baris kedua.

rasio hit
("symlink: check_postgres_hitratio") Memeriksa rasio hit semua basis data dan mengeluh
ketika mereka terlalu rendah. Tidak perlu menjalankan perintah ini lebih dari sekali per database
gugus. Basis data dapat difilter dengan --termasuk dan --mengecualikan pilihan. Lihat
Bagian "PENYARINGAN DASAR" untuk detail selengkapnya. Mereka juga dapat difilter oleh pemilik
database dengan --termasuk pengguna dan --kecualikan pengguna pilihan. Lihat "PENYARINGAN NAMA PENGGUNA"
bagian untuk lebih jelasnya.

Opsi peringatan dan kritis harus ditentukan sebagai persentase. Tidak ada
default untuk tindakan ini: peringatan dan kritis harus ditentukan. Nilai peringatan
tidak boleh lebih besar dari nilai kritis. Output mengembalikan semua database yang diurutkan berdasarkan
hitratio, terkecil dulu.

Contoh: Peringatkan jika ada database pada flagg host kurang dari 90% dalam hitratio, dan kritis jika
kurang dari 80%.

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

Untuk keluaran MRTG, mengembalikan persentase database dengan rasio hit terkecil pada
baris pertama, dan nama database pada baris keempat.

penundaan_siaga_panas
("symlink: check_hot_standby_delay") Memeriksa jeda replikasi streaming dengan menghitung
delta antara posisi xlog saat ini dari server master dan lokasi pemutaran ulang a
budak yang terhubung dengannya. Server budak harus dalam mode hot_standby (misalnya hanya baca),
oleh karena itu versi minimum untuk menggunakan tindakan ini adalah Postgres 9.0. NS --peringatan dan
--kritis pilihan adalah delta antara lokasi xlog. Karena nilai-nilai ini adalah byte
offset di WAL mereka harus sesuai dengan volume transaksi yang diharapkan dari aplikasi Anda
untuk mencegah positif palsu atau negatif.

Opsi "--dbname", "--host", dan "--port" pertama, dll. dianggap sebagai master; NS
kedua milik budak.

Nilai byte harus didasarkan pada volume transaksi yang diperlukan untuk streaming
replikasi terputus dari master karena terlalu banyak lag, ditentukan oleh Postgres
variabel konfigurasi wal_keep_segments. Untuk satuan waktu, satuan yang valid adalah 'detik',
'menit', 'jam', atau 'hari'. Masing-masing dapat ditulis tunggal atau disingkat menjadi
surat pertama. Saat menentukan keduanya, dalam bentuk 'byte dan waktu', kedua syarat harus
benar untuk ambang batas yang harus dipenuhi.

Anda harus memberikan informasi tentang cara mencapai database dengan memberikan dipisahkan koma
list ke parameter --dbhost dan --dbport, seperti "--dbport=5432,5543". Jika tidak diberikan,
tindakan gagal.

Contoh 1: Memperingatkan database dengan replika lokal pada port 5433 tertinggal di setiap replay xlog
sama sekali

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

Contoh 2: Beri kritik jika transaksi terakhir yang diterima replica1 lebih dari 10
beberapa menit yang lalu

check_hot_standby_delay --dbhost=master,replica1 --critical='10 mnt'

Contoh 3: Izinkan replica1 menjadi 1 segmen WAL di belakang, jika master melihat sebentar
lebih banyak aktivitas daripada yang dapat ditangani oleh koneksi replikasi streaming, atau 10 menit di belakang,
jika master melihat sangat sedikit aktivitas dan tidak memproses transaksi apa pun, tetapi tidak
keduanya, yang akan menunjukkan masalah yang bertahan lama dengan koneksi replikasi.

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

indeks_ukuran
tabel_ukuran
relasi_ukuran
(symlink: "check_postgres_index_size", "check_postgres_table_size", dan
"check_postgres_relation_size") Tindakan tabel_ukuran dan indeks_ukuran sederhana
variasi dari relasi_ukuran tindakan, yang memeriksa hubungan yang telah tumbuh juga
besar. Relasi (dengan kata lain, tabel dan indeks) dapat difilter dengan --termasuk
dan --mengecualikan pilihan. Lihat bagian "PENYARINGAN DASAR" untuk detail selengkapnya. Hubungan bisa
juga difilter oleh pengguna yang memilikinya, dengan menggunakan --termasuk pengguna dan --kecualikan pengguna
pilihan. Lihat bagian "PENYARINGAN NAMA PENGGUNA" untuk detail selengkapnya.

Nilai untuk --peringatan dan --kritis opsi adalah ukuran file, dan mungkin memiliki unit
byte, kilobyte, megabyte, gigabyte, terabyte, atau exabyte. Masing-masing bisa disingkat
ke huruf pertama. Jika tidak ada unit yang diberikan, byte diasumsikan. Tidak ada default
nilai: baik peringatan maupun opsi kritis harus diberikan. Teks kembali menunjukkan
ukuran relasi terbesar yang ditemukan.

Jika --pertunjukan opsi diaktifkan, semua hubungan dengan ukurannya akan diberikan.
Untuk mencegah hal ini, Anda disarankan untuk mengatur --sempurna pilihan, yang akan menyebabkan
permintaan untuk melakukan "ORDER BY ukuran DESC LIMIT (perflimit)".

Contoh 1: Berikan kritik jika ada tabel yang lebih besar dari 600MB pada host burrick.

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

Contoh 2: Peringatkan jika produk tabel berukuran lebih dari 4 GB, dan berikan kritik pada 4.5 GB.

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

Contoh 3: Peringatkan jika ada indeks yang tidak dimiliki oleh postgres melebihi 500 MB.

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

Untuk keluaran MRTG, mengembalikan ukuran dalam byte dari relasi terbesar, dan nama dari
database dan relasi sebagai baris keempat.

analisis_terakhir
terakhir_vakum
analisis_otomatis terakhir
last_autovacuum
(symlink: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze", dan "check_postgres_last_autovacuum") Memeriksa berapa lama
sudah sejak vakum (atau analisis) terakhir dijalankan pada setiap tabel dalam satu atau lebih database.
Penggunaan tindakan ini mengharuskan database target adalah versi 8.3 atau lebih tinggi, atau yang
versinya adalah 8.2 dan variabel konfigurasi stats_row_level telah diaktifkan. Tabel
dapat disaring dengan --termasuk dan --mengecualikan pilihan. Lihat "PENYARINGAN DASAR"
bagian untuk lebih jelasnya. Tabel juga dapat difilter oleh pemiliknya dengan menggunakan
--termasuk pengguna dan --kecualikan pengguna pilihan. Lihat bagian "PENYARINGAN NAMA PENGGUNA" untuk lebih lanjut
rincian.

Satuan untuk --peringatan dan --kritis ditentukan sebagai waktu. Satuan yang valid adalah detik,
menit, jam, dan hari; semua bisa disingkat menjadi huruf pertama. Jika tidak ada satuan
diberikan, 'detik' diasumsikan. Nilai default adalah '1 hari' dan '2 hari'. Tolong dicatat
bahwa ada kasus di mana bidang ini tidak terisi secara otomatis. Jika pasti
tabel memberi Anda masalah, pastikan mereka memiliki baris mati untuk dikosongkan, atau hanya
mengecualikan mereka dari tes.

Skema bernama 'information_schema' dikecualikan dari pengujian ini, karena satu-satunya tabel itu
berisi kecil dan tidak berubah.

Perhatikan bahwa versi non-'otomatis' juga akan memeriksa versi otomatis. Di lain
kata-kata, menggunakan last_vacuum akan melaporkan vakum terakhir, apakah itu vakum normal,
atau yang dijalankan oleh daemon autovacuum.

Contoh 1: Peringatkan jika ada meja yang belum divakum dalam 3 hari, dan beri kritik pada a
minggu, untuk host wormwood

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

Contoh 2: Sama seperti di atas, tetapi lewati tabel milik pengguna 'eve' atau 'mallory'

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

Untuk keluaran MRTG, mengembalikan (pada baris pertama) jumlah waktu TERAKHIR dalam detik sejak a
tabel terakhir disedot atau dianalisis. Baris keempat mengembalikan nama database dan
nama meja.

pendengar
("symlink: check_postgres_listener") Konfirmasikan bahwa seseorang mendengarkan satu atau lebih
string tertentu (menggunakan sistem LISTEN/NOTIFY), dengan melihat tabel pg_listener.
Hanya satu peringatan atau kritis yang diperlukan. Formatnya adalah string sederhana yang mewakili
LISTEN target, atau karakter tilde diikuti oleh string untuk pemeriksaan ekspresi reguler.
Perhatikan bahwa pemeriksaan ini tidak akan berfungsi pada versi Postgres 9.0 atau lebih tinggi.

Contoh 1: Berikan peringatan jika tidak ada yang mendengarkan string bucardo_mcp_ping pada port
5555 dan 5556

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

Contoh 2: Beri kritik jika tidak ada permintaan LISTEN aktif yang cocok dengan 'grimm' di
basis data oskar

check_postgres_listener --db oskar --critical=~grimm

Untuk keluaran MRTG, mengembalikan 1 atau 0 pada yang pertama, yang menunjukkan keberhasilan atau kegagalan. Nama
pemberitahuan tersebut harus diberikan melalui --mrtg .

kunci
("symlink: check_postgres_locks") Periksa jumlah total kunci pada satu atau lebih
database. Tidak perlu menjalankan ini lebih dari sekali per cluster database. Database bisa
disaring dengan --termasuk dan --mengecualikan pilihan. Lihat bagian "PENYARINGAN DASAR"
lebih lanjut.

Grafik --peringatan dan --kritis opsi dapat ditentukan sebagai angka sederhana, yang mewakili
jumlah total kunci, atau mereka dapat dipecah berdasarkan jenis kunci. Nama kunci yang valid
adalah 'total', 'menunggu', atau nama jenis kunci yang digunakan oleh Postgres. Nama-nama ini adalah
peka huruf besar-kecil dan tidak memerlukan bagian "kunci" di bagian akhir, jadi eksklusif akan cocok
'Kunci Eksklusif'. Formatnya adalah nama=angka, dengan item yang berbeda dipisahkan oleh titik dua atau
titik koma (atau simbol lainnya).

Contoh 1: Peringatkan jika jumlah kunci adalah 100 atau lebih, dan kritis jika 200 atau lebih, aktif
tuan rumah garrett

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

Contoh 2: Pada artemus inang, peringatkan jika ada 200 kunci atau lebih, dan beri tanda kritis jika
lebih dari 250 total kunci ada, atau jika ada lebih dari 20 kunci eksklusif, atau jika lebih dari 5 koneksi
sedang menunggu kunci.

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

Untuk keluaran MRTG, mengembalikan jumlah kunci pada baris pertama, dan nama dari
database pada baris keempat.

file log
("symlink: check_postgres_logfile") Memastikan bahwa file log berada di lokasi yang diharapkan
dan sedang login ke. Tindakan ini mengeluarkan perintah yang melempar kesalahan pada masing-masing
database yang sedang diperiksa, dan memastikan bahwa pesan tersebut muncul di log. Ini memindai
berbagai pengaturan log_* di dalam Postgres untuk mencari tahu di mana seharusnya log berada. Jika kamu
menggunakan syslog, ia melakukan pemindaian kasar (tetapi tidak sangat mudah) dari /etc/syslog.conf.
Atau, Anda dapat memberikan nama file log dengan --file log pilihan. Ini adalah
sangat berguna jika log memiliki skema rotasi khusus yang didorong menjadi program eksternal.
Grafik --file log opsi mendukung karakter pelarian berikut: "%Y %m %d %H", yang
mewakili tahun saat ini, bulan, tanggal, dan jam masing-masing. Kesalahan selalu
dilaporkan sebagai kritis kecuali opsi peringatan telah diteruskan sebagai nilai bukan nol.
Selain penggunaan khusus itu, opsi "--warning" dan "--critical" harus tidak be
bekas.

Contoh 1: Pada port 5432, pastikan file log sedang ditulis ke file
/home/greg/pg8.2.log

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

Contoh 2: Sama seperti di atas, tetapi berikan peringatan, bukan kritik

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

Untuk keluaran MRTG, mengembalikan 1 atau 0 pada baris pertama, yang menunjukkan keberhasilan atau kegagalan. Di dalam
kasus kegagalan, baris keempat akan memberikan detail lebih lanjut tentang kegagalan yang dihadapi.

versi_baru_bc
("symlink: check_postgres_new_version_bc") Memeriksa apakah versi Bucardo yang lebih baru
program tersedia. Versi saat ini diperoleh dengan menjalankan "bucardo_ctl --version".
Jika upgrade besar tersedia, peringatan dikembalikan. Jika peningkatan revisi adalah
tersedia, kritis dikembalikan. (Bucardo adalah tuan untuk budak, dan tuan untuk menguasai
sistem replikasi untuk Postgres: lihat http://bucardo.org untuk informasi lebih lanjut). Lihat juga
informasi tentang opsi "--get_method".

kotak_versi_baru
("symlink: check_postgres_new_version_box") Memeriksa apakah versi boxinfo yang lebih baru
program tersedia. Versi saat ini diperoleh dengan menjalankan "boxinfo.pl --version".
Jika upgrade besar tersedia, peringatan dikembalikan. Jika peningkatan revisi adalah
tersedia, kritis dikembalikan. (boxinfo adalah program untuk meraih penting
informasi dari server dan memasukkannya ke dalam format HTML: lihat
http://bucardo.org/wiki/boxinfo untuk informasi lebih lanjut). Lihat juga informasi di
opsi "--get_method".

versi_baru_cp
("symlink: check_postgres_new_version_cp") Memeriksa apakah versi yang lebih baru dari program ini
(check_postgres) tersedia, dengan mengambil versi dari file teks kecil di main
halaman beranda untuk proyek tersebut. Mengembalikan peringatan jika versi yang dikembalikan tidak
cocok dengan yang Anda jalankan. Interval yang disarankan untuk diperiksa adalah sekali sehari. Lihat juga
informasi tentang opsi "--get_method".

versi_baru_pg
("symlink: check_postgres_new_version_pg") Memeriksa apakah ada revisi Postgres yang lebih baru
untuk setiap database yang terhubung. Perhatikan bahwa ini hanya memeriksa revisi, misalnya pergi dari
8.3.6 hingga 8.3.7. Revisi selalu 100% kompatibel dengan biner dan tidak melibatkan dump dan
memulihkan untuk meningkatkan. Revisi dibuat untuk mengatasi bug, jadi tingkatkan sesegera mungkin
selalu dianjurkan. Mengembalikan peringatan jika Anda tidak memiliki revisi terbaru. Dia
direkomendasikan pemeriksaan ini dijalankan setidaknya sekali sehari. Lihat juga informasi di
opsi "--get_method".

versi_baru_tnm
("symlink: check_postgres_new_version_tnm") Memeriksa apakah versi tail_n_mail yang lebih baru
program tersedia. Versi saat ini diperoleh dengan menjalankan "tail_n_mail --version".
Jika upgrade besar tersedia, peringatan dikembalikan. Jika peningkatan revisi adalah
tersedia, kritis dikembalikan. (tail_n_mail adalah alat pemantauan log yang dapat mengirim
mail ketika acara menarik muncul di log Postgres Anda. Lihat:
http://bucardo.org/wiki/Tail_n_mail untuk informasi lebih lanjut). Lihat juga informasinya di
opsi "--get_method".

pgb_pool_cl_aktif
pgb_pool_cl_menunggu
pgb_pool_sv_aktif
pgb_pool_sv_idle
pgb_pool_sv_digunakan
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxtunggu
(symlink: "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", dan "check_postgres_pgb_pool_maxwait")

Memeriksa statistik kumpulan pgbouncer. Setiap kumpulan memiliki satu set koneksi "klien",
mengacu pada koneksi dari klien eksternal, dan koneksi "server", mengacu pada
koneksi ke PostgreSQL itu sendiri. Tindakan check_postgres terkait diawali dengan "cl_"
dan "sv_", masing-masing. Koneksi klien aktif adalah koneksi yang saat ini ditautkan
dengan koneksi server aktif. Koneksi klien mungkin juga "menunggu", artinya mereka
belum dialokasikan koneksi server. Koneksi server "aktif" (tertaut
ke klien), "idle" (bersiap untuk koneksi klien untuk ditautkan), "digunakan" (hanya
tidak terhubung dari klien, dan belum kembali ke kumpulan menganggur), "diuji" (saat ini sedang
diuji) dan "login" (dalam proses masuk). Nilai maxwait menunjukkan berapa lama dalam
detik, koneksi klien yang paling lama menunggu telah menunggu.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") Memeriksa jumlah koneksi saat ini
untuk satu atau lebih database melalui pgbouncer, dan secara opsional membandingkannya secara maksimal
diperbolehkan, yang ditentukan oleh variabel konfigurasi pgbouncer max_client_conn. itu
--peringatan dan --kritis pilihan dapat mengambil salah satu dari tiga bentuk. Pertama, bilangan sederhana dapat
diberikan, yang mewakili jumlah koneksi di mana peringatan akan diberikan.
Pilihan ini tidak menggunakan max_connections pengaturan. Kedua, persentase yang tersedia
koneksi dapat diberikan. Ketiga, angka negatif dapat diberikan yang mewakili
jumlah koneksi yang tersisa sampai max_connections tercapai. Nilai default untuk
--peringatan dan --kritis adalah '90%' dan '95%'. Anda juga dapat memfilter database dengan menggunakan
itu --termasuk dan --mengecualikan pilihan. Lihat bagian "PENYARINGAN DASAR" untuk detail selengkapnya.

Untuk melihat hanya proses yang tidak menganggur, Anda dapat menggunakan --noidle argumen. Perhatikan bahwa pengguna Anda
terhubung karena harus menjadi pengguna super agar ini berfungsi dengan baik.

Contoh 1: Beri peringatan ketika jumlah koneksi pada host quirm mencapai 120, dan a
kritis jika mencapai 150.

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

Contoh 2: Berikan kritik ketika kami mencapai 75% dari pengaturan max_connections kami di host
lancre atau lancre2.

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

Contoh 3: Beri peringatan ketika hanya ada 10 slot koneksi tersisa di host
plasmid, dan kritis ketika kita hanya memiliki 5 yang tersisa.

check_postgres_pgbouncer_backends --warning=-10 --kritis=-5 --Host=plasmid -p 6432 -u pgbouncer

Untuk keluaran MRTG, jumlah koneksi dilaporkan pada baris pertama, dan baris keempat
baris memberikan nama database, ditambah max_client_conn saat ini. Jika lebih dari satu
database telah ditanyakan, yang dengan jumlah koneksi tertinggi adalah output.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") Memeriksa apakah semua pengaturan pgBouncer sudah
sama seperti terakhir kali Anda memeriksa. Ini dilakukan dengan membuat checksum dari daftar yang diurutkan
pengaturan nama dan nilainya. Perhatikan bahwa Anda tidak boleh menentukan nama database, itu
secara otomatis akan default ke pgbouncer. Entah itu --peringatan atau itu --kritis Option
harus diberikan, tetapi tidak keduanya. Nilai masing-masing adalah checksum, 32 karakter
nilai heksadesimal. Anda dapat menjalankan dengan opsi "--critical=0" khusus untuk mencari tahu
checksum yang ada.

Tindakan ini memerlukan modul Digest::MD5.

Contoh 1: Temukan checksum awal untuk konfigurasi pgbouncer pada port 6432 menggunakan
pengguna default (biasanya postgres)

check_postgres_pgbouncer_checksum --port=6432 --kritis=0

Contoh 2: Pastikan tidak ada pengaturan yang berubah dan peringatkan jika demikian, menggunakan checksum dari
atas.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Untuk keluaran MRTG, mengembalikan 1 atau 0 yang menunjukkan keberhasilan kegagalan checksum untuk mencocokkan.
Sebuah checksum harus diberikan sebagai argumen "--mrtg". Baris keempat selalu memberikan
checksum saat ini.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") Memeriksa apakah semua tugas pgAgent yang
dieksekusi dalam interval waktu sebelumnya telah berhasil. Hal ini dilakukan dengan memeriksa
setiap langkah yang memiliki hasil bukan nol.

Baik "--warning" atau "--critical", atau keduanya, dapat ditentukan sebagai waktu, dan pekerjaan akan menjadi
diperiksa untuk kegagalan dalam periode waktu yang ditentukan sebelum waktu saat ini. Sah
satuannya adalah detik, menit, jam, dan hari; semua bisa disingkat menjadi huruf pertama.
Jika tidak ada satuan yang diberikan, 'detik' diasumsikan.

Contoh 1: Berikan kritik ketika ada pekerjaan yang dieksekusi di hari terakhir gagal.

check_postgres_pgagent_jobs --kritis=1d

Contoh 2: Beri peringatan jika ada pekerjaan yang dilakukan dalam seminggu terakhir yang gagal.

check_postgres_pgagent_jobs --peringatan=7d

Contoh 3: Berikan kritik untuk pekerjaan yang gagal dalam 2 jam terakhir dan peringatan untuk
pekerjaan yang gagal dalam 4 jam terakhir:

check_postgres_pgagent_jobs --critical=2j --warning=4h

siap_txns
("symlink: check_postgres_prepared_txns") Periksa usia yang sudah disiapkan
transaksi. Perhatikan bahwa kebanyakan orang TIDAK akan menggunakan transaksi yang disiapkan, karena mereka adalah bagian
dari dua bagian komit dan rumit untuk dipelihara. Mereka juga tidak boleh bingung dengan
PERNYATAAN siap, itulah yang kebanyakan orang pikirkan ketika mereka mendengar persiapan. NS
nilai default untuk peringatan adalah 1 detik, untuk mendeteksi penggunaan transaksi yang disiapkan, yang
mungkin merupakan kesalahan pada sebagian besar sistem. Peringatan dan kritis adalah jumlah detik
transaksi yang disiapkan telah dibuka sebelum peringatan diberikan.

Contoh 1: Berikan peringatan untuk mendeteksi transaksi yang disiapkan:

check_postgres_prepared_txns -w 0

Contoh 2: Berikan kritik jika ada transaksi yang disiapkan telah dibuka lebih dari 10
detik, tetapi biarkan hingga 360 detik untuk database 'shrike':

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

Untuk keluaran MRTG, mengembalikan jumlah detik transaksi terlama telah dibuka sebagai
baris pertama, dan dari mana database berasal sebagai baris terakhir.

query_runtime
("symlink: check_postgres_query_runtime") Memeriksa berapa lama waktu yang dibutuhkan untuk menjalankan kueri tertentu,
dengan menjalankan "MENJELASKAN ANALISIS" terhadapnya. NS --peringatan dan --kritis pilihan adalah
jumlah waktu maksimum yang harus diambil kueri. Satuan yang valid adalah detik, menit, dan jam;
any bisa disingkat menjadi huruf pertama. Jika tidak ada satuan yang diberikan, 'detik' diasumsikan.
Baik peringatan maupun opsi kritis harus diberikan. Nama tampilan atau fungsi
yang akan dijalankan harus diteruskan ke --nama permintaan pilihan. Itu harus terdiri dari satu kata
(atau schema.word), dengan parens opsional di akhir.

Contoh 1: Berikan kritik jika fungsi bernama "speedtest" gagal dijalankan dalam 10 detik atau
kurang.

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

Untuk keluaran MRTG, laporkan waktu dalam detik hingga kueri selesai pada baris pertama.
Baris keempat mencantumkan database.

waktu_kueri
("symlink: check_postgres_query_time") Memeriksa panjang menjalankan kueri pada satu atau lebih
database. Tidak perlu menjalankan ini lebih dari sekali pada cluster database yang sama. Catatan
bahwa ini sudah mengecualikan kueri yang "menganggur dalam transaksi". Basis data dapat berupa
disaring dengan menggunakan --termasuk dan --mengecualikan pilihan. Lihat bagian "PENYARINGAN DASAR"
untuk lebih jelasnya. Anda juga dapat memfilter pengguna yang menjalankan kueri dengan --termasuk pengguna
dan --kecualikan pengguna pilihan. Lihat bagian "PENYARINGAN NAMA PENGGUNA" untuk detail selengkapnya.

Nilai untuk --peringatan dan --kritis opsi adalah jumlah waktu, dan default ke '2
menit' dan '5 menit' masing-masing. Satuan yang valid adalah 'detik', 'menit', 'jam', atau
'hari'. Masing-masing dapat ditulis tunggal atau disingkat menjadi huruf pertama saja. Jika tidak ada unit
diberikan, unit diasumsikan detik.

Tindakan ini membutuhkan Postgres 8.1 atau lebih baik.

Contoh 1: Beri peringatan jika ada kueri yang berjalan lebih dari 3 menit, dan a
kritis jika lebih dari 5 menit.

check_postgres_query_time --port=5432 --warning='3 menit' --critical='5 menit'

Contoh 2: Menggunakan nilai default (2 dan 5 menit), periksa semua database kecuali yang
dimulai dengan 'templat'.

check_postgres_query_time --port=5432 --exclude=~^templat

Contoh 3: Peringatkan jika pengguna 'tidak' menjalankan kueri lebih dari 20 detik

check_postgres_query_time --port=5432 --includeuser=don --warning=20 detik

Untuk keluaran MRTG, mengembalikan panjang dalam detik dari kueri yang berjalan terlama pada yang pertama
garis. Baris keempat memberikan nama database.

replikasi_baris
("symlink: check_postgres_replicate_row") Memeriksa apakah replikasi master-slave berfungsi
untuk satu atau lebih budak.

Opsi "--dbname", "--host", dan "--port" pertama, dll. dianggap sebagai master;
penggunaan selanjutnya adalah budak. Nilai atau --peringatan dan --kritis pilihannya adalah
unit waktu, dan setidaknya satu harus disediakan (tidak ada default). Satuan yang valid adalah 'detik',
'menit', 'jam', atau 'hari'. Masing-masing dapat ditulis tunggal atau disingkat menjadi
surat pertama. Jika tidak ada satuan yang diberikan, satuan dianggap sebagai detik.

Pemeriksaan ini memperbarui satu baris pada master, dan kemudian mengukur berapa lama waktu yang diperlukan
diterapkan pada budak. Untuk melakukan ini, Anda harus memilih tabel yang sedang direplikasi, lalu
temukan baris yang dapat diubah, dan tidak akan diubah oleh proses lainnya. A
kolom tertentu dari baris ini akan diubah dari satu nilai ke nilai lainnya. Semua ini diberi makan
ke opsi "repinfo", dan harus berisi opsi berikut, dipisahkan dengan koma:
nama tabel, kunci utama, id kunci, kolom, nilai pertama, nilai kedua.

Contoh 1: Slony mereplikasi tabel bernama 'pesanan' dari host 'alpha' ke host 'beta',
dalam database 'penjualan'. Kunci utama tabel bernama id, dan kita akan
uji baris dengan id 3 (yang historis dan tidak pernah berubah). Ada kolom
bernama 'salesrep' yang akan kita alihkan dari nilai 'slon' ke 'nols' untuk diperiksa
replikasi. Kami ingin memberikan peringatan jika replikasi tidak terjadi dalam 10
detik.

check_postgres_replicate_row --Host=alpha --dbname=penjualan --Host=beta
--dbname=penjualan --warning=10 --repinfo=pesanan,id,3,penjual,slon,nol

Contoh 2: Bucardo mereplikasi tabel bernama 'tanda terima' dari host 'hijau' ke host
'merah', 'biru', dan 'kuning'. Basis data untuk kedua belah pihak adalah 'publik'. Database budak
sedang berjalan pada port 5455. Kunci utama bernama 'receipt_id', baris yang ingin kita gunakan
memiliki nilai 9, dan kolom yang ingin kita ubah untuk pengujian disebut 'zona'. Sehat
beralih antara 'utara' dan 'selatan' untuk nilai kolom ini, dan berikan tanda kritis jika
perubahan tidak pada ketiga budak dalam 5 detik.

check_postgres_replicate_row --host=hijau --port=5455 --host=merah, biru, kuning
--critical=5 --repinfo=receipt,receipt_id,9,zone,utara,selatan

Untuk keluaran MRTG, kembali pada baris pertama waktu dalam detik yang diperlukan replikasi untuk
menyelesaikan. Waktu maksimum diatur ke 4 menit 30 detik: jika tidak ada replikasi yang dilakukan
tempat dalam waktu yang lama, kesalahan dilemparkan.

sama_skema
("symlink: check_postgres_same_schema") Memverifikasi bahwa dua atau lebih database identik
sejauh skema mereka (tetapi bukan data di dalamnya). Ini sangat berguna untuk membuat
pastikan budak Anda belum dimodifikasi atau rusak dengan cara apa pun saat menggunakan master ke slave
replikasi. Tidak seperti kebanyakan tindakan lainnya, ini tidak memiliki kriteria peringatan atau kritis - the
database baik sinkron, atau tidak. Jika mereka berbeda, daftar rinci dari
perbedaan disajikan.

Anda mungkin ingin mengecualikan atau memfilter perbedaan tertentu. Cara melakukannya adalah dengan menambahkan
string ke opsi "--filter". Untuk mengecualikan jenis objek, gunakan "noname", di mana 'name'
adalah jenis objek, misalnya, "noschema". Untuk mengecualikan objek dari jenis tertentu dengan a
ekspresi reguler terhadap nama mereka, gunakan "noname=regex". Lihat contoh di bawah untuk
pemahaman yang lebih baik.

Jenis objek yang dapat difilter meliputi:

pemakai
skema
tabel
melihat
indeks
urutan
paksaan
memicu
fungsi

Opsi filter "noposisi" mencegah verifikasi posisi kolom dalam a
tabel.

Opsi filter "nofuncbody" mencegah perbandingan badan semua fungsi.

Opsi filter "noperm" mencegah perbandingan izin objek.

Untuk menyediakan database kedua, cukup tambahkan perbedaannya dengan yang pertama dengan menelepon ke
argumen koneksi yang sesuai. Misalnya, untuk membandingkan database pada host alpha dan
bravo, gunakan "--dbhost=alpha,bravo". Lihat juga contoh di bawah ini.

Jika hanya satu host yang diberikan, diasumsikan kita melakukan laporan "berbasis waktu". NS
pertama kali ini dijalankan, snapshot dari semua item dalam database disimpan ke lokal
mengajukan. Saat Anda menjalankannya lagi, snapshot itu dibaca dan menjadi "database #2" dan
dibandingkan dengan database saat ini.

Untuk mengganti file lama yang disimpan dengan versi baru, gunakan argumen --replace.

Untuk mengaktifkan snapshot di berbagai titik waktu, Anda dapat menggunakan argumen "--suffix" untuk membuat
nama file unik untuk setiap proses. Lihat contoh di bawah ini.

Contoh 1: Verifikasi bahwa dua database pada host star dan line adalah sama:

check_postgres_same_schema --dbhost=bintang,baris

Contoh 2: Sama seperti sebelumnya, tetapi kecualikan pemicu apa pun dengan "slony" di namanya

check_postgres_same_schema --dbhost=bintang,baris --filter="notrigger=slony"

Contoh 3: Sama seperti sebelumnya, tetapi juga mengecualikan semua indeks

check_postgres_same_schema --dbhost=bintang,baris --filter="notrigger=slony noindexes"

Contoh 4: Periksa perbedaan database "battlestar" pada port yang berbeda

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

Contoh 5: Buat file snapshot harian dan mingguan

check_postgres_same_schema --dbname=cylon --suffix=harian
check_postgres_same_schema --dbname=cylon --suffix=mingguan

Contoh 6: Jalankan perbandingan historis, lalu ganti file

check_postgres_same_schema --dbname=cylon --suffix=setiap hari --ganti

urutan
("symlink: check_postgres_sequence") Memeriksa berapa banyak ruang yang tersisa pada semua urutan di
basis data. Ini diukur sebagai persentase dari total kemungkinan nilai yang telah digunakan
untuk setiap urutan. NS --peringatan dan --kritis pilihan harus dinyatakan sebagai
persentase. Nilai defaultnya adalah 85% untuk peringatan dan 95% untuk yang kritis. Kamu boleh
gunakan --include dan --exclude untuk mengontrol urutan mana yang akan diperiksa. Perhatikan bahwa ini
cek tidak memperhitungkan yang tidak biasa nilai kecil dan kenaikan by nilai-nilai, tetapi tidak peduli jika
urutan diatur ke siklus atau tidak.

Output untuk Nagios memberikan nama urutan, persentase yang digunakan, dan nomor
dari 'panggilan' yang tersisa, menunjukkan berapa kali nextval dapat dipanggil pada urutan itu
sebelum mencapai nilai maksimum.

Output untuk MRTG mengembalikan persentase tertinggi di semua urutan pada baris pertama,
dan nama setiap urutan dengan persentase tersebut pada baris keempat, dipisahkan dengan tanda "|"
(pipa) jika ada lebih dari satu urutan pada persentase itu.

Contoh 1: Beri peringatan jika ada urutan yang mendekati 95% penuh.

check_postgres_sequence --dbport=5432 --peringatan=95%

Contoh 2: Periksa bahwa urutan bernama "orders_id_seq" tidak lebih dari setengah penuh.

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

setting_checksum
("symlink: check_postgres_settings_checksum") Memeriksa apakah semua pengaturan Postgres adalah
sama seperti terakhir kali Anda memeriksa. Ini dilakukan dengan membuat checksum dari daftar yang diurutkan
pengaturan nama dan nilainya. Perhatikan bahwa pengguna yang berbeda dalam database yang sama mungkin memiliki
checksum yang berbeda, karena penggunaan ALTER USER, dan karena fakta bahwa superuser melihat lebih banyak
pengaturan dari pengguna biasa. Entah itu --peringatan atau itu --kritis pilihan seharusnya
diberikan, tetapi tidak keduanya. Nilai masing-masing adalah checksum, heksadesimal 32 karakter
nilai. Anda dapat menjalankan dengan opsi "--critical=0" khusus untuk mengetahui yang sudah ada
checksum.

Tindakan ini memerlukan modul Digest::MD5.

Contoh 1: Temukan checksum awal untuk database pada port 5555 menggunakan pengguna default
(biasanya postgres)

check_postgres_settings_checksum --port=5555 --kritis=0

Contoh 2: Pastikan tidak ada pengaturan yang berubah dan peringatkan jika demikian, menggunakan checksum dari
atas.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Untuk keluaran MRTG, mengembalikan 1 atau 0 yang menunjukkan keberhasilan kegagalan checksum untuk mencocokkan.
Sebuah checksum harus diberikan sebagai argumen "--mrtg". Baris keempat selalu memberikan
checksum saat ini.

slony_status
("symlink: check_postgres_slony_status") Memeriksa status klaster Slony dengan
melihat hasil tampilan sl_status Slony. Ini dikembalikan sebagai jumlah
detik dari "waktu jeda". NS --peringatan dan --kritis pilihan harus dinyatakan sebagai waktu.
Nilai defaultnya adalah 60 detik untuk peringatan dan 300 detik untuk yang kritis.

Argumen opsional --skema menunjukkan skema tempat Slony diinstal. Jika
tidak diberikan, skema akan ditentukan secara otomatis setiap kali pemeriksaan ini dijalankan.

Contoh 1: Beri peringatan jika ada Slony yang tertinggal lebih dari 20 detik

check_postgres_slony_status --peringatan 20

Contoh 2: Berikan kritik jika Slony, yang dipasang di bawah skema "_slony", lebih dari 10
menit tertinggal

check_postgres_slony_status --skema=_slony --kritis=600

sinkronisasi waktu
("symlink: check_postgres_timesync") Membandingkan waktu sistem lokal dengan waktu yang dilaporkan
oleh satu atau lebih database. NS --peringatan dan --kritis pilihan mewakili jumlah
detik antara dua sistem sebelum peringatan diberikan. Jika keduanya tidak ditentukan,
nilai default yang digunakan, yaitu '2' dan '5'. Nilai peringatan tidak boleh lebih besar dari
nilai kritis. Karena sifat tes ini tidak pasti, nilai '0' atau '1' tidak
direkomendasikan.

String yang dikembalikan menunjukkan perbedaan waktu serta waktu di setiap sisi yang tertulis
out.

Contoh 1: Pastikan database pada host ankh, morpork, dan klatch tidak lebih dari 3
detik off dari waktu setempat:

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

Untuk keluaran MRTG, mengembalikan satu baris pertama perbedaan jumlah detik antara
waktu lokal dan waktu database. Baris keempat mengembalikan nama database.

txn_idle
("symlink: check_postgres_txn_idle") Memeriksa jumlah dan durasi "idle in
transaksi" kueri pada satu atau lebih database. Tidak perlu menjalankan ini lebih dari sekali
pada cluster database yang sama. Database dapat disaring dengan menggunakan --termasuk dan
--mengecualikan pilihan. Lihat bagian "PENYARINGAN DASAR" di bawah ini untuk detail selengkapnya.

Grafik --peringatan dan --kritis opsi diberikan sebagai satuan waktu, bilangan bulat bertanda, atau
bilangan bulat untuk satuan waktu, dan keduanya harus disediakan (tidak ada default). Satuan yang valid
adalah 'detik', 'menit', 'jam', atau 'hari'. Masing-masing dapat ditulis tunggal atau disingkat
untuk hanya huruf pertama. Jika tidak ada satuan yang diberikan dan nomornya tidak diberi tanda, satuannya
diasumsikan detik.

Tindakan ini membutuhkan Postgres 8.3 atau lebih baik.

Contoh 1: Beri peringatan jika ada koneksi yang idle dalam transaksi lebih dari 15
detik:

check_postgres_txn_idle --port=5432 --warning='15 detik'

Contoh 2: Beri peringatan jika ada 50 transaksi atau lebih

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

Contoh 3: Berikan kritik jika 5 koneksi atau lebih telah menganggur dalam transaksi lebih
dari 10 detik:

check_postgres_txn_idle --port=5432 --critical='5 selama 10 detik'

Untuk keluaran MRTG, mengembalikan waktu dalam detik transaksi idle terlama yang pernah terjadi
berlari. Baris keempat mengembalikan nama database dan informasi lain tentang
transaksi terpanjang.

txn_time
("symlink: check_postgres_txn_time") Memeriksa panjang transaksi terbuka pada satu atau lebih
database. Tidak perlu menjalankan perintah ini lebih dari sekali per cluster database.
Basis data dapat difilter dengan menggunakan --termasuk dan --mengecualikan pilihan. Lihat "DASAR
FILTERING" untuk lebih jelasnya. Pemilik transaksi juga dapat difilter, dengan
penggunaan --termasuk pengguna dan --kecualikan pengguna pilihan. Lihat bagian "PENYARINGAN NAMA PENGGUNA"
lebih lanjut.

Nilai atau --peringatan dan --kritis pilihan adalah satuan waktu, dan harus disediakan
(tidak ada bawaan). Satuan yang valid adalah 'detik', 'menit', 'jam', atau 'hari'. Masing-masing mungkin
ditulis tunggal atau disingkat menjadi huruf pertama saja. Jika tidak ada satuan yang diberikan,
satuan diasumsikan detik.

Tindakan ini membutuhkan Postgres 8.3 atau lebih baik.

Contoh 1: Beri kritik jika ada transaksi yang dibuka lebih dari 10 menit:

check_postgres_txn_time --port=5432 --critical='10 menit'

Contoh 1: Peringatkan jika 'gudang' pengguna memiliki transaksi terbuka lebih dari 30 detik

check_postgres_txn_time --port-5432 --warning=30 detik --includeuser=gudang

Untuk keluaran MRTG, mengembalikan waktu maksimum dalam detik transaksi telah dibuka di
garis pertama. Baris keempat memberikan nama database.

txn_sampul
("symlink: check_postgres_txn_wraparound") Memeriksa seberapa dekat dengan sampul transaksi
atau lebih database mendapatkan. NS --peringatan dan --kritis pilihan menunjukkan nomor
transaksi yang dilakukan, dan harus berupa bilangan bulat positif. Jika salah satu pilihan tidak diberikan,
nilai default 1.3 dan 1.4 miliar digunakan. Tidak perlu menjalankan perintah ini lagi
dari sekali per cluster database. Untuk pembahasan lebih detail tentang apa nomor ini
mewakili dan apa yang harus dilakukan tentang hal itu, silakan kunjungi halaman
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-UNTUK-WRAPAROUND>

Nilai peringatan dan kritis dapat memiliki garis bawah dalam jumlah keterbacaan, seperti Perl
tidak.

Contoh 1: Periksa nilai default untuk database localhost

check_postgres_txn_wraparound --Host=localhost

Contoh 2: Periksa port 6000 dan beri kritik ketika 1.7 miliar transaksi tercapai:

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

Untuk keluaran MRTG, mengembalikan jumlah transaksi tertinggi untuk semua database pada baris satu,
sedangkan baris 4 menunjukkan database mana itu.

versi
("symlink: check_postgres_version") Memeriksa apakah versi Postgres yang diperlukan adalah
berlari. NS --peringatan dan --kritis opsi (hanya satu yang diperlukan) harus dalam format
XY or XYZ dimana X adalah nomor versi utama, Y adalah nomor versi minor, dan Z is
revisi.

Contoh 1: Beri peringatan jika database pada port 5678 bukan versi 8.4.10:

check_postgres_version --port=5678 -w=8.4.10

Contoh 2: Beri peringatan jika ada database di host valley,grain, atau sunny bukan 8.3:

check_postgres_version -H lembah,gandum,sinar matahari --kritis=8.3

Untuk keluaran MRTG, laporkan angka 1 atau 0 yang menunjukkan keberhasilan atau kegagalan pada baris pertama. NS
baris keempat menunjukkan versi saat ini. Versi harus disediakan melalui "--mrtg"
.

wal_files
("symlink: check_postgres_wal_files") Memeriksa berapa banyak file WAL yang ada di hal_xlog
direktori, yang ditemukan dari . Anda data_direktori, terkadang sebagai symlink ke yang lain
disk fisik untuk alasan kinerja. Tindakan ini harus dijalankan sebagai pengguna super, untuk
mengakses konten hal_xlog direktori. Versi minimum untuk menggunakan tindakan ini adalah
Postgres 8.1. NS --peringatan dan --kritis opsi hanyalah jumlah file di
hal_xlog direktori. Nomor berapa untuk mengatur ini akan bervariasi, tetapi pedoman umum adalah untuk menempatkan
angka yang sedikit lebih tinggi dari biasanya, untuk menangkap masalah lebih awal.

Biasanya, file WAL ditutup dan kemudian digunakan kembali, tetapi transaksi terbuka yang berjalan lama, atau a
salah arsip_perintah script, dapat menyebabkan Postgres membuat terlalu banyak file. Akhirnya,
ini akan menyebabkan disk tempat mereka kehabisan ruang, di mana Postgres akan
menutup.

Contoh 1: Periksa apakah jumlah file WAL adalah 20 atau kurang pada host "pluto"

check_postgres_wal_files --host=pluto --kritis=20

Untuk keluaran MRTG, laporkan jumlah file WAL pada baris 1.

membangun kembali_symlink
membangun kembali_symlinks_force
Tindakan ini tidak memerlukan argumen lain, dan tidak terhubung ke database apa pun, tetapi cukup
membuat symlink di direktori saat ini untuk setiap tindakan, dalam bentuk
cek_postgres_. Jika file sudah ada, itu tidak akan ditimpa. Jika
tindakannya adalah build_symlinks_force, maka symlink akan ditimpa. Pilihan
--symlinks adalah cara yang lebih pendek untuk mengatakan --action=rebuild_symlinks

DASAR PENYARINGAN


Opsi --termasuk dan --mengecualikan dapat digabungkan untuk membatasi hal-hal yang diperiksa,
tergantung pada tindakan. Nama database dapat difilter saat menggunakan yang berikut:
tindakan: backend, database_size, kunci, query_time, txn_idle, dan txn_time. Nama dari
relasi dapat difilter saat menggunakan tindakan berikut: bloat, index_size,
table_size, relation_size, last_vacuum, last_autovacuum, last_analyze, dan
last_autoanalyze. Nama pengaturan dapat difilter saat menggunakan settings_checksum
tindakan. Nama sistem file dapat difilter saat menggunakan tindakan disk_space.

Jika hanya opsi sertakan yang diberikan, maka HANYA entri yang cocok yang akan diperiksa.
Namun, jika diberikan pengecualian dan sertakan, pengecualian dilakukan terlebih dahulu, dan penyertaan
setelah, untuk mengembalikan hal-hal yang mungkin telah dikecualikan. Keduanya --termasuk dan --mengecualikan bisa
diberikan beberapa kali, dan/atau sebagai daftar yang dipisahkan koma. Sebuah tilde terkemuka akan cocok dengan
kata berikut sebagai ekspresi reguler.

Untuk mencocokkan skema, akhiri istilah penelusuran dengan satu titik. Tilde terkemuka dapat digunakan
untuk skema juga.

Hati-hati saat menggunakan pemfilteran: aturan penyertaan di backend, misalnya, mungkin
laporkan tidak ada masalah bukan hanya karena database yang cocok tidak memiliki backend, tetapi karena Anda
salah mengeja nama database!

contoh:

Hanya memeriksa item bernama pg_class:

--termasuk=pg_kelas

Hanya memeriksa item yang mengandung huruf 'pg_':

--termasuk=~hal_

Hanya periksa item yang dimulai dengan 'pg_':

--termasuk=~^hal_

Kecualikan item bernama 'test':

--kecualikan=tes

Kecualikan semua item yang mengandung huruf 'test:

--exclude=~tes

Kecualikan semua item dalam skema 'pg_catalog':

--exclude='pg_catalog.'

Kecualikan semua item yang mengandung huruf 'ace', tetapi izinkan item 'faceoff':

--exclude=~ace --include=berhadapan

Kecualikan semua item yang dimulai dengan huruf 'pg_', yang mengandung huruf 'slon', atau
yang diberi nama 'sql_settings' atau 'hijau'. Secara khusus periksa item dengan huruf
'prod' dalam nama mereka, dan selalu periksa item bernama 'pg_relname':

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

PENGGUNA NAMA PENYARINGAN


Opsi --termasuk pengguna dan --kecualikan pengguna dapat digunakan pada beberapa tindakan untuk hanya memeriksa
objek database yang dimiliki oleh (atau tidak dimiliki oleh) satu atau lebih pengguna. NS --termasuk pengguna Option
selalu mengalahkan --kecualikan pengguna pilihan. Anda dapat memberikan setiap opsi lebih dari sekali untuk
beberapa pengguna, atau Anda dapat memberikan daftar yang dipisahkan koma. Tindakan yang saat ini digunakan
pilihan ini adalah:

ukuran_database
analisis_terakhir
analisis_otomatis terakhir
terakhir_vakum
last_autovacuum
waktu_kueri
relasi_ukuran
txn_time

contoh:

Hanya periksa item yang dimiliki oleh pengguna bernama greg:

--termasuk pengguna=greg

Hanya periksa item yang dimiliki oleh watson atau crick:

--includeuser=watson,krik

Hanya periksa item yang dimiliki oleh crick, franklin, watson, atau wilkins:

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

Periksa semua item kecuali yang milik pengguna scott:

--excludeuser=scott

UJI MODE


Untuk membantu dalam pengaturan, program ini dapat dijalankan dalam "mode uji" dengan menentukan:
--tes pilihan. Ini akan melakukan beberapa tes dasar untuk memastikan bahwa database dapat
dihubungi, dan bahwa prasyarat per tindakan tertentu terpenuhi, seperti apakah pengguna
superuser, jika versi Postgres cukup baru, dan jika stats_row_level diaktifkan.

Gunakan check_postgres_sequencep online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser adalah pembukaan yang cepat, gratis, dan menyenangkan
    kerangka kerja game HTML5 sumber yang menawarkan
    Rendering WebGL dan Canvas di seluruh
    browser web desktop dan seluler. permainan
    bisa bersama...
    Unduh Phaser.dll
  • 2
    Mesin VASSAL
    Mesin VASSAL
    VASSAL adalah mesin permainan untuk membuat
    versi elektronik dari papan tradisional
    dan permainan kartu. Ini memberikan dukungan untuk
    rendering dan interaksi potongan game,
    dan ...
    Unduh Mesin VASSAL
  • 3
    OpenPDF - Garpu iText
    OpenPDF - Garpu iText
    OpenPDF adalah perpustakaan Java untuk membuat
    dan mengedit file PDF dengan LGPL dan
    Lisensi sumber terbuka MPL. OpenPDF adalah
    LGPL/MPL penerus sumber terbuka iText,
    Sebuah...
    Unduh OpenPDF - Garpu iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem untuk Otomatis
    Analisis Geoscientific - adalah Geografis
    Perangkat lunak Sistem Informasi (GIS) dengan
    kemampuan luar biasa untuk geodata
    pengolahan dan ...
    Unduh SAGA GIS
  • 5
    Toolbox untuk Java/JTOpen
    Toolbox untuk Java/JTOpen
    Toolbox IBM untuk Java / JTOpen adalah a
    perpustakaan kelas Java mendukung
    client/server dan pemrograman internet
    model ke sistem yang menjalankan OS/400,
    i5/OS, atau...
    Unduh Toolbox untuk Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (atau D3 untuk Dokumen Berbasis Data)
    adalah perpustakaan JavaScript yang memungkinkan Anda
    untuk menghasilkan data yang dinamis dan interaktif
    visualisasi di browser web. Dengan D3
    kamu...
    Unduh D3.js
  • Lebih banyak lagi »

Perintah Linux

Ad