EngelsFransSpaans

Ad


OnWorks-favicon

check_postgres_table_sizep - Online in de cloud

Voer check_postgres_table_sizep uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht check_postgres_table_sizep die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


check_postgres - een Postgres monitoringscript voor Nagios, MRTG, Cacti en anderen

Dit document beschrijft check_postgres versie 2.22.0

KORTE INHOUD


## Maak alle symbolische links
check_postgres --symlinks

## Controleer de verbinding met de Postgres-database 'pluto':
check_postgres --action=verbinding --db=pluto

## Zelfde dingen, maar met de symbolische link
check_postgres_connection --db=pluto

## Waarschuwen als > 100 sloten, kritiek als > 200, of > 20 exclusief
check_postgres_locks --warning=100 --critical="total=200:exclusive=20"

## Toon het huidige aantal inactieve verbindingen op poort 6543:
check_postgres_txn_idle --port=6543 --output=simpel

## Er zijn veel andere acties en opties, blijf lezen.

Het laatste nieuws en documentatie is altijd te vinden op:
http://bucardo.org/check_postgres/

PRODUCTBESCHRIJVING


check_postgres is een Perl-script dat veel verschillende tests uitvoert tegen een of meer
Postgres-databases. Het gebruikt het psql-programma om de informatie te verzamelen, en geeft de
resulteert in een van de drie formaten: Nagios, MRTG of eenvoudig.

uitgang Modes
De output kan gewijzigd worden door gebruik te maken van de "--output" optie. De standaarduitvoer is nagios,
hoewel dit desgewenst bovenaan het script kan worden gewijzigd. De huidige optie
keuzes zijn nagios, mrtg en simpel. Om te voorkomen dat u telkens het uitvoerargument moet invoeren:
tijd, wordt het type output automatisch ingesteld als er geen --output argument wordt gegeven, en als de
huidige map heeft een van de uitvoeropties in zijn naam. Bijvoorbeeld het maken van een
map met de naam mrtg en vul deze met symbolische links via de --symbolen argument zou
zorg ervoor dat alle acties die vanuit die map worden uitgevoerd, altijd standaard een uitvoer van "mrtg" zijn
Als snelkoppeling voor --output=simple, kunt u --simple invoeren, die ook de . overschrijft
directory naamgeving truc.

Nagios uitgang

Het standaard uitvoerformaat is voor Nagios, wat een enkele regel informatie is, samen met:
vier specifieke exit-codes:

0 (oké)
1 (WAARSCHUWING)
2 (KRITIEK)
3 (ONBEKEND)

De uitvoerregel is een van de bovenstaande woorden, een dubbele punt en vervolgens een korte beschrijving van wat
was gemeten. Aanvullende statistische informatie, evenals de totale tijd dat de opdracht
nam, kan ook worden uitgevoerd: zie de documentatie over de argumenten --showperf,
--perflimiet en --show Time.

MRTG uitgang

De MRTG-uitvoer is vier regels, waarbij de eerste regel altijd een enkel aantal geeft
belang. Indien mogelijk vertegenwoordigt dit getal een werkelijke waarde, zoals een aantal
bytes, maar het kan ook een 1 of een 0 zijn voor acties die alleen "true" of "false" retourneren, zoals
als check_postgres_version. De tweede regel is een extra statistiek en wordt alleen gebruikt voor:
enkele acties. De derde regel geeft een "uptime" aan en wordt niet gebruikt. De vierde regel is a
beschrijving en geeft meestal de naam van de database aan de stat uit de eerste regel
is verwijderd, maar kan verschillen afhankelijk van de actie.

Sommige acties accepteren een optionele --mrtg argument om de output verder te controleren.

Zie de documentatie bij elke actie voor details over de exacte MRTG-uitvoer voor elke actie.

Eenvoudig uitgang

De eenvoudige uitvoer is gewoon een ingekorte versie van de MRTG-versie en retourneert eenvoudig de
eerste nummer en niets anders. Dit is erg handig als u alleen de staat wilt controleren
van iets, ongeacht welke drempel dan ook. U kunt de numerieke uitvoer transformeren door:
KB, MB, GB, TB of EB toevoegen aan het uitvoerargument, bijvoorbeeld:

--output=eenvoudig,MB

cactussen uitgang

De uitvoer van Cactussen bestaat uit een of meer items op dezelfde regel, met een eenvoudige naam, a
dubbele punt en vervolgens een cijfer. Op dit moment is de enige actie met expliciete Cacti-output:
'dbstats', en het gebruik van de --output optie is in dit geval niet nodig, aangezien Cacti de enige is
uitvoer voor deze actie. Voor veel andere acties is het gebruik van --simple voldoende om Cacti
gelukkig.

DATABASE AANSLUITING OPTIES


Alle acties accepteren een gemeenschappelijke set database-opties.

-H NAAM or --host=NAAM
Maak verbinding met de host die wordt aangegeven met NAME. Kan een door komma's gescheiden lijst met namen zijn.
Meerdere hostargumenten zijn toegestaan. Als er geen host is opgegeven, wordt standaard de "PGHOST"
omgevingsvariabele of helemaal geen host (wat aangeeft dat er een lokale Unix-socket wordt gebruikt).
U kunt ook "--dbhost" gebruiken.

-p PORT or --poort=POORT
Maakt verbinding met het opgegeven PORT-nummer. Kan een door komma's gescheiden lijst van poorten zijn
nummers en meerdere poortargumenten zijn toegestaan. Als er geen poortnummer is opgegeven, standaardinstellingen
naar de omgevingsvariabele "PGPORT". Als dat niet is ingesteld, is het standaard 5432. U kunt:
gebruik ook "--dbport"

-Db NAAM or --dbname=NAAM
Geeft aan met welke database verbinding moet worden gemaakt. Kan een door komma's gescheiden lijst met namen zijn, en
meerdere dbname-argumenten zijn toegestaan. Als er geen dbname-optie is opgegeven, is de standaardinstelling:
de "PGDATABASE" omgevingsvariabele. Als dat niet is ingesteld, staat het standaard op 'postgres'
als psql versie 8 of hoger is, en anders 'template1'.

-u USERNAME or --dbuser=GEBRUIKERSNAAM
De naam van de databasegebruiker om verbinding mee te maken. Kan een door komma's gescheiden lijst zijn van
gebruikersnamen en meerdere dbuser-argumenten zijn toegestaan. Als dit niet wordt verstrekt, is het
standaard ingesteld op de "PGUSER" omgevingsvariabele, anders standaard op 'postgres'.

--dbpass=WACHTWOORD
Biedt het wachtwoord om verbinding te maken met de database. Het gebruik van deze optie is zeer
ontmoedigd. In plaats daarvan zou men een .pgpass- of pg_service.conf-bestand moeten gebruiken.

--dbservice=NAAM
De naam van een service in het bestand pg_service.conf. Vóór versie 9.0 van
Postgres, dit is een globaal bestand, meestal te vinden in /etc/pg_service.conf. Als je bent
met versie 9.0 of hoger van Postgres, kunt u het bestand ".pg_service.conf" gebruiken in
de homedirectory van de gebruiker die het script uitvoert, bijv. nagios.

Dit bestand bevat een eenvoudige lijst met verbindingsopties. U kunt ook extra doorgeven
informatie bij gebruik van deze optie, zoals --dbservice="maindatabase sslmode=require"

De documentatie voor dit bestand is te vinden op:
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

De databaseverbindingsopties kunnen worden gegroepeerd: --gastheer=a,b --gastheer=c --poort=1234
--poort=3344 zou aansluiten op a-1234, b-1234 en c-3344. Merk op dat eenmaal ingesteld, een optie
wordt overgedragen totdat het weer wordt gewijzigd.

Voorbeelden:

--host=a,b --poort=5433 --db=c
Maakt tweemaal verbinding met poort 5433, met behulp van database c, met hosts a en b: a-5433-c b-5433-c

--host=a,b --poort=5433 --db=c,d
Vier keer verbinding: a-5433-c a-5433-d b-5433-c b-5433-d

--host=a,b --host=foo --port=1234 --port=5433 --db=e,f
Kan zes keer worden aangesloten: a-1234-e a-1234-f b-1234-e b-1234-f foo-5433-e foo-5433-f

--host=a,b --host=x --poort=5432,5433 --dbuser=alice --dbuser=bob -db=baz
Maakt drie keer verbinding: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice="foo" --port=5433
Maakt verbinding met de benoemde service 'foo' in het bestand pg_service.conf, maar overschrijft de poort

ANDERE OPTIES


Andere opties zijn:

--action=NAAM
Geeft aan welke actie we uitvoeren. Vereist tenzij u een gelinkt bestand gebruikt, waarin:
geval de naam van het bestand wordt gebruikt om de actie te achterhalen.

--waarschuwing=VAL or -w VAL
Stelt de drempel in waarop een waarschuwingswaarschuwing wordt afgegeven. De geldige opties hiervoor
optie hangt af van de gebruikte actie.

--kritiek=VAL or -c VAL
Stelt de drempel in waarop een kritieke waarschuwing wordt afgegeven. De geldige opties hiervoor
optie hangt af van de gebruikte actie.

-t VAL or --time-out=VAL
Stelt de time-out in seconden in waarna het script alles afbreekt wat het aan het doen is en
een ONBEKENDE status retourneren. De time-out is per Postgres-cluster, niet voor de hele
script. De standaardwaarde is 10; de eenheden zijn altijd in seconden.

--veronderstel-standby-modus
Indien gespecificeerd, moet eerst worden gecontroleerd of de server in de standby-modus wordt uitgevoerd (--datadir
is vereist), als dat het geval is, worden alle controles die SQL-query's vereisen genegeerd en "Server
in standby-modus" met OK-status wordt in plaats daarvan geretourneerd.

Voorbeeld:

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

--veronderstel-prod
Indien gespecificeerd, controleer of de server in productiemodus wordt uitgevoerd (--datadir is vereist).
De optie is alleen relevant voor ("symlink: check_postgres_checkpoint").

Voorbeeld:

postgres@db$./check_postgres --action=checkpoint --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT OK: Laatste controlepunt was 72 seconden geleden | leeftijd=72;;300 modus=MASTER

-h or --help
Geeft een helpscherm weer met een overzicht van alle acties en opties.

--Mens
Geeft de hele handleiding weer.

-V or --versie
Toont de huidige versie.

-v or --uitgebreid
Stel het breedsprakigheidsniveau in. Kan meer dan eens bellen om het niveau te verhogen. Instellen op
drie of hoger (met andere woorden, het uitgeven van "-v -v -v") schakelt foutopsporingsinformatie in
voor dit programma dat naar stderr wordt gestuurd.

--showperf=VAL
Bepaalt of we aanvullende prestatiegegevens uitvoeren in het standaard Nagios-formaat (aan het einde
van string, na een pipe-symbool, met name=value). VAL moet 0 of 1 zijn. De standaard
is 1. Wordt alleen van kracht als de Nagios-uitvoermodus wordt gebruikt.

--perflimiet=i
Stelt een limiet in voor het aantal interessante items dat wordt gerapporteerd bij gebruik van de
showperf optie. Dit heeft alleen effect voor acties die een groot aantal
artikelen, zoals tafelgrootte. De standaardwaarde is 0, of geen limiet. Wees voorzichtig bij het gebruik hiervan
met de --erbij betrekken or --uitsluiten opties, aangezien die beperkingen zijn gedaan na de
query is uitgevoerd, en daarom bevat uw limiet mogelijk niet de items die u wilt. Alleen duurt
effect als u de Nagios-uitvoermodus gebruikt.

--showtime=VAL
Bepaalt of de tijd die nodig is om elke query uit te voeren, wordt weergegeven in de uitvoer. VAL moet 0 . zijn
of 1. De standaardwaarde is 1. Geen effect tenzij showperf staat aan. Wordt alleen van kracht bij gebruik van
Nagios-uitvoermodus.

--toets
Schakelt de testmodus in. Zie het gedeelte "TESTMODUS" hieronder.

--PGBINDIR=PAD
Vertelt het script waar de psql-binaire bestanden kunnen worden gevonden. Handig als je er meer dan één hebt
versie van de PostgreSQL-uitvoerbare bestanden op uw systeem, of als er geen in uw
pad. Merk op dat deze optie in hoofdletters is. Standaard is deze optie niet
toegestaan. Om het in te schakelen, moet u de $NO_PSQL_OPTION bovenaan het script wijzigen
naar 0. Vermijd het gebruik van deze optie als je kunt, en gebruik in plaats daarvan de omgevingsvariabele
C of hardgecodeerde $PGBINDIR-variabele, ook bovenaan het script, om in te stellen
het pad naar de te gebruiken PostgreSQL.

--PSQL=PAD
(verouderd, dit optie mogen be verwijderd in a toekomst uitgave!) Vertelt het script waar
om het psql-programma te vinden. Handig als je meer dan één versie van de psql . hebt
uitvoerbaar bestand op uw systeem, of als er geen psql-programma op uw pad is. Merk op dat dit
optie is in hoofdletters. Standaard is deze optie niet toegestaan. Om het in te schakelen, moet u
moet de $NO_PSQL_OPTION bovenaan het script veranderen in 0. Vermijd dit te gebruiken
optie als je kunt, en in plaats daarvan je psql-locatie hard codeert in de $ PSQL-variabele,
ook in de buurt van de bovenkant van het script.

--symbolen
Creëert symbolische links naar het hoofdprogramma voor elke actie.

--uitvoer=VAL
Bepaalt het formaat van de uitvoer, voor gebruik in verschillende programma's. De standaard is
'nagios'. Beschikbare opties zijn 'nagios', 'mrtg', 'simple' en 'cacti'.

--mrtg=VAL
Alleen gebruikt voor de MRTG of eenvoudige uitvoer, voor een paar specifieke acties.

--debugoutput=VAL
Voert de exacte tekenreeks uit die wordt geretourneerd door psql, voor gebruik bij foutopsporing. De waarde is één of
meer letters, die bepalen of de uitvoer wordt weergegeven of niet, waarbij 'a' = alles, 'c'
= kritiek, 'w' = waarschuwing, 'o' = ok, en 'u' = onbekend. Letters kunnen worden gecombineerd.

--get_method=VAL
Staat specificatie toe van de methode die wordt gebruikt om informatie op te halen voor de "new_version_cp",
"new_version_pg", "new_version_bc", "new_version_box" en "new_version_tnm" controleren.
De volgende programma's worden geprobeerd om de informatie van het web te halen: GET,
wget, fetch, curl, lynx, links. Om het gebruik van slechts één te forceren (en zo de
overhead van het proberen van alle anderen totdat een van die werken), voer een van de namen in als
het argument om methode te krijgen. Een BSD-box kan bijvoorbeeld de volgende regel invoeren in:
hun ".check_postgresrc" bestand:

get_method=ophalen

--taal=VAL
Stel de taal in die voor alle uitvoerberichten moet worden gebruikt. Normaal wordt dit gedetecteerd door:
de omgevingsvariabelen LC_ALL, LC_MESSAGES en LANG onderzoeken, maar dit instellen
optie zal een dergelijke detectie overschrijven.

ACTIES


Het script voert een of meer acties uit. Dit kan gedaan worden met de --action vlag, of door
met behulp van een symbolische link naar het hoofdbestand dat de naam van de actie erin bevat. Voor
om bijvoorbeeld de actie "timesync" uit te voeren, kunt u het volgende doen:

check_postgres --action=timesync

of gebruik een programma met de naam:

check_postgres_timesync

Alle symbolische links worden voor u aangemaakt in de huidige map als u de optie --symlinks . gebruikt

perl check_postgres --symlinks

Als de bestandsnaam al bestaat, wordt deze niet overschreven. Als het bestand bestaat en a . is
symlink, je kunt het forceren om te overschrijven door "--action=build_symlinks_force" te gebruiken

De meeste acties hebben een --waarschuwing en --kritieke optie, die aangeeft op welk punt we veranderen
van OK tot WAARSCHUWING, en welk punt we gaan naar KRITIEK. Merk op dat omdat kritieke punten zijn:
altijd eerst aangevinkt, het instellen van de waarschuwing gelijk aan de kritieke is een effectieve manier om
zet waarschuwingen uit en geef altijd een kritiek.

De huidige ondersteunde acties zijn:

archief_klaar
("symlink: check_postgres_archive_ready") Controleert hoeveel WAL-bestanden met extensie .klaar
bestaan ​​in de pg_xlog/archive_status directory, die te vinden is buiten uw gegevensmap.
Deze actie moet worden uitgevoerd als een superuser om toegang te krijgen tot de inhoud van de
pg_xlog/archive_status map. De minimale versie om deze actie te gebruiken is Postgres 8.1.
De --waarschuwing en --kritieke opties zijn gewoon het aantal .klaar bestanden in de
pg_xlog/archive_status map. Gewoonlijk zouden deze waarden laag moeten zijn, waardoor de
archiefmechanisme, willen we meestal dat het WAL-bestanden zo snel mogelijk archiveert.

Als het archiefcommando mislukt, nummer van WAL in uw pg_xlog directory zal groeien tot
alle schijfruimte uitputten en PostgreSQL dwingen om onmiddellijk te stoppen.

Voorbeeld 1: Controleer of het aantal kant-en-klare WAL-bestanden 10 of minder is op host "pluto"

check_postgres_archive_ready --host=pluto --critical=10

Voor MRTG-uitvoer, rapporteert het aantal kant-en-klare WAL-bestanden op regel 1.

autovac_freeze
("symlink: check_postgres_autovac_freeze") Controleert hoe dicht elke database bij de . is
postgres autovacuum_freeze_max_age instelling. Deze actie werkt alleen voor databases
versie 8.2 of hoger. De --waarschuwing en --kritieke opties moeten worden uitgedrukt als
procenten. De 'leeftijd' van de transacties in elke database wordt vergeleken met de
autovacuum_freeze_max_age instelling (standaard 200 miljoen) om een ​​afgeronde te genereren
percentage. De standaardwaarden zijn 90% voor de waarschuwing en 95% voor de kritische. Databases
kan worden gefilterd met behulp van de --erbij betrekken en --uitsluiten opties. Zie de "BASIS FILTERING"
sectie voor meer details.

Voorbeeld 1: Geef een waarschuwing wanneer databases op poort 5432 hoger zijn dan 97%

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

Voor MRTG-output wordt het hoogste totale percentage gerapporteerd op de eerste regel, en de
hoogste leeftijd wordt vermeld op de tweede regel. Alle databases met het percentage van
de eerste regel wordt gerapporteerd op de vierde regel, gescheiden door een pijpsymbool.

backends
("symlink: check_postgres_backends") Controleert het huidige aantal verbindingen voor één of
meer databases, en vergelijkt het optioneel met het maximaal toegestane, dat wordt bepaald door
de Postgres-configuratievariabele max_connections. De --waarschuwing en --kritieke opties
kan een van de drie vormen aannemen. Ten eerste kan een eenvoudig getal worden gegeven, dat staat voor de
aantal verbindingen waarop de waarschuwing wordt gegeven. Deze keuze maakt geen gebruik van de
max_connections instelling. Ten tweede kan het percentage beschikbare verbindingen worden gegeven.
Ten derde kan een negatief getal worden gegeven dat staat voor het aantal resterende verbindingen
tot max_connections is bereikt. De standaardwaarden voor --waarschuwing en --kritieke zijn
'90%' en '95%'. U kunt de databases ook filteren met behulp van de --erbij betrekken en --uitsluiten
opties. Zie de sectie "BASISFILTERING" voor meer details.

Om alleen niet-inactieve processen te bekijken, kunt u de --noedel argument. Merk op dat de gebruiker die u
maken verbinding, want dit moet een superuser zijn om dit correct te laten werken.

Voorbeeld 1: Geef een waarschuwing wanneer het aantal verbindingen op host quirm 120 bereikt, en a
kritisch als het 150 bereikt.

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

Voorbeeld 2: Geef een kritiek wanneer we 75% van onze max_connections-instelling op hosts hebben bereikt
lancre of lancre2.

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

Voorbeeld 3: Geef een waarschuwing wanneer er nog maar 10 verbindingsslots over zijn op de host
plasmide, en een kritieke als we er nog maar 5 over hebben.

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

Voorbeeld 4: Controleer alle databases behalve die met "test" in hun naam, maar sta degenen toe die
worden "pg_greatest" genoemd. Verbind als poort 5432 op de eerste twee hosts en als poort 5433 op
de derde. We willen altijd een kritiek geven als we 30 of meer verbindingen bereiken.

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

Voor MRTG-uitvoer wordt het aantal verbindingen gerapporteerd op de eerste regel en de vierde
regel geeft de naam van de database, plus de huidige maximum_connections. Indien meer dan
één database is opgevraagd, degene met het hoogste aantal verbindingen wordt uitgevoerd.

zwellen
("symlink: check_postgres_bloat") Controleert de hoeveelheid bloat in tabellen en indexen. (Bloat)
is over het algemeen de hoeveelheid dode ongebruikte ruimte die in een tabel of index wordt ingenomen. Deze ruimte is
meestal teruggewonnen met behulp van het VACUUM-commando.) Deze actie vereist dat stats
verzameling worden ingeschakeld op de doeldatabases en vereist dat ANALYSE wordt uitgevoerd
vaak. De --erbij betrekken en --uitsluiten opties kunnen worden gebruikt om uit te filteren welke tabellen moeten worden
kijk naar. Zie de sectie "BASISFILTERING" voor meer details.

De --waarschuwing en --kritieke opties kunnen worden opgegeven als maten, percentages of beide. Geldig
grootte-eenheden zijn bytes, kilobytes, megabytes, gigabytes, terabytes, exabytes, petabytes en
zettabytes. Je kunt ze allemaal afkorten met de eerste letter. Artikelen zonder eenheden zijn
verondersteld 'bytes' te zijn. De standaardwaarden zijn '1 GB' en '5 GB'. De waarde vertegenwoordigt de
aantal "verspilde bytes", of het verschil tussen wat daadwerkelijk door de tabel wordt gebruikt en
index, en wat we berekenen dat het zou moeten zijn.

Merk op dat deze actie twee hardgecodeerde waarden heeft om valse alarmen op kleinere te voorkomen
relaties. Tabellen moeten minimaal 10 pagina's hebben en indexen minimaal 15 voordat ze kunnen worden
beschouwd door deze test. Als u deze waarden echt wilt aanpassen, kunt u zoeken naar de
variabelen $MINPAGINA'S en $MINIPAGES bovenaan de "check_bloat"-subroutine. Deze
waarden worden genegeerd als een van beide --uitsluiten or --erbij betrekken is gebruikt.

Alleen de top 10 meest opgeblazen relaties worden getoond. U kunt dit nummer wijzigen met de
--perflimiet optie om uw eigen limiet in te stellen.

Het schema met de naam 'information_schema' is uitgesloten van deze test, omdat het de enige tabellen zijn
bevat zijn klein en veranderen niet.

Houd er rekening mee dat de waarden die door deze actie worden berekend niet nauwkeurig zijn en moeten worden gebruikt als:
slechts een richtlijn. Er is veel moeite gedaan om de juiste maat van een tafel in te schatten, maar in
uiteindelijk is het slechts een schatting. De juiste indexgrootte is nog meer een gok dan de
juiste tafelgrootte, maar beide zouden een ruw idee moeten geven van hoe opgeblazen dingen zijn.

Voorbeeld 1: Waarschuw als een tabel op poort 5432 groter is dan 100 MB en kritiek is als deze groter is dan 200
MB

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

Voorbeeld 2: Geef een kritiek als tafel 'orders' op host 'sami' meer dan 10 meg bloat heeft

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

Voorbeeld 3: Geef een kritieke als tabel 'q4' op database 'sales' meer dan 50% opgeblazen is

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

Voorbeeld 4: Geef een kritieke tabel is meer dan 20% opgeblazen en heeft meer dan 150 MB aan bloat:

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

Voorbeeld 5: Geef een kritieke tabel is meer dan 40% opgeblazen or heeft meer dan 500 MB aan bloat:

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

Voor MRTG-uitvoer geeft de eerste regel het hoogste aantal verspilde bytes voor de tabellen,
en de tweede regel geeft het hoogste aantal verspilde bytes voor de indexen. De vierde
regel geeft de databasenaam, tabelnaam en indexnaaminformatie. Als je wilt
voer in plaats daarvan de bloat-ratio uit (hoeveel keer groter is de relatie vergeleken met hoe)
groot het zou moeten zijn), geef gewoon "--mrtg=ratio" door.

checkpoint
("symlink: check_postgres_checkpoint") Bepaalt hoe lang sinds het laatste controlepunt is
gerund. Dit moet op dezelfde server draaien als de database die wordt gecontroleerd (bijv. de
-h vlag zal niet werken). Deze controle is bedoeld om te draaien op een "warme standby"-server die is
actieve verwerking van verzonden WAL-bestanden, en is bedoeld om te controleren of uw warme stand-by is
echt 'warm'. De gegevensdirectory moet worden ingesteld, hetzij door de omgevingsvariabele
"PGDATA", of het doorgeven van het argument "--datadir". Het geeft het aantal seconden terug sinds de
het laatste controlepunt is uitgevoerd, zoals bepaald door het ontleden van de aanroep naar "pg_controldata". Vanwege
hiervoor moet het uitvoerbare bestand pg_controldata beschikbaar zijn in het huidige pad. Alternatief,
je kunt "PGBINDIR" specificeren als de map waarin het zich bevindt. Het is ook mogelijk om te gebruiken
de speciale opties --veronderstel-prod or --veronderstel-standby-modus, als de gevonden modus niet de . is
één verwacht, wordt een KRITIEK uitgezonden.

Er moet ten minste één waarschuwing of kritiek argument worden ingesteld.

Voor deze actie is de Date::Parse-module vereist.

Retourneert voor MRTG of eenvoudige uitvoer het aantal seconden.

cluster_id
("symlink: check_postgres_cluster-id") Controleert of de Database System Identifier verstrekt
door pg_controldata is hetzelfde als de laatste keer dat u het controleerde. Dit moet op dezelfde server draaien
als de database die wordt gecontroleerd (bijv. de vlag -h zal niet werken). ofwel de
--waarschuwing of de --kritieke optie moet worden gegeven, maar niet beide. De waarde van elk is
de cluster-ID, een geheel getal. U kunt draaien met de speciale "--critical=0"
optie om een ​​bestaande cluster-ID te achterhalen.

Voorbeeld 1: Zoek de initiële identifier

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

Voorbeeld 2: Zorg ervoor dat het cluster hetzelfde is en waarschuw als dat niet het geval is, met behulp van het bovenstaande resultaat.

check_postgres_cluster_id --kritisch=5633695740047915135

Retourneert voor MRTG-uitvoer een 1 of 0 die aangeeft dat de identifier succesvol is mislukt om
bij elkaar passen. Er moet een ID worden opgegeven als het argument "--mrtg". De vierde regel altijd
geeft de huidige identifier.

inzet
("symlink: check_postgres_commitratio") Controleert de vastleggingsratio van alle databases en
klaagt als ze te laag zijn. Het is niet nodig om deze opdracht meer dan één keer per . uit te voeren
databasecluster. Databases kunnen worden gefilterd met de --erbij betrekken en --uitsluiten opties. Zien
het gedeelte "BASISFILTERING" voor meer details. Ze kunnen ook worden gefilterd door de eigenaar van
de database met de --includegebruiker en --exclusief gebruiker opties. Zie de "GEBRUIKERSNAAM"
FILTEREN" voor meer details.

De waarschuwings- en kritieke opties moeten worden gespecificeerd als percentages. Er zijn geen
standaardwaarden voor deze actie: de waarschuwing en kritiek moeten worden opgegeven. De waarschuwingswaarde:
kan niet groter zijn dan de kritische waarde. De uitvoer retourneert alle databases gesorteerd op
commitratio, de kleinste eerst.

Voorbeeld: Waarschuw als een database op hostvlag minder is dan 90% in commitratio en kritiek is
indien minder dan 80%.

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

Retourneert voor MRTG-uitvoer het percentage van de database met de kleinste vastleggingsratio aan
de eerste regel en de naam van de database op de vierde regel.

versterken
("symlink: check_postgres_connection") Maakt eenvoudig verbinding, geeft een 'SELECT' versie()', en
bladeren. Duurt niet --waarschuwing or --kritieke opties.

Voor MRTG-uitvoer, voert u eenvoudig een 1 (goede verbinding) of een 0 (slechte verbinding) uit op de eerste
lijn.

aangepaste_query
("symlink: check_postgres_custom_query") Voert een aangepaste query naar keuze uit en parseert
de resultaten. De query zelf wordt doorgegeven via het argument "query" en zou moeten zijn:
zo eenvoudig mogelijk gehouden. Wikkel het indien mogelijk in een weergave of een functie om te behouden
dingen gemakkelijker te beheren. De query moet een of twee kolommen retourneren. Is het vereist dat
een van de kolommen krijgt de naam "resultaat" en is het item dat wordt vergeleken met uw
waarschuwings- en kritische waarden. De tweede kolom is voor de prestatiegegevens en een willekeurige naam
kan worden gebruikt: dit is de 'waarde' in het gedeelte met prestatiegegevens.

Er moet ten minste één waarschuwing of kritiek argument worden opgegeven. Waar deze op zijn ingesteld, hangt af van
op het type query dat u uitvoert. Er zijn vier soorten custom_queries die kunnen worden
run, gespecificeerd door het argument "valtype". Als er geen is opgegeven, wordt deze actie standaard ingesteld op:
'geheel getal'. De vier soorten zijn:

geheel getal: Maakt een eenvoudige vergelijking van gehele getallen. De eerste kolom moet een eenvoudig geheel getal zijn,
en de waarschuwings- en kritieke waarden moeten hetzelfde zijn.

snaar: De waarschuwing en kritiek zijn tekenreeksen en worden alleen geactiveerd als de waarde in de
eerste kolom komt er precies overeen. Dit is hoofdlettergevoelig.

niet de tijd of: De waarschuwing en het kritieke zijn tijden en kunnen eenheden van seconden, minuten,
uur of dagen. Elk kan in het enkelvoud worden geschreven of worden afgekort tot alleen de eerste letter. Indien
er worden geen eenheden gegeven, seconden worden verondersteld. De eerste kolom moet een geheel getal zijn
staat voor het aantal seconden dat moet worden gecontroleerd.

grootte: De waarschuwing en de kritieke zijn grootten en kunnen eenheden van bytes, kilobytes,
megabytes, gigabytes, terabytes of exabytes. Elk kan worden afgekort tot de eerste letter.
Als er geen eenheden zijn opgegeven, wordt uitgegaan van bytes. De eerste kolom moet een geheel getal zijn
vertegenwoordigt het aantal te controleren bytes.

Normaal gesproken wordt een waarschuwing geactiveerd als de geretourneerde waarden zijn meer neem contact of gelijk aan de
kritische of waarschuwingswaarde. Echter, een optie van --omgekeerde zal de waarschuwing activeren als de
geretourneerde waarde is te verlagen neem contact of gelijk aan de kritische of waarschuwingswaarde.

Voorbeeld 1: Waarschuw als een relatie van meer dan 100 pagina's "rad" heet, vermeld het aantal pagina's
in het gedeelte met prestatiegegevens.

check_postgres_custom_query --valtype=string -w "rad" --query=
"SELECT relname AS resultaat, relpages AS pagina's FROM pg_class WHERE relpages > 100"

Voorbeeld 2: Geef een kritiek als de functie "foobar" een getal van meer dan 5 MB retourneert:

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

Voorbeeld 2: Waarschuwen als de functie "snazzo" minder dan 42 retourneert:

check_postgres_custom_query --critical=42 --query="SELECT snazzo() ALS resultaat" --reverse

Als je een nuttige custom_query bedenkt, overweeg dan om een ​​patch naar dit programma te sturen om
maak er een standaardactie van die andere mensen kunnen gebruiken.

Deze actie ondersteunt nog geen MRTG of eenvoudige uitvoer.

database_grootte
("symlink: check_postgres_database_size") Controleert de grootte van alle databases en klaagt
als ze te groot zijn. Het is niet nodig om deze opdracht meer dan één keer per database uit te voeren
TROS. Databases kunnen worden gefilterd met de --erbij betrekken en --uitsluiten opties. Zie de
"BASISFILTERING" voor meer details. Ze kunnen ook worden gefilterd door de eigenaar van de
database met de --includegebruiker en --exclusief gebruiker opties. Zie de "GEBRUIKERSNAAM FILTEREN"
sectie voor meer details.

De waarschuwings- en kritieke opties kunnen worden gespecificeerd als bytes, kilobytes, megabytes,
gigabytes, terabytes of exabytes. Elk kan ook worden afgekort tot de eerste letter.
Als er geen eenheid is opgegeven, wordt aangenomen dat de eenheden bytes zijn. Hier zijn geen standaardwaarden voor
actie: de waarschuwing en kritiek moeten worden gespecificeerd. De waarschuwingswaarde kan niet groter zijn
dan de kritische waarde. De uitvoer retourneert alle databases gesorteerd op grootte eerst,
toont zowel onbewerkte bytes als een "mooie" versie van de grootte.

Voorbeeld 1: Waarschuwen als een database op hostvlag groter is dan 1 TB, en kritiek is als deze groter is
1.1 TB.

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

Voorbeeld 2: Geef een kritieke waarde als de databasesjabloon1 op poort 5432 groter is dan 10 MB.

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

Voorbeeld 3: Geef een waarschuwing als een database op host 'tardis' die eigendom is van de gebruiker 'tom' voorbij is
5 GB

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

Retourneert voor MRTG-uitvoer de grootte in bytes van de grootste database op de eerste regel, en
de naam van de database op de vierde regel.

dbstats
("symlink: check_postgres_dbstats") Rapporteert informatie uit de pg_stat_database view,
en voert het op een cactusvriendelijke manier uit. Er wordt geen andere uitvoer ondersteund, omdat de uitvoer:
informatief en leent zich niet voor waarschuwingen, zoals gebruikt bij Nagios. Als er geen opties zijn
worden gegeven, worden alle databases geretourneerd, één per regel. U kunt een specifieke database opnemen
door gebruik te maken van de "--include" optie, of u kunt de "--dbname" optie gebruiken.

Elf items worden geretourneerd op elke regel, in de notatie naam:waarde, gescheiden door een enkele
ruimte. De artikelen zijn:

backends
Het aantal momenteel actieve backends voor deze database.

begaat
Het totale aantal vastleggingen voor deze database sinds deze is gemaakt of opnieuw is ingesteld.

terugdraaien
Het totale aantal terugdraaiingen voor deze database sinds deze is gemaakt of opnieuw is ingesteld.

dit artikel lezen
Het totale aantal gelezen schijfblokken.

hit Het totale aantal bufferhits.

ret Het totale aantal geretourneerde rijen.

halen
Het totale aantal opgehaalde rijen.

ins Het totale aantal ingevoegde rijen.

upd Het totale aantal bijgewerkte rijen.

del Het totaal aantal verwijderde rijen.

dbnaam
De naam van de databank.

Merk op dat ret, fetch, ins, upd en del items altijd 0 zijn als Postgres versie 8.2 is
of lager, aangezien die statistieken in die versies niet beschikbaar waren.

Als het argument dbname wordt gegeven, worden zeven extra items geretourneerd:

idxscan
Totaal aantal gebruikersindexscans.

idxtuplezen
Totaal aantal geretourneerde gebruikersindexitems.

idxtupfetch
Totaal aantal rijen opgehaald door eenvoudige gebruikersindexscans.

idxblkslezen
Totaal aantal gelezen schijfblokken voor alle gebruikersindexen.

idxblkshit
Totaal aantal bufferhits voor alle gebruikersindexen.

seqscan
Totaal aantal opeenvolgende scans voor alle gebruikerstabellen.

verder lezen
Totaal aantal geretourneerde tuples van alle gebruikerstabellen.

Voorbeeld 1: Pak de statistieken voor een database met de naam "producten" op host "willow":

check_postgres_dbstats --dbhost wilg --dbname producten

De geretourneerde uitvoer ziet er als volgt uit (allemaal op één regel, niet ingepakt):

backends:82 commits:58374408 rollbacks:1651 gelezen: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:wilg

invalid_triggers
("symlink: check_postgres_disabled_triggers") Controleert het aantal uitgeschakelde triggers
binnen de databank. De --waarschuwing en --kritieke opties zijn het aantal van dergelijke triggers
gevonden, en beide standaard op "1", zoals bij normaal gebruik, is het uitschakelen van triggers gevaarlijk
evenement. Als de database die wordt gecontroleerd 8.3 of hoger is, wordt gecontroleerd op het aantal
triggers die de status 'uitgeschakeld' hebben (in tegenstelling tot 'altijd' of 'replica'). De
output toont de naam van de tabel en de naam van de trigger voor elke uitgeschakelde
aansteken, veroorzaken.

Voorbeeld 1: Zorg ervoor dat er geen uitgeschakelde triggers zijn

check_postgres_disabled_triggers

Retourneert voor MRTG-uitvoer het aantal uitgeschakelde triggers op de eerste regel.

schijfruimte
("symlink: check_postgres_disk_space") Controleert de beschikbare fysieke schijfruimte die wordt gebruikt door
Postgres. Deze actie vereist dat u het uitvoerbare bestand "/bin/df" beschikbaar om te rapporteren
op schijfgroottes, en het moet ook worden uitgevoerd als een superuser, zodat het de
gegevensmap instelling binnenkant van Postgre. De --waarschuwing en --kritieke opties worden gegeven
in beide maten of percentages of beide. Bij gebruik van formaten zijn de standaard unittypes:
toegestaan: bytes, kilobytes, gigabytes, megabytes, gigabytes, terabytes of exabytes. Elk
mag alleen worden afgekort tot de eerste letter; helemaal geen eenheden geeft 'bytes' aan. De
standaardwaarden zijn '90%' en '95%'.

Deze opdracht controleert de volgende dingen om alle verschillende fysieke schijven te bepalen:
gebruikt door Postgres.

gegevensmap - De schijf waarop de hoofdgegevensmap staat.

inloggen directory - De schijf waarop de logbestanden staan.

WAL filet directory - De schijf waarop de vooruitschrijflogboeken staan ​​(bijv. symlinked pg_xlog)

tabelruimten - Elke tablespace die op een aparte schijf staat.

De uitvoer toont de totale gebruikte en beschikbare grootte op elke schijf, evenals de
percentage, gerangschikt van het hoogste naar het laagste gebruikte percentage. Elk item hierboven verwijst naar een bestand
systeem: deze kunnen worden opgenomen of uitgesloten. Zie de sectie "BASISFILTERING" voor meer informatie
details.

Voorbeeld 1: Zorg ervoor dat geen enkel bestandssysteem hoger is dan 90% voor de database op poort 5432.

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

Voorbeeld 2: Controleer of alle bestandssystemen die beginnen met /dev/sda kleiner zijn dan 10 GB en
11 GB (waarschuwing en kritiek)

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

Voorbeeld 4: Zorg ervoor dat geen enkel bestandssysteem beide meer dan 50% is en heeft meer dan 15 GB

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

Voorbeeld 5: Geef een waarschuwing als een bestandssysteem voor meer dan 70% vol is or heeft meer dan 1T

check_postgres_disk_space --warning='1T of 75'

Retourneert voor MRTG-uitvoer de grootte in bytes van het bestandssysteem op de eerste regel, en de
naam van het bestandssysteem op de vierde regel.

fsm_pagina's
("symlink: check_postgres_fsm_pages") Controleert hoe dicht een cluster bij de Postgres is
max_fsm_pagina's instelling. Deze actie werkt alleen voor databases van 8.2 of hoger, en het is
vereist de bijdrage module pg_freespacemap worden geïnstalleerd. De --waarschuwing en --kritieke
opties moeten worden uitgedrukt als percentages. Het aantal gebruikte pagina's in de vrije-ruimte-kaart
wordt bepaald door in de weergave pg_freespacemap_relations te kijken en een formule uit te voeren
gebaseerd op de formule die wordt gebruikt voor het uitvoeren van pagina's met vrije ruimte-kaart in het uitgebreide vacuüm
opdracht. De standaardwaarden zijn 85% voor de waarschuwing en 95% voor de kritische.

Voorbeeld 1: Geef een waarschuwing wanneer ons cluster 76% van de vrije paginaslots heeft opgebruikt,
met pg_freespacemap geïnstalleerd in database robert

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

Terwijl u de naam van de database moet doorgeven waar pg_freespacemap is geïnstalleerd, u
hoeft deze controle maar één keer per cluster uit te voeren. Het controleren van deze informatie vereist ook:
het verkrijgen van speciale sloten op de vrije-ruimte-kaart, dus het is aan te raden dit niet uit te voeren
controleer met korte tussenpozen.

Retourneert voor MRTG-uitvoer het percentage vrije ruimte-kaart op de eerste regel en het getal
aantal pagina's dat momenteel op de tweede regel wordt gebruikt.

fsm_relaties
("symlink: check_postgres_fsm_relations") Controleert hoe dicht een cluster zich bij de Postgres bevindt
max_fsm_relations instelling. Deze actie werkt alleen voor databases van 8.2 of hoger, en
het vereist de contrib-module pg_freespacemap worden geïnstalleerd. De --waarschuwing en --kritieke
opties moeten worden uitgedrukt als percentages. Het aantal gebruikte relaties in de vrije
space-map wordt bepaald door in de weergave pg_freespacemap_relations te kijken. De standaard
waarden zijn 85% voor de waarschuwing en 95% voor de kritische.

Voorbeeld 1: Geef een waarschuwing wanneer ons cluster 80% van de vrije-ruimterelaties heeft opgebruikt,
met pg_freespacemap geïnstalleerd in database dylan

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

Terwijl u de naam van de database moet doorgeven waar pg_freespacemap is geïnstalleerd, u
hoeft deze controle maar één keer per cluster uit te voeren. Het controleren van deze informatie vereist ook:
het verkrijgen van speciale sloten op de vrije-ruimte-kaart, dus het is aan te raden dit niet uit te voeren
controleer met korte tussenpozen.

Retourneert voor MRTG-uitvoer het percentage vrije ruimte-kaart op de eerste regel, het aantal
relaties die momenteel op de tweede lijn worden gebruikt.

hitratio
("symlink: check_postgres_hitratio") Controleert de hitratio van alle databases en klaagt
wanneer ze te laag zijn. Het is niet nodig om deze opdracht meer dan één keer per database uit te voeren
TROS. Databases kunnen worden gefilterd met de --erbij betrekken en --uitsluiten opties. Zie de
"BASISFILTERING" voor meer details. Ze kunnen ook worden gefilterd door de eigenaar van de
database met de --includegebruiker en --exclusief gebruiker opties. Zie de "GEBRUIKERSNAAM FILTEREN"
sectie voor meer details.

De waarschuwings- en kritieke opties moeten worden gespecificeerd als percentages. Er zijn geen
standaardwaarden voor deze actie: de waarschuwing en kritiek moeten worden opgegeven. De waarschuwingswaarde:
kan niet groter zijn dan de kritische waarde. De uitvoer retourneert alle databases gesorteerd op
hitratio, kleinste eerst.

Voorbeeld: Waarschuw als een database op hostvlag minder is dan 90% in hitratio, en kritiek als
minder dan 80%.

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

Retourneert voor MRTG-uitvoer het percentage van de database met de kleinste hitratio op de
eerste regel en de naam van de database op de vierde regel.

hot_standby_delay
("symlink: check_hot_standby_delay") Controleert de streaming-replicatievertraging door de . te berekenen
delta tussen de huidige xlog-positie van een masterserver en de replay-locatie van a
slaaf erop aangesloten. De slave-server moet in de hot_standby-modus (bijv. alleen-lezen) staan,
daarom is de minimale versie om deze actie te gebruiken Postgres 9.0. De --waarschuwing en
--kritieke opties zijn de delta tussen de xlog-locaties. Aangezien deze waarden byte zijn
offsets in de WAL ze moeten overeenkomen met het verwachte transactievolume van uw applicatie
om valse positieven of negatieven te voorkomen.

De eerste "--dbname", "--host", en "--port", enz. opties worden beschouwd als de master; de
tweede behoort tot de slaaf.

Bytewaarden moeten gebaseerd zijn op het transactievolume dat nodig is om de streaming te hebben
replicatie losgekoppeld van de master vanwege te veel vertraging, bepaald door de Postgres
configuratie variabele wal_keep_segments. Voor tijdseenheden zijn geldige eenheden 'seconden',
'minuten', 'uren' of 'dagen'. Elk kan in het enkelvoud of afgekort worden geschreven tot alleen de
eerste brief. Bij het specificeren van beide, in het formulier 'bytes en niet de tijd of', beide voorwaarden moeten zijn
klopt voor de te behalen drempel.

U moet informatie verstrekken over hoe u de databases kunt bereiken door een komma gescheiden op te geven
lijst naar de --dbhost en --dbport parameters, zoals "--dbport=5432,5543". Indien niet gegeven,
de actie mislukt.

Voorbeeld 1: Waarschuw een database met een lokale replica op poort 5433 die achterblijft bij elke xlog-replay
helemaal

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

Voorbeeld 2: Geef een kritiek als de laatste transactie die replica1 ontvangt meer is dan 10
minuten geleden

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

Voorbeeld 3: Laat replica1 1 WAL-segment achter als de master tijdelijk ziet
meer activiteit dan de streaming-replicatieverbinding aankan, of 10 minuten achter,
als de master heel weinig activiteit ziet en geen transacties verwerkt, maar niet
beide, wat zou wijzen op een blijvend probleem met de replicatieverbinding.

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

index_grootte
tafelgrootte
relatie_grootte
(symlinks: "check_postgres_index_size", "check_postgres_table_size", en
"check_postgres_relation_size") De acties tafelgrootte en index_grootte zijn eenvoudig
variaties van de relatie_grootte actie, die controleert op een relatie die ook is gegroeid
groot. Relaties (met andere woorden, tabellen en indexen) kunnen worden gefilterd met de --erbij betrekken
en --uitsluiten opties. Zie de sectie "BASISFILTERING" voor meer details. Relaties kunnen
ook worden gefilterd door de gebruiker die ze bezit, met behulp van de --includegebruiker en --exclusief gebruiker
opties. Zie de sectie "GEBRUIKERSNAAM FILTEREN" voor meer details.

De waarden voor de --waarschuwing en --kritieke opties zijn bestandsgroottes en kunnen eenheden hebben van
bytes, kilobytes, megabytes, gigabytes, terabytes of exabytes. Elk kan worden afgekort
naar de eerste letter. Als er geen eenheden zijn opgegeven, wordt uitgegaan van bytes. Er zijn geen standaard
waarden: zowel de waarschuwing als de kritische optie moeten worden gegeven. De retourtekst toont de
grootte van de grootste gevonden relatie.

Indien de --showperf optie is ingeschakeld, allen van de relaties met hun grootte zal worden gegeven.
Om dit te voorkomen, is het raadzaam om de --perflimiet optie, waardoor
de vraag om een ​​"ORDER BY size DESC LIMIT (perflimit)" uit te voeren.

Voorbeeld 1: Geef een kritieke tabel als een tabel groter is dan 600 MB op host burrick.

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

Voorbeeld 2: Waarschuw als de tafelproducten groter zijn dan 4 GB en geef een kritiek op 4.5 GB.

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

Voorbeeld 3: Waarschuw als een index die niet in het bezit is van postgres groter wordt dan 500 MB.

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

Retourneert voor MRTG-uitvoer de grootte in bytes van de grootste relatie, en de naam van de
database en relatie als de vierde regel.

laatste_analyse
last_vacuüm
last_autoanalyse
last_autovacuüm
(symlinks: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze" en "check_postgres_last_autovacuum") Controleert hoe lang
het is sinds de laatste keer dat vacuüm (of analyse) werd uitgevoerd op elke tabel in een of meer databases.
Het gebruik van deze acties vereist dat de doeldatabase versie 8.3 of hoger is, of dat:
de versie is 8.2 en de configuratievariabele stats_row_level is ingeschakeld. Tafels
kan worden gefilterd met de --erbij betrekken en --uitsluiten opties. Zie de "BASIS FILTERING"
sectie voor meer details. Tabellen kunnen ook door hun eigenaar worden gefilterd met behulp van de
--includegebruiker en --exclusief gebruiker opties. Zie de sectie "GEBRUIKERSNAAM FILTEREN" voor meer informatie
details.

De eenheden voor --waarschuwing en --kritieke worden aangegeven als tijden. Geldige eenheden zijn seconden,
minuten, uren en dagen; alles kan worden afgekort tot de eerste letter. Als er geen eenheden zijn
gegeven, worden 'seconden' verondersteld. De standaardwaarden zijn '1 dag' en '2 dagen'. Houd er rekening mee dat
dat er gevallen zijn waarin dit veld niet automatisch wordt ingevuld. indien zeker
tafels geven je problemen, zorg ervoor dat ze dode rijen hebben om te stofzuigen, of gewoon
sluit ze uit van de test.

Het schema met de naam 'information_schema' is uitgesloten van deze test, omdat het de enige tabellen zijn
bevat zijn klein en veranderen niet.

Merk op dat de niet-'auto'-versies ook de auto-versies controleren. In andere
woorden, het gebruik van last_vacuum zal rapporteren over het laatste vacuüm, of het een normaal vacuüm was,
of een uitgevoerd door de autovacuum daemon.

Voorbeeld 1: Waarschuw als een tafel in 3 dagen niet is gestofzuigd en geef een kritiek op a
week, voor alsem alsem

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

Voorbeeld 2: Hetzelfde als hierboven, maar sla tabellen over die behoren tot de gebruikers 'eve' of 'mallory'

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

Voor MRTG-uitvoer, retourneert (op de eerste regel) de MINSTE hoeveelheid tijd in seconden sinds a
tafel voor het laatst is gestofzuigd of geanalyseerd. De vierde regel retourneert de naam van de database en
naam van de tafel.

luisteraar
("symlink: check_postgres_listener") Bevestig dat iemand naar een of meer luistert
specifieke strings (met behulp van het LISTEN/NOTIFY-systeem), door naar de pg_listener-tabel te kijken.
Slechts één waarschuwing of kritiek is nodig. Het formaat is een eenvoudige tekenreeks die de . vertegenwoordigt
LISTEN-doel, of een tilde-teken gevolgd door een tekenreeks voor een reguliere expressiecontrole.
Merk op dat deze controle niet werkt op versies van Postgres 9.0 of hoger.

Voorbeeld 1: Geef een waarschuwing als niemand luistert naar de string bucardo_mcp_ping op poorten
5555 en 5556

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

Voorbeeld 2: Geef een kritiek als er geen actieve LISTEN-verzoeken zijn die overeenkomen met 'grimm' op
database oscar

check_postgres_listener --db oskar --critical=~grimm

Retourneert voor MRTG-uitvoer een 1 of een 0 op de eerste, wat wijst op succes of mislukking. De naam
van de melding dient te geschieden via de --mrtg optie.

sluizen
("symlink: check_postgres_locks") Controleer het totale aantal sloten op een of meer
databanken. Het is niet nodig om dit meer dan één keer per databasecluster uit te voeren. Databases kunnen
worden gefilterd met de --erbij betrekken en --uitsluiten opties. Zie de sectie "BASISFILTERING"
voor meer details.

De --waarschuwing en --kritieke opties kunnen worden opgegeven als eenvoudige getallen, die
het totaal aantal sloten, of ze kunnen uitgesplitst worden naar type slot. Geldige slotnamen
zijn 'totaal', 'wachten' of de naam van een slottype dat door Postgres wordt gebruikt. Deze namen zijn
niet hoofdlettergevoelig en hebben het "slot"-gedeelte aan het uiteinde niet nodig, dus exclusief zal matchen
'Exclusief Slot'. Het formaat is naam=nummer, met verschillende items gescheiden door dubbele punten of
puntkomma's (of een ander symbool).

Voorbeeld 1: Waarschuwen als het aantal sloten 100 of meer is, en kritiek als 200 of meer, aan
gastheer garrett

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

Voorbeeld 2: Waarschuw op de host-artemus als er 200 of meer vergrendelingen zijn en geef een kritieke als
er zijn meer dan 250 sloten in totaal, of als er meer dan 20 exclusieve sloten zijn, of als er meer dan 5 verbindingen zijn
wachten op een slot.

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

Retourneert voor MRTG-uitvoer het aantal sloten op de eerste regel en de naam van de
database op de vierde regel.

logfile
("symlink: check_postgres_logfile") Zorgt ervoor dat het logbestand zich op de verwachte locatie bevindt
en wordt ingelogd. Deze actie geeft een commando dat een fout op elk genereert
database die het controleert, en zorgt ervoor dat het bericht in de logboeken wordt weergegeven. Het scant de
verschillende log_* instellingen in Postgres om erachter te komen waar de logs zouden moeten zijn. als jij
syslog gebruiken, doet het een ruwe (maar niet onfeilbare) scan van /etc/syslog.conf.
Als alternatief kunt u de naam van het logbestand opgeven met de --logbestand optie. Dit is
vooral handig als de logs een aangepast rotatieschema hebben dat wordt aangedreven door een extern programma.
De --logbestand optie ondersteunt de volgende escape-tekens: "%Y %m %d %H", die
vertegenwoordigen respectievelijk het huidige jaar, de maand, de datum en het uur. Een fout is altijd
als kritiek gerapporteerd, tenzij de waarschuwingsoptie is doorgegeven als een waarde die niet nul is.
Afgezien van dat specifieke gebruik, zouden de "--warning" en "--critical" opties: niet be
gebruikt.

Voorbeeld 1: Zorg ervoor dat op poort 5432 het logbestand naar het bestand wordt geschreven
/home/greg/pg8.2.log

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

Voorbeeld 2: Hetzelfde als hierboven, maar geef een waarschuwing, geen kritiek

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

Retourneert voor MRTG-uitvoer een 1 of 0 op de eerste regel, wat wijst op succes of mislukking. In
in het geval van een storing, geeft de vierde regel meer details over de aangetroffen storing.

nieuwe_versie_bc
("symlink: check_postgres_new_version_bc") Controleert of een nieuwere versie van de Bucardo
programma beschikbaar is. De huidige versie wordt verkregen door "bucardo_ctl --version" uit te voeren.
Als er een grote upgrade beschikbaar is, wordt een waarschuwing geretourneerd. Als een revisie-upgrade is
beschikbaar is, wordt een kritieke geretourneerd. (Bucardo is een meester tot slaaf en meester tot meester)
replicatiesysteem voor Postgres: zie http://bucardo.org voor meer informatie). Zie ook
de informatie over de "--get_method" optie.

nieuwe_versie_box
("symlink: check_postgres_new_version_box") Controleert of een nieuwere versie van de boxinfo
programma beschikbaar is. De huidige versie wordt verkregen door "boxinfo.pl --version" uit te voeren.
Als er een grote upgrade beschikbaar is, wordt een waarschuwing geretourneerd. Als een revisie-upgrade is
beschikbaar is, wordt een kritieke geretourneerd. (boxinfo is een programma om belangrijk te grijpen)
informatie van een server en zet het in een HTML-formaat: zie
http://bucardo.org/wiki/boxinfo voor meer informatie). Zie ook de informatie op de
"--get_method" optie.

nieuwe_versie_cp
("symlink: check_postgres_new_version_cp") Controleert of er een nieuwere versie van dit programma is
(check_postgres) is beschikbaar, door de versie uit een klein tekstbestand op het hoofdmenu te halen
pagina van de startpagina van het project. Retourneert een waarschuwing als de geretourneerde versie dat niet doet
overeenkomen met degene die u gebruikt. Aanbevolen interval om te controleren is eenmaal per dag. Zie ook de
informatie over de "--get_method" optie.

nieuwe_versie_pg
("symlink: check_postgres_new_version_pg") Controleert of er een nieuwere revisie van Postgres bestaat
voor elke database waarmee is verbonden. Merk op dat dit alleen controleert op revisie, bijv. van
8.3.6 tot 8.3.7. Revisies zijn altijd 100% binair compatibel en bevatten geen dump en
herstellen om te upgraden. Er worden revisies gemaakt om bugs te verhelpen, dus upgrade zo snel mogelijk
wordt altijd aanbevolen. Retourneert een waarschuwing als u niet over de laatste revisie beschikt. Het is
aanbevolen om deze controle ten minste eenmaal per dag uit te voeren. Zie ook de informatie op de
"--get_method" optie.

nieuwe_versie_tnm
("symlink: check_postgres_new_version_tnm") Controleert of een nieuwere versie van de tail_n_mail
programma beschikbaar is. De huidige versie wordt verkregen door "tail_n_mail --version" uit te voeren.
Als er een grote upgrade beschikbaar is, wordt een waarschuwing geretourneerd. Als een revisie-upgrade is
beschikbaar is, wordt een kritieke geretourneerd. (tail_n_mail is een tool voor het bewaken van logboeken die kan verzenden
mail wanneer er interessante gebeurtenissen in uw Postgres-logboeken verschijnen. Zien:
http://bucardo.org/wiki/Tail_n_mail voor meer informatie). Zie ook de informatie over
de "--get_method" optie.

pgb_pool_cl_actief
pgb_pool_cl_wachten
pgb_pool_sv_actief
pgb_pool_sv_idle
pgb_pool_sv_gebruikt
pgb_pool_sv_getest
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" en "check_postgres_pgb_pool_maxwait")

Onderzoekt de poolstatistieken van pgbouncer. Elke pool heeft een set "client"-verbindingen,
verwijzend naar verbindingen van externe clients en "server"-verbindingen, verwijzend naar:
verbindingen met PostgreSQL zelf. De gerelateerde check_postgres-acties worden voorafgegaan door "cl_"
en "sv_", respectievelijk. Actieve clientverbindingen zijn de verbindingen die momenteel zijn gekoppeld
met een actieve serververbinding. Clientverbindingen kunnen ook "wachten", wat betekent dat ze
hebben nog geen serververbinding toegewezen gekregen. Serververbindingen zijn "actief" (gekoppeld
naar een klant), "inactief" (wacht op een klantverbinding om mee te linken), "gebruikt" (alleen
ontkoppeld van een client en nog niet teruggekeerd naar de inactieve pool), "getest" (wordt momenteel
getest) en "login" (tijdens het inloggen). De maxwait-waarde geeft aan hoe lang in
seconden heeft de oudste wachtende client-verbinding gewacht.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") Controleert het huidige aantal verbindingen
voor een of meer databases via pgbouncer, en vergelijkt deze optioneel met het maximum
toegestaan, wat wordt bepaald door de configuratievariabele pgbouncer max_client_conn. De
--waarschuwing en --kritieke opties kunnen een van de drie vormen aannemen. Ten eerste kan een eenvoudig nummer
worden gegeven, wat het aantal verbindingen vertegenwoordigt waarop de waarschuwing wordt gegeven.
Deze keuze maakt geen gebruik van de max_connections instelling. Ten tweede, het percentage van beschikbare
verbindingen kunnen worden gegeven. Ten derde kan een negatief getal worden gegeven dat staat voor de
aantal aansluitingen over tot max_connections is bereikt. De standaardwaarden voor
--waarschuwing en --kritieke zijn '90%' en '95%'. U kunt de databases ook filteren met behulp van:
de --erbij betrekken en --uitsluiten opties. Zie de sectie "BASISFILTERING" voor meer details.

Om alleen niet-inactieve processen te bekijken, kunt u de --noedel argument. Merk op dat de gebruiker die u
maken verbinding, want dit moet een superuser zijn om dit correct te laten werken.

Voorbeeld 1: Geef een waarschuwing wanneer het aantal verbindingen op host quirm 120 bereikt, en a
kritisch als het 150 bereikt.

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

Voorbeeld 2: Geef een kritiek wanneer we 75% van onze max_connections-instelling op hosts hebben bereikt
lancre of lancre2.

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

Voorbeeld 3: Geef een waarschuwing wanneer er nog maar 10 verbindingsslots over zijn op de host
plasmide, en een kritieke als we er nog maar 5 over hebben.

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

Voor MRTG-uitvoer wordt het aantal verbindingen gerapporteerd op de eerste regel en de vierde
regel geeft de naam van de database, plus de huidige max_client_conn. Indien meer dan één
database is opgevraagd, wordt degene met het hoogste aantal verbindingen uitgevoerd.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") Controleert of alle pgBouncer-instellingen zijn
hetzelfde als de laatste keer dat u het controleerde. Dit wordt gedaan door het genereren van een controlesom van een gesorteerde lijst
van het instellen van namen en hun waarden. Merk op dat u de databasenaam niet moet specificeren, het is
wordt automatisch standaard ingesteld op pgbouncer. ofwel de --waarschuwing of de --kritieke optie
moet worden gegeven, maar niet beide. De waarde van elk is de controlesom, een 32 tekens
hexadecimale waarde. U kunt de speciale "--critical=0" optie gebruiken om erachter te komen
bestaande controlesom.

Voor deze actie is de Digest::MD5-module vereist.

Voorbeeld 1: Zoek de initiële controlesom voor pgbouncer-configuratie op poort 6432 met behulp van de
standaardgebruiker (meestal postgres)

check_postgres_pgbouncer_checksum --port=6432 --critical=0

Voorbeeld 2: Zorg ervoor dat er geen instellingen zijn gewijzigd en waarschuw zo ja, met behulp van de controlesom van
bovenstaand.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Retourneert voor MRTG-uitvoer een 1 of 0 die aangeeft dat de controlesom is mislukt.
Er moet een controlesom worden opgegeven als het argument "--mrtg". De vierde regel geeft altijd de
huidige controlesom.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") Controleert of alle pgAgent-taken die
uitgevoerd in het voorgaande tijdsinterval zijn geslaagd. Dit wordt gedaan door te controleren op
alle stappen die een niet-nul resultaat hebben.

Ofwel "--warning" of "--critical", of beide, kunnen worden gespecificeerd als tijden, en taken zullen worden
gecontroleerd op storingen binnen de gespecificeerde tijdsperioden vóór de huidige tijd. Geldig
eenheden zijn seconden, minuten, uren en dagen; alles kan worden afgekort tot de eerste letter.
Als er geen eenheden zijn opgegeven, wordt uitgegaan van 'seconden'.

Voorbeeld 1: Geef een kritiek wanneer taken die de afgelopen dag zijn uitgevoerd, zijn mislukt.

check_postgres_pgagent_jobs --critical=1d

Voorbeeld 2: Geef een waarschuwing wanneer taken die in de afgelopen week zijn uitgevoerd, zijn mislukt.

check_postgres_pgagent_jobs --waarschuwing=7d

Voorbeeld 3: Geef een kritiek voor taken die de afgelopen 2 uur zijn mislukt en een waarschuwing voor:
taken die de afgelopen 4 uur zijn mislukt:

check_postgres_pgagent_jobs --critical=2u --waarschuwing=4u

prepare_txns
("symlink: check_postgres_prepared_txns") Controleer de leeftijd van een bestaande voorbereiding
transacties. Houd er rekening mee dat de meeste mensen GEEN voorbereide transacties zullen gebruiken, omdat ze onderdeel zijn
van tweedelige commit en ingewikkeld te onderhouden. Ze moeten ook niet worden verward met
voorbereide VERKLARINGEN, dat is waar de meeste mensen aan denken als ze voorbereiding horen. De
standaardwaarde voor een waarschuwing is 1 seconde, om elk gebruik van voorbereide transacties te detecteren, die
is waarschijnlijk een fout op de meeste systemen. Waarschuwing en kritiek zijn het aantal seconden a
voorbereide transactie is geopend voordat een waarschuwing is gegeven.

Voorbeeld 1: Geef een waarschuwing bij het detecteren van voorbereide transacties:

check_postgres_prepared_txns -w 0

Voorbeeld 2: Geef een kritiek als een voorbereide transactie langer dan 10 . openstaat
seconden, maar laat maximaal 360 seconden toe voor de database 'shrike':

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

Retourneert voor MRTG-uitvoer het aantal seconden dat de oudste transactie open was als de
eerste regel, en van welke database als laatste regel afkomstig is.

query_runtime
("symlink: check_postgres_query_runtime") Controleert hoe lang het duurt om een ​​specifieke query uit te voeren,
door er een "EXPLAIN ANALYZE" tegen uit te voeren. De --waarschuwing en --kritieke opties zijn de
maximale hoeveelheid tijd die de query mag nemen. Geldige eenheden zijn seconden, minuten en uren;
elke kan worden afgekort tot de eerste letter. Als er geen eenheden zijn opgegeven, wordt uitgegaan van 'seconden'.
Zowel de waarschuwing als de kritieke optie moeten worden gegeven. De naam van de weergave of functie
uit te voeren moet worden doorgegeven aan de --querynaam optie. Het moet uit een enkel woord bestaan
(of schema.word), met optionele haakjes aan het einde.

Voorbeeld 1: Geef een kritiek als de functie met de naam "speedtest" niet binnen 10 seconden wordt uitgevoerd of
minder.

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

Voor MRTG-uitvoer: rapporteert de tijd in seconden die nodig is om de query op de eerste regel te voltooien.
De vierde regel geeft de database weer.

vraag_tijd
("symlink: check_postgres_query_time") Controleert de lengte van lopende query's op een of meer
databanken. Het is niet nodig om dit meer dan één keer op hetzelfde databasecluster uit te voeren. Opmerking
dat dit al zoekopdrachten uitsluit die "inactief in transactie" zijn. Databases kunnen
gefilterd met behulp van de --erbij betrekken en --uitsluiten opties. Zie de sectie "BASISFILTERING"
voor meer details. U kunt ook filteren op de gebruiker die de query uitvoert met de --includegebruiker
en --exclusief gebruiker opties. Zie de sectie "GEBRUIKERSNAAM FILTEREN" voor meer details.

De waarden voor de --waarschuwing en --kritieke opties zijn hoeveelheden tijd, en standaard ingesteld op '2'
minuten' en '5 minuten' respectievelijk. Geldige eenheden zijn 'seconden', 'minuten', 'uren' of
'dagen'. Elk kan in het enkelvoud worden geschreven of worden afgekort tot alleen de eerste letter. Indien geen eenheden
worden gegeven, wordt aangenomen dat de eenheid seconden is.

Voor deze actie is Postgres 8.1 of beter vereist.

Voorbeeld 1: Geef een waarschuwing als een query langer dan 3 minuten loopt, en a
kritiek indien langer dan 5 minuten.

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

Voorbeeld 2: Gebruik standaardwaarden (2 en 5 minuten), controleer alle databases behalve die
beginnend met 'sjabloon'.

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

Voorbeeld 3: Waarschuwen als gebruiker 'don' een zoekopdracht heeft die langer dan 20 seconden duurt

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

Retourneert voor MRTG-uitvoer de lengte in seconden van de langstlopende query op de eerste
lijn. De vierde regel geeft de naam van de database.

repliceren_rij
("symlink: check_postgres_replicate_row") Controleert of master-slave-replicatie werkt
aan een of meer slaven.

De eerste "--dbname", "--host", en "--port", enz. opties worden beschouwd als de master;
volgende toepassingen zijn de slaven. De waarden of de --waarschuwing en --kritieke opties zijn
tijdseenheden, en er moet ten minste één worden opgegeven (geen standaardwaarden). Geldige eenheden zijn 'seconden',
'minuten', 'uren' of 'dagen'. Elk kan in het enkelvoud of afgekort worden geschreven tot alleen de
eerste brief. Als er geen eenheden worden gegeven, wordt aangenomen dat de eenheden seconden zijn.

Deze controle werkt een enkele rij op de master bij en meet vervolgens hoe lang het duurt om
toegepast op de slaven. Om dit te doen, moet je een tafel kiezen die wordt gerepliceerd, dan
zoek een rij die kan worden gewijzigd en die door geen enkel ander proces zal worden gewijzigd. EEN
specifieke kolom van deze rij wordt van de ene waarde naar de andere gewijzigd. Dit alles wordt gevoed
naar de "repinfo"-optie, en moet de volgende opties bevatten, gescheiden door komma's:
tabelnaam, primaire sleutel, sleutel-ID, kolom, eerste waarde, tweede waarde.

Voorbeeld 1: Slony repliceert een tabel met de naam 'orders' van host 'alpha' naar host 'beta',
in de database 'verkoop'. De primaire sleutel van de tabel heet id, en we gaan naar:
test de rij met een id van 3 (wat historisch is en nooit is gewijzigd). Er is een kolom
met de naam 'salesrep' die we gaan omschakelen van een waarde van 'slon' naar 'nols' om te controleren
de replicatie. We willen een waarschuwing geven als de replicatie niet binnen 10 . plaatsvindt
seconden.

check_postgres_replicate_row --host=alpha --dbname=sales --host=bèta
--dbname=verkoop --warning=10 --repinfo=orders,id,3,salesrep,slon,nols

Voorbeeld 2: Bucardo repliceert een tabel met de naam 'receipt' van host 'green' naar hosts
'rood', 'blauw' en 'geel'. De database voor beide zijden is 'openbaar'. De slave-databases
draaien op poort 5455. De primaire sleutel heet 'receipt_id', de rij die we willen gebruiken
heeft een waarde van 9, en de kolom die we voor de test willen wijzigen heet 'zone'. Goed
wissel tussen 'noord' en 'zuid' voor de waarde van deze kolom, en gooi een kritieke if
de verandering is niet binnen 5 seconden op alle drie de slaves.

check_postgres_replicate_row --host=groen --port=5455 --host=rood,blauw,geel
--critical=5 --repinfo=receipt,receipt_id,9,zone,noord,zuid

Voor MRTG-uitvoer, retourneert op de eerste regel de tijd in seconden die de replicatie nodig heeft om
finish. De maximale tijd is ingesteld op 4 minuten en 30 seconden: als er geen replicatie heeft plaatsgevonden
plaats in die lange tijd, wordt een fout gegooid.

zelfde_schema
("symlink: check_postgres_same_schema") Controleert of twee of meer databases identiek zijn
voor zover hun schema (maar niet de gegevens erin). Dit is vooral handig om te maken
zorg ervoor dat uw slaven op geen enkele manier zijn gewijzigd of beschadigd wanneer u master to slave gebruikt
replicatie. In tegenstelling tot de meeste andere acties, heeft dit geen waarschuwing of kritische criteria - de
databases zijn gesynchroniseerd of niet. Als ze verschillend zijn, een gedetailleerde lijst van de
verschillen wordt gepresenteerd.

Misschien wilt u bepaalde verschillen uitsluiten of wegfilteren. De manier om dit te doen is door toe te voegen
tekenreeksen naar de optie "--filter". Om een ​​type object uit te sluiten, gebruikt u "noname", waarbij 'name'
is het type object, bijvoorbeeld "noschema". Objecten van een bepaald type uitsluiten door a
reguliere expressie tegen hun naam, gebruik "noname=regex". Zie de voorbeelden hieronder voor een
beter begrip.

De typen objecten die kunnen worden gefilterd, zijn onder meer:

gebruiker
schema
tafel
view
index
volgorde
beperking
leiden
functie

De filteroptie "noposition" voorkomt verificatie van de positie van kolommen binnen a
tafel.

De filteroptie "nofuncbody" voorkomt vergelijking van de lichamen van alle functies.

De filteroptie "noperm" voorkomt vergelijking van objectrechten.

Om de tweede database te leveren, voegt u de verschillen toe aan de eerste door een oproep naar
het juiste verbindingsargument. Om bijvoorbeeld databases op hosts alfa en . te vergelijken
bravo, gebruik "--dbhost=alpha,bravo". Zie ook onderstaande voorbeelden.

Als er slechts één host wordt opgegeven, wordt aangenomen dat we een "time-based" rapport maken. De
de eerste keer dat dit wordt uitgevoerd, wordt een momentopname van alle items in de database opgeslagen op een lokale
het dossier. Wanneer u het opnieuw uitvoert, wordt die momentopname ingelezen en wordt "database #2" en is
vergeleken met de huidige database.

Gebruik het argument --replace om het oude opgeslagen bestand door de nieuwe versie te vervangen.

Om snapshots op verschillende tijdstippen mogelijk te maken, kunt u het argument "--achtervoegsel" gebruiken om
de bestandsnamen die uniek zijn voor elke run. Zie de voorbeelden hieronder.

Voorbeeld 1: Controleer of twee databases op hosts ster en regel hetzelfde zijn:

check_postgres_same_schema --dbhost=ster,regel

Voorbeeld 2: Hetzelfde als voorheen, maar sluit alle triggers uit met "slony" in hun naam

check_postgres_same_schema --dbhost=ster, regel --filter="notrigger=slony"

Voorbeeld 3: Hetzelfde als voorheen, maar ook alle indexen uitsluiten

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

Voorbeeld 4: Controleer de verschillen voor de database "battlestar" op verschillende poorten

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

Voorbeeld 5: Maak een dagelijks en wekelijks snapshot-bestand

check_postgres_same_schema --dbname=cylon --suffix=dagelijks
check_postgres_same_schema --dbname=cylon --suffix=wekelijks

Voorbeeld 6: Voer een historische vergelijking uit en vervang vervolgens het bestand

check_postgres_same_schema --dbname=cylon --suffix=dagelijks --replace

volgorde
("symlink: check_postgres_sequence") Controleert hoeveel ruimte er nog is op alle reeksen in de
databank. Dit wordt gemeten als het percentage van de totale mogelijke waarden die zijn gebruikt
voor elke reeks. De --waarschuwing en --kritieke opties moeten worden uitgedrukt als
procenten. De standaardwaarden zijn 85% voor de waarschuwing en 95% voor de kritische. Jij mag
gebruik --include en --exclude om te bepalen welke reeksen moeten worden gecontroleerd. Merk op dat dit
check houdt rekening met ongebruikelijk minwaarde en aanwas by waarden, maar het maakt niet uit of de
volgorde is ingesteld om te fietsen of niet.

De uitvoer voor Nagios geeft de naam van de reeks, het gebruikte percentage en het nummer
aantal 'calls' over, wat aangeeft hoe vaak nextval in die reeks kan worden aangeroepen
voordat u de maximale waarde bereikt.

De uitvoer voor MRTG retourneert het hoogste percentage over alle reeksen op de eerste regel,
en de naam van elke reeks met dat percentage op de vierde regel, gescheiden door een "|"
(pijp) als er meer dan één reeks is met dat percentage.

Voorbeeld 1: Geef een waarschuwing als een reeks bijna 95% vol is.

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

Voorbeeld 2: Controleer of de reeks met de naam "orders_id_seq" niet meer dan halfvol is.

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

instellingen_controlesom
("symlink: check_postgres_settings_checksum") Controleert of alle Postgres-instellingen zijn
hetzelfde als de laatste keer dat u het controleerde. Dit wordt gedaan door het genereren van een controlesom van een gesorteerde lijst
van het instellen van namen en hun waarden. Merk op dat verschillende gebruikers in dezelfde database mogelijk:
verschillende checksums, vanwege ALTER USER-gebruik, en vanwege het feit dat superusers meer zien
instellingen dan gewone gebruikers. ofwel de --waarschuwing of de --kritieke optie zou moeten zijn
gegeven, maar niet beide. De waarde van elk is de controlesom, een hexadecimaal getal van 32 tekens
waarde. U kunt de speciale "--critical=0" optie gebruiken om een ​​bestaande
controlesom.

Voor deze actie is de Digest::MD5-module vereist.

Voorbeeld 1: Zoek de initiële controlesom voor de database op poort 5555 met de standaardgebruiker
(meestal postgres)

check_postgres_settings_checksum --port=5555 --critical=0

Voorbeeld 2: Zorg ervoor dat er geen instellingen zijn gewijzigd en waarschuw zo ja, met behulp van de controlesom van
bovenstaand.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

Retourneert voor MRTG-uitvoer een 1 of 0 die aangeeft dat de controlesom is mislukt.
Er moet een controlesom worden opgegeven als het argument "--mrtg". De vierde regel geeft altijd de
huidige controlesom.

slony_status
("symlink: check_postgres_slony_status") Controleert de status van een Slony-cluster door
kijkend naar de resultaten van Slony's sl_status-weergave. Dit wordt geretourneerd als het aantal
seconden "vertragingstijd". De --waarschuwing en --kritieke opties moeten worden uitgedrukt als tijden.
De standaardwaarden zijn 60 seconden voor de waarschuwing en 300 seconden voor de kritische.

Het optionele argument --schema gaf het schema aan waaronder Slony is geïnstalleerd. Als het
niet is opgegeven, wordt het schema elke keer dat deze controle wordt uitgevoerd automatisch bepaald.

Voorbeeld 1: Geef een waarschuwing als een Slony meer dan 20 seconden achterloopt

check_postgres_slony_status --waarschuwing 20

Voorbeeld 2: Geef een kritieke waarde als Slony, geïnstalleerd onder het schema "_slony", groter is dan 10
minuten vertraagd

check_postgres_slony_status --schema=_slony --critical=600

tijdsynchronisatie
("symlink: check_postgres_timesync") Vergelijkt de lokale systeemtijd met de gerapporteerde tijd
door een of meer databases. De --waarschuwing en --kritieke opties vertegenwoordigen het aantal
seconden tussen de twee systemen voordat een waarschuwing wordt gegeven. Als geen van beide is opgegeven, wordt de
standaardwaarden worden gebruikt, namelijk '2' en '5'. De waarschuwingswaarde kan niet groter zijn dan
de kritische waarde. Vanwege het niet-exacte karakter van deze test zijn waarden van '0' of '1' niet
aanbevolen.

De geretourneerde tekenreeks toont het tijdsverschil en de tijd aan elke kant die is geschreven
uit.

Voorbeeld 1: Controleer of databases op hosts ankh, morpork en klatch niet meer dan 3 . zijn
seconden verwijderd van de lokale tijd:

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

Voor MRTG-uitvoer, retourneert een van de eerste regel het aantal seconden verschil tussen de
lokale tijd en de databasetijd. De vierde regel retourneert de naam van de database.

txn_inactief
("symlink: check_postgres_txn_idle") Controleert het aantal en de duur van "idle in
transactie"-query's op een of meer databases. Het is niet nodig om dit meer dan één keer uit te voeren
op hetzelfde databasecluster. Databases kunnen worden gefilterd met behulp van de --erbij betrekken en
--uitsluiten opties. Zie de sectie "BASISFILTERING" hieronder voor meer details.

De --waarschuwing en --kritieke opties worden gegeven als tijdseenheden, getekende gehele getallen, of
gehele getallen voor tijdseenheden, en beide moeten worden opgegeven (er zijn geen standaardwaarden). Geldige eenheden
zijn 'seconden', 'minuten', 'uren' of 'dagen'. Elk kan enkelvoud of afgekort worden geschreven
alleen de eerste letter. Als er geen eenheden worden gegeven en de nummers zijn niet ondertekend, de eenheden
worden verondersteld seconden te zijn.

Voor deze actie is Postgres 8.3 of beter vereist.

Voorbeeld 1: Geef een waarschuwing als een verbinding langer dan 15 . inactief is geweest in transactie
seconden:

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

Voorbeeld 2: Geef een waarschuwing als er 50 of meer transacties zijn

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

Voorbeeld 3: Geef een kritiek als 5 of meer verbindingen langer inactief zijn geweest in transactie
dan 10 seconden:

check_postgres_txn_idle --port=5432 --critical='5 voor 10 seconden'

Retourneert voor MRTG-uitvoer de tijd in seconden waarin de langste inactieve transactie is geweest
rennen. De vierde regel retourneert de naam van de database en andere informatie over de
langste transactie.

txn_tijd
("symlink: check_postgres_txn_time") Controleert de lengte van open transacties op een of meer
databanken. U hoeft deze opdracht niet meer dan één keer per databasecluster uit te voeren.
Databases kunnen worden gefilterd met behulp van de --erbij betrekken en --uitsluiten opties. Zie de "BASIS"
FILTERING" voor meer details. De eigenaar van de transactie kan ook worden gefilterd door:
gebruik van de --includegebruiker en --exclusief gebruiker opties. Zie de sectie "GEBRUIKERSNAAM FILTEREN"
voor meer details.

De waarden of de --waarschuwing en --kritieke opties zijn tijdseenheden en moeten worden opgegeven
(geen standaard). Geldige eenheden zijn 'seconden', 'minuten', 'uren' of 'dagen'. Elk kan zijn
enkelvoud of afgekort tot alleen de eerste letter. Als er geen eenheden worden gegeven, is de
eenheden worden verondersteld seconden te zijn.

Voor deze actie is Postgres 8.3 of beter vereist.

Voorbeeld 1: Geef een kritiek als een transactie langer dan 10 minuten open is:

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

Voorbeeld 1: Waarschuwen als gebruiker 'magazijn' een transactie langer dan 30 seconden open heeft staan

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

Retourneert voor MRTG-uitvoer de maximale tijd in seconden dat een transactie open is geweest op de
Eerste lijn. De vierde regel geeft de naam van de database.

txn_wraparound
("symlink: check_postgres_txn_wraparound") Controleert hoe dicht bij transactie wraparound één is
of meer databases krijgen. De --waarschuwing en --kritieke opties geven het nummer aan
aantal transacties gedaan en moet een positief geheel getal zijn. Als een van beide opties niet wordt gegeven, wordt de
standaardwaarden van 1.3 en 1.4 miljard worden gebruikt. Het is niet nodig om deze opdracht meer uit te voeren
dan één keer per databasecluster. Voor een meer gedetailleerde bespreking van wat dit nummer is
vertegenwoordigt en wat u eraan kunt doen, gaat u naar de pagina
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUM-VOOR-OMSCHAKELEN>

De waarschuwings- en kritieke waarden kunnen onderstrepingen in het getal hebben voor de leesbaarheid, zoals Perl
doet.

Voorbeeld 1: Controleer de standaardwaarden voor de localhost-database

check_postgres_txn_wraparound --host=localhost

Voorbeeld 2: Controleer poort 6000 en geef een kritiek wanneer 1.7 miljard transacties worden bereikt:

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

Retourneert voor MRTG-uitvoer het hoogste aantal transacties voor alle databases op regel één,
terwijl regel 4 aangeeft om welke database het gaat.

versie
("symlink: check_postgres_version") Controleert of de vereiste versie van Postgres is
rennen. De --waarschuwing en --kritieke opties (slechts één is vereist) moeten van het formaat zijn
XY or XYZ WAAR X is het hoofdversienummer, Y is het secundaire versienummer, en Z is
de revisie.

Voorbeeld 1: Geef een waarschuwing als de database op poort 5678 niet versie 8.4.10 is:

check_postgres_version --port=5678 -w=8.4.10

Voorbeeld 2: Geef een waarschuwing als een database op hosts valley, grain of zonneschijn niet 8.3 is:

check_postgres_version -H vallei, graan, zonneschijn --critical=8.3

Voor MRTG-uitvoer, rapporteert een 1 of een 0 die op de eerste regel een succes of mislukking aangeeft. De
vierde regel geeft de huidige versie aan. De versie moet worden opgegeven via de "--mrtg"
optie.

wal_bestanden
("symlink: check_postgres_wal_files") Controleert hoeveel WAL-bestanden er zijn in de pg_xlog
directory, die te vinden is buiten uw gegevensmap, soms als een symbolische link naar een ander
fysieke schijf om prestatieredenen. Deze actie moet worden uitgevoerd als een superuser om:
toegang krijgen tot de inhoud van de pg_xlog map. De minimale versie om deze actie te gebruiken is
Postgres 8.1. De --waarschuwing en --kritieke opties zijn gewoon het aantal bestanden in de
pg_xlog map. Op welk nummer je dit moet instellen, verschilt, maar een algemene richtlijn is om te stellen:
een getal dat iets hoger is dan wat er normaal is, om problemen vroeg op te vangen.

Normaal gesproken worden WAL-bestanden gesloten en vervolgens opnieuw gebruikt, maar een langlopende openstaande transactie, of a
defect archief_commando script, kan Postgres te veel bestanden maken. uiteindelijk,
hierdoor zal de schijf waarop ze zich bevinden te weinig ruimte hebben, waarna Postgres zal
afsluiten.

Voorbeeld 1: Controleer of het aantal WAL-bestanden 20 of minder is op host "pluto"

check_postgres_wal_files --host=pluto --critical=20

Rapporteert voor MRTG-uitvoer het aantal WAL-bestanden op regel 1.

herbouw_symlinks
herbouwen_symlinks_force
Deze actie vereist geen andere argumenten en maakt geen verbinding met databases, maar gewoon:
creëert symbolische links in de huidige map voor elke actie, in de vorm
check_postgres_. Als het bestand al bestaat, wordt het niet overschreven. Indien
de actie is rebuild_symlinks_force, dan worden symlinks overschreven. De optie
--symlinks is een kortere manier om te zeggen --action=rebuild_symlinks

BASIC FILTEREN


De opties --erbij betrekken en --uitsluiten kunnen worden gecombineerd om te beperken welke dingen worden gecontroleerd,
afhankelijk van de actie. De naam van de database kan worden gefilterd bij gebruik van het volgende:
acties: backends, database_size, locks, query_time, txn_idle en txn_time. De naam van
een relatie kan worden gefilterd bij gebruik van de volgende acties: bloat, index_size,
table_size, relation_size, last_vacuum, last_autovacuum, last_analyze en
last_autoanalyse. De naam van een instelling kan worden gefilterd bij gebruik van de settings_checksum
actie. De naam van een bestandssysteem kan worden gefilterd bij gebruik van de actie disk_space.

Als alleen een include-optie wordt gegeven, worden ALLEEN die items gecontroleerd die overeenkomen.
Als echter zowel uitsluiten als opnemen wordt gegeven, wordt de uitsluiting eerst gedaan en wordt de opname
na, om dingen die mogelijk zijn uitgesloten te herstellen. Beide --erbij betrekken en --uitsluiten wel
meerdere keren worden gegeven, en/of als door komma's gescheiden lijsten. Een leidende tilde komt overeen met de
volgend woord als reguliere expressie.

Om een ​​schema te matchen, beëindigt u de zoekterm met een enkele punt. Voorlopende tildes kunnen worden gebruikt
ook voor schema's.

Wees voorzichtig bij het gebruik van filteren: een opnameregel op de backends kan bijvoorbeeld
rapporteer geen problemen, niet alleen omdat de overeenkomende database geen backends had, maar ook omdat u
de naam van de database verkeerd gespeld!

Voorbeelden:

Controleert alleen items met de naam pg_class:

--include=pg_klasse

Controleert alleen items met de letters 'pg_':

--include=~pg_

Vink alleen items aan die beginnen met 'pg_':

--include=~^pg_

Sluit het item met de naam 'test' uit:

--uitsluiten=testen

Sluit alle items uit met de letters 'test:

--uitsluiten=~testen

Sluit alle items in het schema 'pg_catalog' uit:

--exclude='pg_catalog.'

Sluit alle items uit die de letters 'ace' bevatten, maar laat het item 'faceoff' toe:

--exclude=~ace --include=face-off

Sluit alle items uit die beginnen met de letters 'pg_', die de letters 'slon' bevatten, of
die 'sql_settings' of 'groen' heten. Controleer specifiek items met de letters
'prod' in hun namen, en controleer altijd het item met de naam 'pg_relname':

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

GEBRUIKER NAAM FILTEREN


De opties --includegebruiker en --exclusief gebruiker kan bij sommige acties worden gebruikt om alleen te onderzoeken
databaseobjecten die eigendom zijn van (of geen eigendom zijn van) een of meer gebruikers. Een --includegebruiker optie
overtreft altijd een --exclusief gebruiker optie. U kunt elke optie meer dan één keer geven voor
meerdere gebruikers, of u kunt een door komma's gescheiden lijst opgeven. De acties die momenteel gebruik maken van
deze opties zijn:

database_grootte
laatste_analyse
last_autoanalyse
last_vacuüm
last_autovacuüm
vraag_tijd
relatie_grootte
txn_tijd

Voorbeelden:

Vink alleen items aan die eigendom zijn van de gebruiker met de naam Greg:

--includeuser=greg

Controleer alleen items die eigendom zijn van watson of crick:

--includeuser=watson,crick

Controleer alleen items die eigendom zijn van crick, franklin, watson of wilkins:

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

Controleer alle items behalve die van de gebruiker Scott:

--excludeuser=scott

TEST MODE


Om te helpen bij het instellen, kan dit programma in een "testmodus" worden uitgevoerd door de
--toets optie. Hiermee worden enkele basistests uitgevoerd om er zeker van te zijn dat de databases kunnen worden
contact is opgenomen, en dat aan bepaalde voorwaarden per actie is voldaan, zoals of de gebruiker
een superuser, als de versie van Postgres nieuw genoeg is, en als stats_row_level is ingeschakeld.

Gebruik check_postgres_table_sizep online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Phaser
    Phaser
    Phaser is een snelle, gratis en leuke open
    source HTML5-gameframework dat biedt
    WebGL- en Canvas-weergave overdwars
    desktop- en mobiele webbrowsers. Spellen
    kan samen zijn...
    Phaser downloaden
  • 2
    VASSAL-motor
    VASSAL-motor
    VASSAL is een game-engine om te creëren
    elektronische versies van traditioneel bord
    en kaartspellen. Het biedt ondersteuning voor
    weergave en interactie van speelstukken,
    en...
    VASSAL-engine downloaden
  • 3
    OpenPDF - Vork van iText
    OpenPDF - Vork van iText
    OpenPDF is een Java-bibliotheek voor het maken van
    en het bewerken van PDF-bestanden met een LGPL en
    MPL open source-licentie. OpenPDF is de
    LGPL/MPL open source opvolger van iText,
    een...
    Download OpenPDF - Vork van iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Systeem voor geautomatiseerd
    Geowetenschappelijke analyses - is een geografische
    Informatie Systeem (GIS) software met
    enorme mogelijkheden voor geodata
    verwerking en analyse...
    SAGA GIS downloaden
  • 5
    Toolbox voor Java/JTOpen
    Toolbox voor Java/JTOpen
    De IBM Toolbox voor Java / JTOpen is een
    bibliotheek van Java-klassen die de
    client/server- en internetprogrammering
    modellen naar een systeem met OS/400,
    i5/OS, o...
    Toolbox voor Java/JTOpen downloaden
  • 6
    D3.js
    D3.js
    D3.js (of D3 voor gegevensgestuurde documenten)
    is een JavaScript-bibliotheek waarmee u
    om dynamische, interactieve gegevens te produceren
    visualisaties in webbrowsers. Met D3
    u...
    D3.js downloaden
  • Meer "

Linux-commando's

  • 1
    abidiff
    abidiff
    abidiff - vergelijk ABI's van ELF-bestanden
    abidiff vergelijkt de Application Binary
    Interfaces (ABI) van twee gedeelde bibliotheken
    in ELF-formaat. Het straalt een betekenis uit
    verslag...
    Voer abidiff uit
  • 2
    blijf
    blijf
    abidw - serialiseer de ABI van een ELF
    bestand abidw leest een gedeelde bibliotheek in ELF
    formaat en verzendt een XML-representatie
    van zijn ABI naar standaarduitvoer. De
    uitgestoten ...
    Voer abidw uit
  • 3
    copac2xml
    copac2xml
    bibutils - conversie van bibliografie
    nutsvoorzieningen ...
    Voer copac2xml uit
  • 4
    Copt
    Copt
    copt - kijkgaatje-optimizer SYSNOPIS:
    copt-bestand.. BESCHRIJVING: copt is een
    kijkgaatje-optimizer voor algemeen gebruik. Het
    leest code van zijn standaardinvoer en
    schrijft een...
    Kopt uitvoeren
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - titel verzamelen
    verklaringen van Stx-documenten ...
    Voer collect_stx_titles uit
  • 6
    gatling-bank
    gatling-bank
    bank - http-benchmark ...
    Run gatling-bank
  • Meer "

Ad