 |
Index for Section 4 |
|
 |
Alphabetical listing for E |
|
 |
Bottom of page |
|
evmlogger.conf(4)
NAME
evmlogger.conf - EVM logger configuration file
SYNOPSIS
eventlog {
name eventlog_name
type [formatted | binary]
show_template template
logfile log_path
alternate log_path
maxsize max_logsize
filter log_filter_spec
include filter_element
exclude filter_element
explicit_target bool_par
suppress {
filter supp_filter_spec
include filter_element
exclude filter_element
period supp_period
threshold supp_threshold
}
}
forward {
name forward_name
filter forward_filter_spec
include filter_element
exclude filter_element
command forward_command
maxqueue queue_limit
explicit_target bool_par
suppress {
filter supp_filter_spec
include filter_element
exclude filter_element
period supp_period
threshold supp_thresh
}
}
remote_hosts {
name remote_host_name
hostnames remote_host_list
hosts remote_host_list
targets target_list
filter filter_spec
include filter_element
exclude filter_element
retry retry_interval
}
configdir directory
DESCRIPTION
The evmlogger.conf file is the Event Manager (EVM) logger configuration
file. This file is read when the logger program, evmlogger, starts, and
when it reloads its configuration.
The evmlogger.conf file is a text file that contains values used to
configure the event logger. The values direct the display, forwarding, or
storage of events. Any portion of a line from an unquoted number sign (#)
to the end of line is a comment. Blank lines are ignored.
Any number of event logs and forwarders may be defined in a configuration
file. The following keywords are recognized:
eventlog
Introduces a group of keyword/value pairs, which define an event log.
Events that match the log's log_filter_spec are selected for handling
by this log.
name eventlog_name
The name used to refer to the event log.
type log_type
The type of the log -- either formatted or binary. If the log_path
specifies a terminal device, such as /dev/console, the type is
automatically set to formatted, and cannot be forced to binary. If
the log_path specifies a file, the default type is binary. Events
are written to formatted logs as single lines of text, and to
binary logs as raw EVM events.
show_template template
The template used to format lines of text for a formatted log. If
no template is specified, the event timestamp and message are
written. See evmshow(1) for show-template syntax.
logfile log_path
Pathname of the log file. If a log is a disk file, the logger
creates the file if necessary.
If the log name ends in the characters .dated, the logger replaces
that suffix with the current date in the form yyyymmdd. A new file
is begun when the first event is written to the log each day.
alternate log_path
Specifies an alternate path to be used in cases where the primary
log cannot be used. If the specified logfile becomes unusable, the
logger switches to the alternate log file.
If the logger is writing to the alternate log, and the error
condition which caused it to switch has been cleared, you can make
it revert to the primary path by using the evmreload -l command.
maxsize max_logsize
The maximum size, in kilobytes, that the log file may reach. If
adding an event to the file would cause this size to be exceeded,
the logger begins a new file, adding the suffix _n to the name of
the new file, where _n is a sequential generation number.
filter log_filter_spec
Event selection filter specification. Events passing this filter
are selected for logging to this event log; all others are ignored.
See EvmFilter(5) for a description of filter syntax.
include filter_element
Modifies the current log_filter_spec. See the description of the
include and exclude keywords below.
exclude filter_element
Modifies the current log_filter_spec. See the description of the
include and exclude keywords below.
explicit_target bool_par
If this keyword is not specified, or if it is specified and
bool_par has a value of FALSE, NO or 0 (zero), the event log will
handle events posted through the local daemon, in addition to those
received from any remote hosts that name the event log in their
targets lists. If
bool_par has a value of TRUE, YES or 1 (one), the event log will
only handle events from any remote hosts that name it in their
targets lists.
See the remote_hosts group definition below for more information.
suppress
The suppression facility minimizes resource waste by limiting the
number of identical events appearing in the log. A description of
the event suppression group follows.
Before being written to the log, each incoming event is matched
against the suppression group's supp_filter_spec. An event that
passes the filter is then compared with other events that have been
posted during the last period minutes, ignoring the timestamp,
last_timestamp, PID, PPID, event-id and repeat-count data items.
If a matching event is found, and at least threshold instances of
the event have been written to the log during the period, the
logger does not log the event -- instead, it inserts or updates the
repeat_count and last_timestamp data items in the last-logged
instance of the event. The suppression is indicated by the string
[n times] appearing in the message text when the event is
displayed, where n is the repeat_count.
Once an individual event becomes eligible for suppression, the
suppression is canceled automatically after the greater of four
hours or the supp_period, and is reinstated when the suppression
conditions occur again. Suppression is canceled automatically when
a change of logfile occurs.
Suppression directives are ignored for formatted logs.
The following keywords are recognized in a suppression group:
filter supp_filter_spec
Events selected by this filter are eligible for suppression
consideration. See EvmFilter(5) for the filter syntax.
include filter_element
Modifies the current supp_filter_spec. See the description of
the include and exclude keywords below.
exclude filter_element
Modifies the current supp_filter_spec. See the description of
the include and exclude keywords below.
period supp_period
The period, in minutes, over which events are counted for
suppression consideration.
threshold supp_threshold
The number of instances of an event that will be logged during
supp_period before suppression begins.
forward
Events meeting the filter specifications are to be forwarded using the
command specified.
name forward_name
A name used to identify the forwarding definition.
filter forward_filter_spec
Event forwarding filter specification. Events passing this filter
are selected for forwarding as specified by the forward_command.
See EvmFilter(5) for the filter syntax.
include filter_element
Modifies the current forward_filter_spec. See the description of
the include and exclude keywords below.
exclude filter_element
Modifies the current forward_filter_spec. See the description of
the include and exclude keywords below.
command forward_command
When an incoming event is selected for handling by this forwarder,
and is not eligible for suppression, the logger executes this
command, piping the event into the command's stdin stream.
maxqueue queue_limit
This keyword limits the number of events that can be queued by a
forwarder while a previous event is being handled by command. If
the maximum number of events is already queued when a new event
arrives, the event is ignored by this forwarder. If not specified,
this keyword has a default value of 100. If a value greater than
1000 is specified, the logger automatically limits it to 1000.
See evmlogger(8) for details of event queuing.
explicit_target bool_par
If this keyword is not specified, or if it is specified and
bool_par has a value of FALSE, NO or 0 (zero), the forwarder will
handle events posted through the local daemon, in addition to those
received from any remote hosts that name the forwarder in their
targets lists.
If bool_par has a value of TRUE, YES or 1 (one), the forwarder will
only handle events from any remote hosts that name it in their
targets lists.
See the remote_hosts group definition below for more information.
suppress
Event suppression as applied to forwarding is similar to event log
suppression, but limits the number of identical events that will be
forwarded over the suppression period. In this case, events which
are eligible for suppression are simply ignored by the forwarder.
This feature is intended to reduce the chance of a large volume of
mail being sent during a period of high event activity.
remote_hosts
Introduces a remote logging group. Entries in this group define local
handling of events posted on one or more remote systems.
name bool_par
A name used to identify the remote logging definition.
hostnames remote_host_list
This keyword is interchangeable with hosts. The remote_host_list
is a list of hosts to which the logger will subscribe for events.
The list may specify multiple hosts, separated by commas or spaces,
and multiple hostnames or hosts lines may be supplied. The list may
be made up of any combination of unqualified host names, fully
qualified host names and IP addresses. It must be enclosed in
double quotes if it contains spaces. If no hosts are specified, the
remote logging group is ignored.
hosts remote_host_list
This keyword is interchangeable with hostnames. The
remote_host_list is a list of hosts to which the logger will
subscribe for events. The list may specify multiple hosts,
separated by commas or spaces, and multiple hostnames or hosts
lines may be supplied. The list may be made up of any combination
of unqualified host names, fully qualified host names and IP
addresses. It must be enclosed in double quotes if it contains
spaces. If no hosts are specified, the remote logging group is
ignored.
targets target_list
The target_list is a list of names of eventlog and forward groups
(targets) defined in this configuration that will handle events
received from the remote hosts. The list may specify multiple
targets, separated by commas or spaces, and multiple targets lines
may be supplied. The list must be enclosed in double quotes if it
contains spaces. If no targets are specified, the remote logging
group is ignored.
filter filter_spec
Event filter specification. Events passing this filter are passed
to the logger by the EVM daemons running on the remote hosts. See
EvmFilter(5) for the filter syntax. If no filter is specified, a
default filter is produced by combining the filter strings from all
of the targets referred to by this remote logging group.
include filter_element
Modifies the current remote_filter_spec. See the description of
the include and exclude keywords below.
exclude filter_element
Modifies the current remote_filter_spec. See the description of
the include and exclude keywords below.
retry retry_interval
If the logger fails to establish a connection to any of the remote
hosts specified in this group, or if an established connection is
lost, it will attempt to establish or reestablish the connection
every retry_interval seconds until it is successful. The default
for this value is 60 seconds. If the specified value is less than
5 or more than 3600, it is silently modified to the closest of
these values.
configdir directory
This keyword specifies the path of a directory tree that holds zero or
more secondary configuration files. The directory tree is searched when
the logger is started and each time its configuration is reloaded.
Configuration file names must end with .conf, and must not begin with a
dot (.). Files must be owned by bin or root and their file permissions
must restrict writing to owner or group. Symbolic links and
subdirectory hierarchies can be used to reference configuration files
that physically are located elsewhere.
After installing, removing or modifying a secondary configuration file,
you must run the evmreload -l command to notify the logger of the
change and request a configuration reload.
Any number of configdir entries may be specified in the primary
configuration file, but configdir is not a valid keyword in a secondary
configuration file.
The include and exclude keywords can appear multiple times in an eventlog,
forward, remote_hosts or suppress specification, allowing you to build and
maintain a filter in simple single-line increments. Each filter_element
must be a valid filter string, conforming to the syntax described in the
EvmFilter(5) reference page. The logger assembles a complete filter string
by surrounding the initial filter with parentheses and appending the
filter_elements to it, separating each with a logical OR (for include) or
AND NOT (for exclude) operator. For example:
filter "[priority >= 200]"
include "[name *.mylog]"
exclude "[name *.oldlog]"
The previous filter lines are equivalent to this more complex single filter
line:
filter "([priority >= 200]) OR [name *.mylog] AND NOT [name *.oldlog]"
The first line selects all events with a priority of 200 or greater, the
next modifies this by selecting all events from mylog regardless of their
priorities, and the last line excludes all oldlog events regardless of
their priorities.
If you prefer, you can omit the filter command, and build the complete
filter string from include and exclude lines.
If no filter, include or exclude lines are supplied for an event log or
forwarder, it does not handle any events.
Keywords may be entered in a case-insensitive manner. The allowable
strings and the minimum number of characters is shown in the following
table. A minimum of zero (0) indicates that all characters are required.
_________________________
Keyword Minimum
_________________________
alternate 3
command 4
configdir 7
eventlog 0
exclude 3
explicit_target 4
filter 4
forward 4
hostnames 4
hosts 4
include 3
logfile 3
maxqueue 4
maxsize 3
name 0
period 0
remote_hosts 8
retry 5
show_template 4
suppress 4
targets 6
threshold 0
type 0
_________________________
NOTES
1. The logger only allows a single instance of each forwarding command to
execute at one time and queues any events that arrive while an
instance is already running. The forwarder ignores events that arrive
while the queue is full. To minimize the chances of queuing or missing
events, you should avoid using the forwarding facility to run commands
that may take significant time to execute.
2. If you specify a forwarding command that may itself cause events to be
posted (for instance, mail commands may post syslog events that will
be routed to EVM), the forwarding filter explicitly should exclude
those events. Otherwise, it is possible that an infinite event loop
will occur.
3. If you are concerned with allowing your file to be used on other
systems that support EVM in the future, you should use the built-in
macro @SYS_VP@ in place of the first two components (sys.unix) of the
name of any system event. This will make it unnecessary to change the
file if the other system uses a different event name prefix.
EXAMPLES
This example initiates an instance of the evmlogger command with the
following configuration:
1. Binary events are written to a file in the /var/evm/evmlog directory
named evmlog.xxx where xxx is the current year, month, and day -- for
example, /var/evm/evmlog/evmlog.19981217. An alternate log path is
specified in case of write failures to the primary path.
2. A new generation of the log is started automatically if the size
exceeds 256 Kbytes.
3. All events with a priority of at least 200 are selected for logging.
4. Duplicate events are suppressed.
5. Events with a priority of at least 600 are displayed on the system
console as formatted events, showing the timestamp, the priority and
the event's message.
6. Events with a priority of at least 600 are also mailed to root.
7. A maximum of 20 events will be queued for forwarding to root when an
instance of the forwarding command is already running.
eventlog
{
name evmlog
logfile /var/evm/evmlog/evmlog.dated
type binary
maxsize 256 # Kbytes
alternate /altlogs/evmlog/evmlog.dated
# Log all events with priority >= 200:
filter "[prio >= 200]"
# Suppress logging of duplicate events:
suppress
{ filter "[name *]"
period 30 # minutes
threshold 3 # No. of instances before suppression
}
}
# Log high-priority events to the system console:
eventlog {
name console_log
logfile /dev/console
filter "[prio >= 600]"
type formatted
show_template "@timestamp [@priority] @@"
}
# Forward details of high-priority events to root:
forward {
name priority_alert
# Don't forward mail events through mail (see note above):
filter "[prio >= 600] & ![name @SYS_VP@.syslog.mail]"
suppress
{ filter "[name *]"
period 120 # minutes
threshold 1 # No. of duplicates before suppression
}
# This evmshow command writes a subject line as the first line of
# output, followed by a detailed display of the contents of the
# event. The resulting message is distributed by mail(1).
command "evmshow -d -t 'Subject: EVM ALERT [@priority]: @@' \
| mail root"
}
FILES
/etc/evmlogger.conf
Location of the EVM logger configuration file.
/var/evm/adm/config/logger
Default location of the secondary EVM logger configuration files.
SEE ALSO
Commands: evmget(1), evmshow(1), evmd(8), evmlogger(8), evmreload(8)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Event Filter: EvmFilter(5)
 |
Index for Section 4 |
|
 |
Alphabetical listing for E |
|
 |
Top of page |
|