evmwatch - Monitors EVM events
evmwatch [-A] [-f filter_expr] [-h hostname[:port_no]]...
[-t show_template] [-w timeout] [-i | -x] [-R reconnecttimeout]
Automatically starts evmshow to produce a formatted display
of the received events. Subscribes for notification
of events matching filter_expr. See EvmFilter(5) for the
syntax of filter_expr. By default, the evmwatch command
subscribes for all events. Attempts to connect to the EVM
daemon on the host hostname, rather than to the local daemon.
If a cluster alias is specified for hostname,
attempts to connect to the EVM daemon on that cluster. If
specified, the port number must be the same as the portnum
specified in the EVM daemon configuration file, evmdaemon.conf(4). In most cases, the default should be used.
If connecting to a cluster alias, evmwatch monitors
events that are posted on all members of the cluster.
If :port_no is specified, port_no is used for TCP
communication with remote clients; otherwise, the
evm port number found in /etc/services is used. If
no entry is found in /etc/services, the reserved
default value of 619 is used. Template string to
be passed to evmshow if the -A option is also specified.
If the -A option is not specified, this
argument is ignored. See evmshow(1) for a description
of the template string. Terminates if no
event is processed in the time specified by timeout.
The format of timeout is [[[days:]hours:]minutes:]seconds,
where days, hours and minutes can be
any integer up to 9999, and seconds can be any
integer up to 9999999. Omitted values are interpreted
as zero. If the converted value exceeds
100,000,000 seconds, it is automatically reduced to
that value with no error being reported. The timer
is restarted each time an event is received.
Retrieves copies of all of the registered event
templates from the EVM daemon that match the supplied
filter string and for which the user has
access authorization. It writes the templates to
stdout as EVM events and terminates. Terminates
with a zero exit value as soon as the first event
matching filter_expr is processed. Specifies the
period for which evmwatch should continue to
attempt to reconnect if the connection to the EVM
daemon is lost. The format of reconnect-timeout is
[[[days:]hours:]minutes:]seconds, where days, hours
and minutes can be any integer up to 9999, and seconds
can be any integer up to 9999999. Omitted values
are interpreted as zero. If the converted
value exceeds 100,000,000 seconds, it is automatically
reduced to that value with no error being
reported.
If reconnect-timeout is zero, evmwatch terminates
immediately if a disconnection occurs. If this
option is not specified, the reconnection timeout
is set to five minutes for a local connection and
60 minutes for a remote connection.
None
The evmwatch command subscribes to the events specified by
the filter_expr and passes all events to its stdout stream
as they arrive. Output is in the form of raw EVM events.
If the -A option is specified, evmwatch automatically
starts evmshow and pipes the event stream into it, producing
a formatted display of events. If a show_template
argument is supplied, the specified template string is
passed to evmshow through its own -t option. See
evmshow(1) for more information.
If evmwatch cannot connect to the EVM daemon, it terminates
immediately with an error message. If it succeeds in
connecting but subsequently loses the connection, it
attempts to reconnect periodically until the reconnecttimeout
period expires. The retry period is one second for
the first minute, and five seconds thereafter.
The evmwatch command rejects attempts to output raw events
to a terminal device.
The evmwatch command receives events only for which the
user has access authorization. See evm.auth(4) for details
of access authorization.
The following exit values are returned: Successful completion
An error occurred, including timeout
The following ksh example watches for all events with a
priority of at least 200 and displays them on stdout.
Events are piped automatically through evmshow to produce
a formatted event display. export EVM_SHOW_TEMPLATE="@timestamp
[@priority] @@" evmwatch -A -f "[pri >=
200]" The following example waits until some other process
posts a particular event and then continues. Redirection
of output to /dev/null implies that the content of the
event is of no concern. evmwatch -f "[name
myco.ops.backup.done]" -x >/dev/null The following script
builds on the prior example. It waits for five minutes
(300 seconds) for the event to occur or exits as soon as
the event happens. #! /bin/ksh evmwatch -f "[name
myco.ops.backup.*]" -x -w 300 >/dev/null if [ $? -eq 0 ]
then
echo Backup completed! else
echo Backup timed out! fi The following shell script
waits for up to five minutes (300 seconds) for a pulse
event to be received. Each time the pulse arrives, the
timer is reset and evmwatch waits for the next pulse. If
the timer expires, evmwatch terminates with an error code,
a warning is displayed, a high priority event is posted,
and the script exits. #! /bin/ksh evmwatch -f "[name
myco.myapp.remote.pulse]" -w 300 >/dev/null if [ $? -ne 0
] then
echo `date` Pulse monitor: No pulse from remote system
evmpost <<END
event { name myco.myapp.pulsemon.no_pulse
priority 650 } END fi
The following example monitors all events occurring on a
remote host. If the connection to the remote host is lost,
evmwatch attempts to re-establish the connection for up to
three days before terminating. evmwatch -A -h yoursys -R
3:0:0:0 The following example lists the names of all registered
events that the user is authorized to access.
evmwatch -i | evmshow -t "@name" | more
Definition of the sockets and protocols used for Internet
services.
Commands: evmget(1), evmpost(1), evmshow(1), evmsort(1),
esmd(8)
Files: evmfilterfile(4), services(4)
Event Management: EVM(5)
EVM Events: EvmEvent(5)
Event Filter: EvmFilter(5)
System Administration
evmwatch(1)
[ Back ] |