GoGPT Best VPN GoSearch

OnWorks-Favicon

pgbadgerp – Online in der Cloud

Führen Sie pgbadgerp beim kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl pgbadgerp, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


pgBadger – ein schneller PostgreSQL-Protokollanalysebericht

ZUSAMMENFASSUNG


Verwendung: pgbadger [Optionen] Protokolldatei [...]

PostgreSQL-Protokollanalysator mit vollständig detaillierten Berichten und Grafiken.

Argumente:

logfile kann eine einzelne Protokolldatei, eine Liste von Dateien oder ein Shell-Befehl sein
Gibt eine Liste von Dateien zurück. Wenn Sie Protokollinhalte von stdin übergeben möchten
Verwenden Sie - als Dateinamen. Beachten Sie, dass die Eingabe von stdin nicht mit csvlog funktioniert.
Sie können auch eine Datei verwenden, die eine Liste der zu analysierenden Protokolldateien enthält, siehe -L
Befehlszeilenoption.

Option:

-a | --average Minuten: Anzahl der Minuten, für die die Durchschnittsdiagramme erstellt werden sollen
Fragen und Zusammenhänge. Standardmäßig 5 Minuten.
-A | --histo-avg Minuten: Anzahl der Minuten zum Erstellen der Histogrammdiagramme
von Anfragen. Standardmäßig 60 Minuten.
-b | --begin datetime: Startdatum/-uhrzeit für die im Protokoll zu analysierenden Daten.
-B | --bar-graph: Standardmäßig wird ein Balkendiagramm anstelle einer Linie verwendet.
-c | --dbclient host: Berichte nur über Einträge für den angegebenen Client-Host.
-C | --nocomment: Kommentare wie /* ... */ aus Abfragen entfernen.
-d | --dbname Datenbank: Berichte nur über Einträge für die angegebene Datenbank.
-D | --dns-resolv: Client-IP-Adressen werden durch ihren DNS-Namen ersetzt.
Seien Sie gewarnt, dass dies pgBadger wirklich verlangsamen kann.
-e | --end datetime: Enddatum/Uhrzeit für die im Protokoll zu analysierenden Daten.
-f | --format logtype: mögliche Werte: syslog, syslog2, stderr und csv.
Standard: stderr.
-G | --nograph: Grafiken in der HTML-Ausgabe deaktivieren. Standardmäßig aktiviert.
-h | --help: Diese Nachricht anzeigen und beenden.
-i | --ident name: Programmname, der als Syslog-Identität verwendet wird. Standard: postgres
-Ich | --incremental: Inkrementellen Modus verwenden, Berichte werden von generiert
Tage in einem separaten Verzeichnis, muss --outdir gesetzt werden.
-j | --jobs number: Anzahl der Jobs, die gleichzeitig ausgeführt werden sollen. Der Standardwert ist 1,
als Einzelprozess ausführen.
-J | --Jobs-Nummer: Anzahl der Protokolldateien, die parallel analysiert werden sollen. Standard
ist 1, als Einzelprozess ausführen.
-l | --last-parsed-Datei: Inkrementelle Protokollanalyse durch Registrierung zulassen
letztes Datum, Uhrzeit und Zeile analysiert. Nützlich, wenn Sie möchten
um Fehler seit dem letzten Lauf anzusehen oder wenn Sie möchten
Bericht pro Tag mit wöchentlich rotierendem Protokoll.
-L | logfile-list-Datei: Datei, die eine Liste der zu analysierenden Protokolldateien enthält.
-m | --maxlength Größe: Maximale Länge einer Abfrage, auf die sie beschränkt wird
die angegebene Größe. Standard: kein Abschneiden
-M | --no-multiline: Sammelt keine mehrzeilige Anweisung, um Müll zu vermeiden
insbesondere bei Fehlern, die einen umfangreichen Bericht generieren.
-n | --nohighlight: SQL-Code-Hervorhebung deaktivieren.
-N | --appname Name: Berichtet nur über Einträge für den angegebenen Anwendungsnamen
-o | --outfile Dateiname: Definieren Sie den Dateinamen für die Ausgabe. Die Standardeinstellung hängt davon ab
zum Ausgabeformat: out.html, out.txt, out.bin,
out.json oder out.tsung.
Wenn das Modul JSON::XS installiert ist, können Sie eine Datei ausgeben
entweder im JSON-Format.
Um die Ausgabe auf stdout auszugeben, verwenden Sie - als Dateinamen.
-O | --outdir Pfad: Verzeichnis, in dem die Out-Datei gespeichert werden muss.
-p | --prefix string: der Wert Ihres benutzerdefinierten log_line_prefix as
definiert in Ihrer postgresql.conf. Verwenden Sie es nur, wenn Sie
verwenden nicht eines der angegebenen Standardpräfixe
in der pgBadger-Dokumentation, z. B. wenn Ihr
Das Präfix enthält zusätzliche Variablen wie die Client-IP
oder Anwendungsname. Siehe Beispiele unten.
-P | --no-prettify: Deaktiviert den Prettify-Formatierer für SQL-Abfragen.
-q | --quiet: Gibt nichts auf stdout aus, nicht einmal einen Fortschritt
bar.
-r | --remote-host ip: Legen Sie den Host fest, auf dem der cat-Befehl ausgeführt werden soll
Remote-Protokolldatei, um die Datei lokal zu analysieren.
-R | --retention N: Anzahl der Wochen, die im inkrementellen Modus gehalten werden sollen. Standard
auf 0, deaktiviert. Wird verwendet, um die Anzahl der Wochen einzustellen
Im Ausgabeverzeichnis behalten. Ältere Wochen und Tage
Verzeichnis werden automatisch entfernt.
-s | --sample number: Anzahl der zu speichernden Abfragebeispiele. Standard: 3.
-S | --select-only: Nur SELECT-Abfragen melden.
-t | --top Zahl: Anzahl der zu speichernden/anzeigenden Abfragen. Standard: 20.
-T | --title string: Titel des HTML-Seitenberichts ändern.
-u | --dbuser Benutzername: Berichte nur über Einträge für den angegebenen Benutzer.
-U | --exclude-user Benutzername: Einträge für den angegebenen Benutzer ausschließen
berichten.
-v | --verbose: Aktiviert den ausführlichen oder Debug-Modus. Standardmäßig deaktiviert.
-V | --version: pgBadger-Version anzeigen und beenden.
-w | --watch-mode: Nur Fehler melden, so wie es Logwatch tun könnte.
-x | --extension: Ausgabeformat. Werte: Text, HTML, Bin, JSON oder
Tsung. Standard: html
-X | --extra-files: Erlaube pgbadger im inkrementellen Modus, CSS zu schreiben und
JS-Dateien im Ausgabeverzeichnis als separate Dateien.
-z | --zcat exec_path: Legt den vollständigen Pfad zum Zcat-Programm fest. Verwenden Sie es, wenn
zcat oder bzcat oder unzip ist nicht in Ihrem Pfad.
--pie-limit num: Kreisdaten, die kleiner als num % sind, zeigen stattdessen eine Summe an.
--exclude-query Regex: Jede Abfrage, die mit dem angegebenen Regex übereinstimmt, wird ausgeschlossen
aus dem Bericht. Zum Beispiel: „^(VACUUM|COMMIT)“
Sie können diese Option mehrmals verwenden.
--exclude-file Dateiname: Pfad der Datei, die alle regulären Ausdrücke enthält
Verwenden Sie diese Option, um Abfragen aus dem Bericht auszuschließen. Ein regulärer Ausdruck
pro Zeile.
--include-query Regex: Jede Abfrage, die nicht mit dem angegebenen Regex übereinstimmt, wird dies tun
aus dem Bericht ausgeschlossen werden. Sie können dies verwenden
Option mehrmals. Beispiel: „(tbl1|tbl2)“.
--include-file Dateiname: Pfad der Datei, die den gesamten regulären Ausdruck von enthält
die Abfragen, die in den Bericht einbezogen werden sollen. Ein regulärer Ausdruck
pro Zeile.
--disable-error: keinen Fehlerbericht generieren.
--disable-hourly: keinen stündlichen Bericht erstellen.
--disable-type: keinen Bericht über Abfragen nach Typ und Datenbank erstellen
oder Benutzer.
--disable-query: keine Abfrageberichte generieren (am langsamsten, am meisten).
häufig, Abfragen durch Benutzer, nach Datenbank, ...).
--disable-session: keinen Sitzungsbericht generieren.
--disable-connection: keinen Verbindungsbericht generieren.
--disable-lock: keinen Sperrbericht generieren.
--disable-temporary: keinen temporären Bericht erstellen.
--disable-checkpoint: keinen Checkpoint-/Restartpoint-Bericht generieren.
--disable-autovacuum: keinen Autovacuum-Bericht generieren.
--charset: wird verwendet, um den zu verwendenden HTML-Zeichensatz festzulegen.
Standard: utf-8.
--csv-separator: wird verwendet, um das CSV-Feldtrennzeichen festzulegen, Standard: ,
--exclude-time Regex: Jeder Zeitstempel, der mit dem angegebenen Regex übereinstimmt, wird angezeigt
aus dem Bericht ausgeschlossen. Beispiel: „2013-04-12 .*“
Sie können diese Option mehrmals verwenden.
--exclude-appname name: Einträge für den angegebenen Anwendungsnamen ausschließen
aus Bericht. Beispiel: „pg_dump“.
--exclude-line regex: pgbadger beginnt damit, alle Protokolleinträge auszuschließen
wird mit dem angegebenen regulären Ausdruck übereinstimmen. Mehrfach verwendbar
Zeit.
--anonymize: Alle Literale in Abfragen verdecken, nützlich zum Ausblenden
vertrauliche Daten.
--noreport: verhindert, dass pgbadger inkrementelle Berichte erstellt
Modus arbeiten können.
--log-duration: zwingt pgbadger, generierte Protokolleinträge zuzuordnen
sowohl durch log_duration = on als auch durch log_statement = 'all'
--enable-checksum: Wird verwendet, um unter jedem Abfragebericht eine MD5-Summe hinzuzufügen.

pgBadger ist in der Lage, eine Remote-Protokolldatei über eine passwortlose SSH-Verbindung zu analysieren. Benutzen Sie die
-r oder --remote-host, um die Host-IP-Adresse oder den Hostnamen festzulegen. Es gibt auch einige zusätzliche
Optionen zur vollständigen Kontrolle der SSH-Verbindung.

--ssh-program SSH-Pfad zum zu verwendenden SSH-Programm. Standard: ssh.
--ssh-user Benutzername Verbindungs-Anmeldename. Standardmäßig wird der laufende Benutzer verwendet.
--ssh-identity file Pfad zur zu verwendenden Identitätsdatei.
--ssh-timeout zweites Zeitlimit für SSH-Verbindungsfehler. Standardmäßig 10 Sek.
--ssh-options-Optionen Liste der -o-Optionen, die für die SSH-Verbindung verwendet werden sollen.
Immer verwendete Optionen:
-o ConnectTimeout=$ssh_timeout
-o PreferredAuthentications=hostbased,publickey

Beispiele:

pgbadger /var/log/postgresql.log
pgbadger /var/log/postgres.log.2.gz /var/log/postgres.log.1.gz
/var/log/postgres.log
pgbadger /var/log/postgresql/postgresql-2012-05-*
pgbadger --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
pgbadger -b "2012-06-25 10:56:11" -e "2012-06-25 10:59:11"
/var/log/postgresql.log
cat /var/log/postgres.log | pgbadger -
# Protokollpräfix mit stderr-Protokollausgabe
perl pgbadger --prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
/pglog/postgresql-2012-08-21*
perl pgbadger --prefix '%m %u@%d %p %r %a : ' /pglog/postgresql.log
# Protokollzeilenpräfix mit Syslog-Protokollausgabe
perl pgbadger --prefix 'user=%u,db=%d,client=%h,app=%a'
/pglog/postgresql-2012-08-21*
# Verwenden Sie meine 8 CPUs, um meine 10-GB-Datei schneller, viel schneller, zu analysieren
perl pgbadger -j 8 /pglog/postgresql-9.1-main.log

Generieren Sie eine XML-Datei für Tsung-Sitzungen nur mit ausgewählten Abfragen:

perl pgbadger -S -o session.tsung --prefix '%t [%p]: [%l-1] user=%u,db=%d ' /pglog/postgresql-9.1.log

Jede Woche Fehler per Cronjob melden:

30 23 * * 1 /usr/bin/pgbadger -q -w /var/log/postgresql.log -o /var/reports/pg_errors.html

Erstellen Sie wöchentlich einen Bericht mit inkrementellem Verhalten:

0 4 * * 1 /usr/bin/pgbadger -q `find / var / log / -mtime -7 -name "postgresql.log*"`
-o /var/reports/pg_errors-`date +%F`.html -l /var/reports/pgbadger_incremental_file.dat

Dies setzt voraus, dass Ihre Protokolldatei und Ihr HTML-Bericht ebenfalls jede Woche gewechselt werden.

Oder besser: Nutzen Sie die automatisch generierten inkrementellen Berichte:

0 4 * * * /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1
-O /var/www/pg_reports/

erstellt einen Bericht pro Tag und pro Woche.

Im inkrementellen Modus können Sie auch die Anzahl der Wochen angeben, die in den Berichten aufbewahrt werden sollen:

/usr/bin/pgbadger --retention 2 -I -q /var/log/postgresql/postgresql.log.1
-O /var/www/pg_reports/

Wenn Sie jeden Tag eine halbe Stunde lang um 23:00 und 13:00 Uhr einen pg_dump haben, können Sie ihn verwenden
pgbadger wie folgt, um diesen Zeitraum aus dem Bericht auszuschließen:

pgbadger --exclude-time "2013-09-.* (23|13):.*" postgresql.log

Dadurch wird vermieden, dass COPY-Anweisungen, wie sie von pg_dump generiert werden, ganz oben auf der Liste stehen
der langsamsten Abfragen. Sie können dieses Problem auch mit --exclude-appname „pg_dump“ lösen
ein einfacherer Weg.

BESCHREIBUNG


pgBadger ist ein auf Geschwindigkeit ausgelegter PostgreSQL-Protokollanalysator mit vollständig detaillierten Berichten von
Ihre PostgreSQL-Protokolldatei. Es ist ein einzelnes und kleines Perl-Skript, das jedes andere übertrifft
PostgreSQL-Protokollanalysator.

Es ist in reiner Perl-Sprache geschrieben und verwendet eine Javascript-Bibliothek (flotr2) zum Zeichnen von Diagrammen
sodass Sie keine zusätzlichen Perl-Module oder andere Pakete installieren müssen.
Darüber hinaus bietet uns diese Bibliothek weitere Funktionen wie Zoomen. pgBadger verwendet auch die
Bootstrap-Javascript-Bibliothek und der FontAwesome-Webfont für besseres Design. Alles ist
eingebettet.

pgBadger ist in der Lage, Ihr Protokolldateiformat (syslog, stderr oder csvlog) automatisch zu erkennen. Es ist
Entwickelt, um große Protokolldateien sowie gzip-komprimierte Dateien zu analysieren. Sehen Sie sich eine vollständige Liste an
Funktionen unten. Unterstützte komprimierte Formate sind gzip, bzip2 und xz. Für den letzten Du
muss eine xz-Version höher als 5.05 haben, die die Option --robot unterstützt.

Alle Diagramme sind zoombar und können als PNG-Bilder gespeichert werden.

Sie können pgBadger auch darauf beschränken, nur Fehler zu melden, oder Teile des Berichts mit entfernen
Befehlszeilenoptionen.

pgBadger unterstützt jedes benutzerdefinierte Format, das in der log_line_prefix-Direktive Ihres Browsers festgelegt ist
postgresql.conf-Datei, sofern darin mindestens die Muster %t und %p angegeben sind.

Durch die Verwendung von pgBadger ist die parallele Verarbeitung einer einzelnen Protokolldatei und mehrerer Dateien möglich
der Option -j und die Anzahl der CPUs als Wert.

Wenn Sie Systemleistung sparen möchten, können Sie stattdessen auch log_duration verwenden
log_min_duration_statement, um nur Berichte zur Dauer und Anzahl der Abfragen zu erhalten.

FEATURE


pgBadger meldet alles über Ihre SQL-Abfragen:

Gesamtstatistik
Die häufigsten Warteanfragen.
Abfragen, die am meisten gewartet haben.
Abfragen, die die meisten temporären Dateien generieren.
Abfragen, die die größten temporären Dateien generieren.
Die langsamsten Abfragen.
Abfragen, die die meiste Zeit in Anspruch genommen haben.
Die häufigsten Anfragen.
Die häufigsten Fehler.
Histogramm der Abfragezeiten.
Histogramm der Sitzungszeiten.
Benutzer, die an den häufigsten Suchanfragen beteiligt sind.
Anwendungen, die an den häufigsten Suchanfragen beteiligt sind.
Abfragen, die die meisten Abbrüche generieren.
Die meisten Abfragen wurden abgebrochen.

Die folgenden Berichte sind auch mit Stundendiagrammen, geteilt durch Fünferperioden, verfügbar
Protokoll:

SQL-Abfragestatistiken.
Temporäre Dateistatistiken.
Checkpoint-Statistiken.
Autovakuum- und Autoanalyse-Statistiken.
Abgebrochene Abfragen.
Fehlerereignisse (Panik, schwerwiegend, Fehler und Warnung).

Es gibt auch einige Kuchenverteilungsberichte über:

Sperrt Statistiken.
Abfragen nach Typ (auswählen/einfügen/aktualisieren/löschen).
Verteilung des Abfragetyps pro Datenbank/Anwendung
Sitzungen pro Datenbank/Benutzer/Client/Anwendung.
Verbindungen pro Datenbank/Benutzer/Client/Anwendung.
Autovakuum und automatische Analyse pro Tisch.
Abfragen pro Benutzer und Gesamtdauer pro Benutzer.

Alle Diagramme sind zoombar und können als PNG-Bilder gespeichert werden. Es werden SQL-Abfragen gemeldet
automatisch hervorgehoben und verschönert.

Sie können auch inkrementelle Berichte mit einem Bericht pro Tag und einem kumulativen Bericht pro Tag erstellen
Woche. Zur Beschleunigung der Protokollanalyse stehen zwei Multiprozessmodi zur Verfügung, von denen einer jeweils einen Kern verwendet
Protokolldatei und die zweite verwendet mehrere Kerne zum Parsen einer einzelnen Datei. Beide Modi können sein
vereinigt.

Die Granularität des Histogramms kann mit der Befehlszeilenoption -A angepasst werden. Standardmäßig sind sie
meldet den Mittelwert aller pro Stunde auftretenden häufigsten Abfragen/Fehler, aber Sie können die angeben
Granularität bis auf die Minute.

pgBadger kann auch an einem zentralen Ort verwendet werden, um Remote-Protokolldateien mithilfe eines Kennworts zu analysieren
weniger SSH-Verbindung. Dieser Modus kann mit komprimierten Dateien und im Modus Multiprozess verwendet werden
pro Datei (-J), kann aber nicht mit dem CSV-Protokollformat verwendet werden.

ANFORDERUNG


pgBadger kommt als einzelnes Perl-Skript – Sie benötigen nichts anderes als ein modernes Perl
Verteilung. Diagramme werden mithilfe einer Javascript-Bibliothek gerendert, sodass Sie nichts benötigen.
Ihr Browser erledigt die ganze Arbeit.

Wenn Sie PostgreSQL-CSV-Protokolldateien analysieren möchten, benötigen Sie möglicherweise einige Perl-Module:

Text::CSV_XS – zum Parsen von PostgreSQL-CSV-Protokolldateien.

Dieses Modul ist optional. Wenn Sie kein PostgreSQL-Protokoll im CSV-Format haben, benötigen Sie es nicht
um es zu installieren.

Wenn Sie Statistiken als JSON-Datei exportieren möchten, benötigen Sie ein zusätzliches Perl-Modul:

JSON::XS – JSON-Serialisierung/Deserialisierung, korrekt und schnell durchgeführt

Dieses Modul ist optional. Wenn Sie das JSON-Ausgabeformat nicht auswählen, ist dies auch nicht erforderlich
es installieren.

Das komprimierte Protokolldateiformat wird anhand der Dateierweiterung automatisch erkannt. Wenn pgBadger ein gz findet
Mit der Erweiterung wird das zcat-Dienstprogramm verwendet, mit einer bz2-Erweiterung wird bzcat verwendet und wenn das
Wenn die Dateierweiterung „zip“ oder „xz“ lautet, werden die Dienstprogramme „unzip“ oder „xz“ verwendet.

Wenn diese Dienstprogramme nicht in der Umgebungsvariablen PATH gefunden werden, verwenden Sie --zcat
Befehlszeilenoption, um diesen Pfad zu ändern. Zum Beispiel:

--zcat="/usr/local/bin/gunzip -c" oder --zcat="/usr/local/bin/bzip2 -dc"
--zcat="C:\tools\unzip -p"

Standardmäßig verwendet pgBadger die Dienstprogramme zcat, bzcat und unzip, die der Datei folgen
Verlängerung. Wenn Sie das standardmäßige Komprimierungsformat für die automatische Erkennung verwenden, können Sie gz, bz2, xz mischen
oder ZIP-Dateien. Durch Angabe eines benutzerdefinierten Werts für die Option --zcat wird diese Funktion von Mixed entfernt
komprimiertes Format.

Beachten Sie, dass Multiprocessing nicht mit komprimierten Dateien oder CSV-Dateien verwendet werden kann
unter Windows-Plattform.

INSTALLATION


Laden Sie den Tarball von Github herunter und entpacken Sie das Archiv wie folgt:

tar xzf pgbadger-7.x.tar.gz
cd pgbadger-7.x/
perl-Makefile.PL
make && sudo make install

Dadurch wird das Perl-Skript pgbadger standardmäßig nach /usr/local/bin/pgbadger kopiert und der man
Seite nach /usr/local/share/man/man1/pgbadger.1. Das ist die Standardinstallation
Verzeichnisse für die „Site“-Installation.

Wenn Sie alles unter installieren möchten / usr / Standort, verwenden Sie INSTALLDIRS='perl' als Argument von
Makefile.PL. Das Skript wird in /usr/bin/pgbadger und die Manpage in installiert
/usr/share/man/man1/pgbadger.1.

Um beispielsweise alles wie Debian zu installieren, gehen Sie wie folgt vor:

perl Makefile.PL INSTALLDIRS=Anbieter

Standardmäßig ist INSTALLDIRS auf „Site“ eingestellt.

POSTGRESQL CONFIGURATION


Sie müssen zuvor einige Konfigurationsanweisungen in Ihrer postgresql.conf aktivieren und festlegen
beginnend.

Sie müssen zunächst die SQL-Abfrageprotokollierung aktivieren, um etwas zum Parsen zu haben:

log_min_duration_statement = 0

Hier wird jede Anweisung protokolliert. Auf einem ausgelasteten Server können Sie diesen Wert erhöhen
Protokollieren Sie nur Abfragen mit einer längeren Dauer. Beachten Sie Folgendes: Wenn Sie log_statement auf gesetzt haben
„alles“ Nichts wird durch die Direktive log_min_duration_statement protokolliert. Siehe weiter
Weitere Informationen finden Sie im Kapitel.

Beim Protokollformat „stderr“ muss log_line_prefix mindestens Folgendes lauten:

log_line_prefix = '%t [%p]: [%l-1] '

Mit dem Protokollzeilenpräfix können Benutzer, Datenbankname, Anwendungsname und Client-IP-Adresse hinzugefügt werden
folgt:

log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '

oder für das Syslog-Protokolldateiformat:

log_line_prefix = 'user=%u,db=%d,app=%aclient=%h '

Das Protokollzeilenpräfix für die stderr-Ausgabe könnte auch sein:

log_line_prefix = '%t [%p]: [%l-1] db=%d,user=%u,app=%a,client=%h '

oder für die Syslog-Ausgabe:

log_line_prefix = 'db=%d,user=%u,app=%a,client=%h '

Sie müssen andere Parameter in postgresql.conf aktivieren, um weitere Informationen von Ihrem zu erhalten
Protokolldateien:

log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_wait = on
log_temp_files = 0
log_autovacuum_min_duration = 0

Aktivieren Sie log_statement nicht, da deren Protokollformat nicht von pgBadger analysiert wird.

Natürlich sollten Ihre Protokollmeldungen auf Englisch ohne Unterstützung für das Gebietsschema sein:

lc_messages='C'

Dies wird jedoch nicht nur von pgBadger empfohlen.

Hinweis: Die Sitzungszeile [%l-1] wird nur verwendet, um dem Standardpräfix für „stderr“ zu entsprechen. Der
-1 hat keinen wirklichen Zweck und wird grundsätzlich nicht in Pgbadger-Statistiken/-Grafiken verwendet. Du kannst
Sie wurden sicher aus log_line_prefix entfernt, Sie müssen jedoch den Befehl --prefix festlegen
Linienoption.

log_min_duration_statement, log_duration und log_statement


Wenn Sie vollständige Statistikberichte wünschen, müssen Sie log_min_duration_statement auf 0 oder mehr setzen
Millisekunden.

Wenn Sie nur die Dauer und Anzahl der Abfragen melden möchten und nicht alle Details dazu haben möchten
Bei Abfragen setzen Sie log_min_duration_statement auf -1, um es zu deaktivieren und log_duration in zu aktivieren
Ihre postgresql.conf-Datei. Wenn Sie den häufigsten Anforderungsbericht hinzufügen möchten, können Sie dies tun
Entweder legen Sie log_min_duration_statement auf einen höheren Wert fest oder Sie aktivieren die Option
log_statement.

Durch die Aktivierung von log_min_duration_statement werden Berichte über die langsamsten Abfragen und Abfragen hinzugefügt
das hat die meiste Zeit in Anspruch genommen. Achten Sie darauf, dass nichts passiert, wenn Sie log_statement auf „all“ gesetzt haben
wird mit log_line_prefix protokolliert.

PARALLEL WIRD BEARBEITET


Um die Parallelverarbeitung zu aktivieren, müssen Sie lediglich die Option -j N verwenden, wobei N die Zahl ist
Anzahl der Kerne, die Sie verwenden möchten.

pgbadger geht dann wie folgt vor:

für jede Protokolldatei
Blockgröße = int(Dateigröße / N)
Sehen Sie sich die Start-/End-Offsets dieser Blöcke an
Verzweigen Sie N Prozesse und suchen Sie nach dem Start-Offset jedes Blocks
Jeder Prozess wird beendet, wenn der Parser den Endoffset erreicht
seines Brockens
Jeder Prozess schreibt Statistiken in eine binäre temporäre Datei
Warten auf alle Kinder wurde beendet
Alle generierten binären temporären Dateien werden dann gelesen und geladen
Speicher zum Erstellen der HTML-Ausgabe.

Mit dieser Methode kann pgbadger am Anfang/Ende von Blöcken maximal N abschneiden oder weglassen
Abfragen in der Perl-Protokolldatei, was eine unbedeutende Lücke darstellt, wenn Sie Millionen von Abfragen haben
Ihre Protokolldatei. Die Wahrscheinlichkeit, dass die von Ihnen gesuchte Abfrage locker ist, liegt nahe bei 0.
Deshalb halte ich diese Lücke für erträglich. Meistens wird die Abfrage aber doppelt gezählt
gekürzt.

Wenn Sie viele kleine Protokolldateien und viele CPUs haben, ist es schneller, einen Kern zu reservieren
jeweils nur eine Protokolldatei erstellen. Um dieses Verhalten zu aktivieren, müssen Sie stattdessen die Option -JN verwenden.
Bei 200 Protokolldateien mit jeweils 10 MB wird die Verwendung der Option -J erst richtig interessant
mit 8 Kernen. Mit dieser Methode gehen Ihnen keine Abfragen in den Berichten verloren.

Er ist ein Benchmark, der auf einem Server mit 8 CPUs und einer einzelnen Datei von 9.5 GB durchgeführt wurde.

Option | 1 CPU | 2 CPU | 4 CPU | 8 CPU
--------+---------+-------+-------+------
-j | 1h41m18 | 50m25 | 25m39 | 15m58
-J | 1h41m18 | 54m28 | 41m16 | 34m45

Bei 200 Protokolldateien mit jeweils 10 MB und insgesamt 2 GB sind die Ergebnisse etwas anders:

Option | 1 CPU | 2 CPU | 4 CPU | 8 CPU
--------+-------+-------+-------+------
-j | 20m15 | 9m56 | 5m20 | 4m20
-J | 20m15 | 9m49 | 5m00 | 2m40

Es wird daher empfohlen, -j zu verwenden, es sei denn, Sie haben Hunderte kleiner Protokolldateien und können at verwenden
mindestens 8 CPUs.

WICHTIG: Wenn Sie paralleles Parsen verwenden, generiert pgbadger viele temporäre Dateien
Dateien in der / Tmp Verzeichnis und wird sie am Ende entfernen, also entfernen Sie diese Dateien nicht
es sei denn, pgbadger läuft nicht. Sie sind alle nach der folgenden Vorlage benannt
tmp_pgbadgerXXXX.bin, damit sie leicht identifiziert werden können.

INKREMENTAL BERICHTE


pgBadger bietet einen automatischen inkrementellen Berichtsmodus mit der Option -I oder --incremental.
Wenn pgBadger in diesem Modus ausgeführt wird, generiert es einen Bericht pro Tag und einen kumulativen Bericht
Bericht pro Woche. Die Ausgabe erfolgt zunächst im Binärformat in das obligatorische Ausgabeverzeichnis
(siehe Option -O oder --outdir), dann im HTML-Format für Tages- und Wochenberichte mit einem Hauptbericht
Indexdatei.

In der Hauptindexdatei wird pro Woche ein Dropdown-Menü mit einem Link zum Wochenbericht angezeigt
Links zu täglichen Berichten dieser Woche.

Wenn Sie pgBadger beispielsweise basierend auf einer täglich rotierenden Datei wie folgt ausführen:

0 4 * * * /usr/bin/pgbadger -I -q /var/log/postgresql/postgresql.log.1 \
-O /var/www/pg_reports/

Sie verfügen über alle Tages- und Wochenberichte für den gesamten Laufzeitzeitraum.

In diesem Modus erstellt pgBagder eine automatische inkrementelle Datei im Ausgabeverzeichnis.
Daher müssen Sie die Option -l nicht verwenden, es sei denn, Sie möchten den Pfad dieser Datei ändern.
Das bedeutet, dass Sie pgBadger in diesem Modus jeden Tag mit einer jeweils rotierenden Protokolldatei ausführen können
In einer Woche werden die Protokolleinträge nicht zweimal gezählt.

Um Speicherplatz zu sparen, können Sie die Befehlszeilenoption -X oder --extra-files verwenden
pgBadger dazu zwingen, Javascript und CSS in separate Dateien im Ausgabeverzeichnis zu schreiben. Der
Ressourcen werden dann mithilfe von Skript und Link-Tag geladen.

BINARY FORMAT


Mithilfe des Binärformats ist es möglich, benutzerdefinierte inkrementelle und kumulative Werte zu erstellen
Berichte. Wenn Sie beispielsweise einen pgbadger-Bericht stündlich von einem täglichen Bericht aktualisieren möchten
PostgreSQl-Protokolldatei können Sie fortfahren, indem Sie jede Stunde die folgenden Befehle ausführen:

pgbadger --last-parsed .pgbadger_last_state_file -o sunday/hourX.bin /var/log/pgsql/postgresql-Sun.log

um die inkrementellen Datendateien im Binärformat zu generieren. Und um den frischen HTML-Code zu generieren
Bericht aus dieser Binärdatei:

pgbadger sunday/*.bin

Oder ein anderes Beispiel, wenn Sie eine Protokolldatei pro Stunde haben und einen Bericht erstellen möchten
Bei jedem Wechsel der Protokolldatei neu erstellen. Gehen Sie wie folgt vor:

pgbadger -o day1/hour01.bin /var/log/pgsql/pglog/postgresql-2012-03-23_10.log
pgbadger -o day1/hour02.bin /var/log/pgsql/pglog/postgresql-2012-03-23_11.log
pgbadger -o day1/hour03.bin /var/log/pgsql/pglog/postgresql-2012-03-23_12.log
...

Wenn Sie den HTML-Bericht aktualisieren möchten, beispielsweise jedes Mal, nachdem eine neue Binärdatei erstellt wurde
generiert, gehen Sie einfach wie folgt vor:

pgbadger -o day1_report.html day1/*.bin

Passen Sie die Befehle an Ihre Bedürfnisse an.

JSON FORMAT


Das JSON-Format eignet sich gut zum Teilen von Daten mit anderen Sprachen, was dies vereinfacht
Integrieren Sie das Ergebnis von pgBadger in andere Überwachungstools wie Cacti oder Graphite.

AUTOREN


pgBadger ist ein Originalwerk von Gilles Darold.

Das pgBadger-Logo ist eine Originalkreation von Damien Clochard.

Das Design von pgBadger v4.x stammt von der Firma „Art is Code“.

Diese Website ist ein Werk von Gilles Darold.

pgBadger wird von Gilles Darold, den guten Leuten bei Dalibo und allen, die wollen, gepflegt
beitragen.

Viele Leute haben zu pgBadger beigetragen, sie sind alle in der Changelog-Datei aufgeführt.

Verwenden Sie pgbadgerp online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.