PDBTOOL(1) | The pdbtool manual page | PDBTOOL(1) |
NAME¶
pdbtool - An application to test and convert syslog-ng pattern database rulesSYNOPSIS¶
pdbtool [command] [options]
DESCRIPTION¶
This manual page is only an abstract; for the complete documentation of syslog-ng and pdbtool, see The syslog-ng Administrator Guide[1].The syslog-ng application can match the contents of the log messages to a database of predefined message patterns (also called patterndb). By comparing the messages to the known patterns, syslog-ng is able to identify the exact type of the messages, tag the messages, and sort them into message classes. The message classes can be used to classify the type of the event described in the log message. The functionality of the pattern database is similar to that of the logcheck project, but the syslog-ng approach is faster, scales better, and is much easier to maintain compared to the regular expressions of logcheck.
The pdbtool application is a utility that can be used to:
THE DUMP COMMAND¶
dump [options]
Display the RADIX tree built from the patterns. This shows how are the patterns represented in syslog-ng and it might also help to track down pattern-matching problems. The dump utility can dump the tree used for matching the PROGRAM or the MSG parts.
--pdb or -p
--program or -P
--program-tree or -T
Example and sample output:
pdbtool dump -p patterndb.xml -P 'sshd'
'p' 'assword for' @QSTRING:@ 'from' @QSTRING:@ 'port ' @NUMBER:@ rule_id='fc49054e-75fd-11dd-9bba-001e6806451b' ' ssh' rule_id='fc55cf86-75fd-11dd-9bba-001e6806451b' '2' rule_id='fc4b7982-75fd-11dd-9bba-001e6806451b' 'ublickey for' @QSTRING:@ 'from' @QSTRING:@ 'port ' @NUMBER:@ rule_id='fc4d377c-75fd-11dd-9bba-001e6806451b' ' ssh' rule_id='fc5441ac-75fd-11dd-9bba-001e6806451b' '2' rule_id='fc44a9fe-75fd-11dd-9bba-001e6806451b'
THE MATCH COMMAND¶
match [options]
Use the match command to test the rules in a pattern database. The command tries to match the specified message against the patterns of the database, evaluates the parsers of the pattern, and also displays which part of the message was parsed successfully. The command returns with a 0 (success) or 1 (no match) return code and displays the following information:
The match command has the following options:
--color-out or -c
--debug-csv or -C
--debug-pattern or -D
--file=<filename-with-path> or -f
--filter=<filter-expression> or -F
--message or -M
--pdb or -p
--program or -P
--template=<template-expression> or -T
Example: The following command checks if the patterndb.xml file recognizes the Accepted publickey for myuser from 127.0.0.1 port 59357 ssh2 message:
pdbtool match -p patterndb.xml -P sshd -M "Accepted publickey for myuser from 127.0.0.1 port 59357 ssh2"
The following example applies the sshd.pdb pattern database file to the log messages stored in the /var/log/messages file, and displays only the messages that received a useracct tag.
pdbtool match -p sshd.pdb \ –file /var/log/messages \ –filter ‘tags(“usracct”);’
THE MERGE COMMAND¶
merge [options]
Use the merge command to combine separate pattern database files into a single file (pattern databases are usually stored in separate files per applications to simplify maintenance). If a file uses an older database format, it is automatically updated to the latest format (V3). See the The syslog-ng Administrator Guide[1] for details on the different pattern database versions.
--directory or -D
--glob or -G
--pdb or -p
--recursive or -r
Example:
pdbtool merge --recursive --directory /home/me/mypatterns/ --pdb /var/lib/syslog-ng/patterndb.xml
Currently it is not possible to convert a file without merging, so if you only want to convert an older pattern database file to the latest format, you have to copy it into an empty directory.
THE PATTERNIZE COMMAND¶
patternize [options]
Automatically create a pattern database from a log file containing a large number of log messages. The resulting pattern database is printed to the standard output (stdout). The pdbtool patternize command uses a data clustering technique to find similar log messages and replacing the differing parts with @ESTRING:: @ parsers. For details on pattern databases and message parsers, see the The syslog-ng Administrator Guide[1]. The patternize command is available only in syslog-ng OSE version 3.2 and later.
--file=<path> or -f
--iterate-outliers or -o
--named-parsers or -n
--samples=<number-of-samples>
--support=<number> or -S
Default value: 4.0
Example:
pdbtool patternize --support=2.5 --file=/var/log/messages
THE TEST COMMAND¶
test [options]
Use the test command to validate a pattern database XML file. Note that you must have the xmllint application installed. The test command is available only in syslog-ng OSE version 3.2 and later.
--validate
Example:
pdbtool test --validate /home/me/mypatterndb.pdb
FILES¶
/usr/bin/pdbtool/etc/syslog-ng/syslog-ng/syslog-ng.conf
SEE ALSO¶
The syslog-ng Administrator Guide[1]The syslog-ng OSE 3.3 Administrator Guide[1]
If you experience any problems or need help with syslog-ng, visit visit the syslog-ng wiki[2] or the syslog-ng mailing list[3].
For news and notifications about of syslog-ng, visit the syslog-ng Insider Blog[4].
AUTHOR¶
This manual page was written by the BalaBit Documentation Team <documentation@balabit.com>.COPYRIGHT¶
¶
The authors grant permission to copy, distribute and/or modify this manual page under the terms of the GNU General Public License Version 2 or newer (GPL v2+).NOTES¶
- 1.
-
The syslog-ng Administrator Guide
- 2.
- visit the syslog-ng wiki
- 3.
- syslog-ng mailing list
- 4.
- syslog-ng Insider Blog
02/05/2017 | syslog-ng Open Source Edition |