Net::Peep::Notifier - Utility object for Peep client event or state e-mail notifications
use Net::Peep::Notifier; $notifier = new Net::Peep::Notifier; $notifier->client('logparser'); # identify who is generating notifications $notifier->from($from); # identify who is sending the e-mail $notifier->recipients(@recipients); # identify some failsafe recipients $notifier->relays(@relays); # identify some SMTP relays $notifier->notify(); # sends an e-mail if it is time, otherwise caches # the information for sending later $john = new Net::Peep::Notifier; $john->flush(); # flush (send) outstanding messages as necessary
Utility object for notifications; for example, when logparser matches a root login in /var/log/messages. When a notification is created, the object will first check whether a notification has been sent for that client (based on the value of $NOTIFICATION_INTERVAL). If so, the notification information is merely noted and no notification is sent out. If not, the notification information, as well as any previously unsent notification information, is sent to the recipients specified by return value of the recipients() method. The object also supports a flush method, which can be used to periodically flush (send out) any failsafe messages which are due to be sent. The basic idea is to populate the object attributes with pertinant information (e.g., a a list of recipients, a set of SMTP relays, a 'From:' address, etc.), then call the notify method. If a notification should be sent, it will be. If not, the information will be cached for later use (e.g., a call to the flush() method.) To flush out unsent messages, simply instantiate a new Net::Peep::Notifier object and call the flush method.
None by default.
$LOGGER - A Net::Peep::Log object $NOTIFICATIONS - Used for caching failsafe information $NOTIFICATION_INTERVAL - Number of seconds between each notification $NOTIFICATION_LEVEL - A hash whose keys are client names (e.g., 'logparser') and whose values are the level ('info', 'warn', or 'crit') at which to issue notifications for that client. Defaults to 'info'. %NOTIFICATION_RECIPIENTS - A hash whose keys are client names (e.g., 'logparser') and whose values are arrays of e-mail addresses to which notifications will be sent for that client. Will be set to whatever is specified in the Peep configuration file. @SMTP_RELAYS - An array of SMTP servers from which e-mail notifications may be relayed. Defaults to localhost. Will we set to whatever is specified in the Peep configuration file.
new() - The constructor from() - A get/set method to store a 'From:' address for e-mail notification. Must be set prior to calling the notify() method. interval() - A get/set method to store the notification interval (in seconds). Defaults to $NOTIFICATION_INTERVAL. recipients() - A get/set method to store an array of e-mail recipients. Must be set prior to calling the notify() method. relays() - A get/set method to store an array of SMTP relays. Must be set prior to calling the notify() method. notify() - If applicable, notify recipients of an event or state via e-mail based on attributes such as generator() etc. (see above). Otherwise, store the information for later reference. flush() - Clear out any unsent failsafe messages which have not been sent in at least $NOTIFICATION_INTERVAL seconds force() - Forcibly clear out any unsent failsafe messages whether or not they have been sent in at least $NOTIFICATION_INTERVAL seconds
Collin Starkweather <collin.starkweather@colorado.edu> Copyright (C) 2001
perl(1), Net::Peep, Net::Peep::Mail
To install Net::Peep, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Peep
CPAN shell
perl -MCPAN -e shell install Net::Peep
For more information on module installation, please visit the detailed CPAN module installation guide.