alarms.cfg
alarms.cfg is a series of one or more Pikt scripts or alarm definitions (which may also refer to programs written in other script languages). Use Pikt scripts for system monitoring, to report and fix problems, to enhance system security, and to handle all sorts of routine system administration tasks.
Although it is possible to place all alarm definitions in the top-level alarms.cfg file, we suggest that you group alarms and scripts in their own, separate #include files, as shown, by functionality (for example, security, backups, users, patches, memory management, devices, etc.), or perhaps by department or personnel (for example, which IT staffer is assigned to what area of specialty or responsibility).
/////////////////////////////////////////////////////////////////////////////// // // PIKT alarms.cfg -- Pikt scripts and alarm definitions // /////////////////////////////////////////////////////////////////////////////// // // (please see the comments prefacing the sample macros.cfg about // configuration file complexity and parse error debugging) // /////////////////////////////////////////////////////////////////////////////// // // note: if you section off a filepath macro in one of the files_pikt_macros // include files, you must take care to section off the alarm that references // it in *alarms.cfg as well; for example, in the RemoteLpChkUrgent alarm, // reference is made to =rlpchk; in the files_pikt_prg_macros.cfg file, this // is defined like so: // // #if piktmaster // ... // rlpchk =prgdir/rlpchk.pl // ... // #endif // // thus, you must be sure to wrap a corresponding #if-#endif around the // referencing RemoteLpChkUrgent alarm like so: // // #if piktmaster // RemoteLpChkUrgent // ... // ... =rlpchk ... [the rlpchk macro reference] // ... // #endif // // if you don't, for machines other than the piktmaster, piktc will complain // that the rlpchk macro is undefined // /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // // alarm scripts follow; these are meant to be invoked in an alerts package // via piktd (although they, too, can be executed at any time using // 'piktc -x', else invoked directly on the clients); look for other // (non-alarm) scripts at the end of this file // /////////////////////////////////////////////////////////////////////////////// #include <alarms/admin_pikt_alarms.cfg> #include <alarms/logs_pikt_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/logs_system_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/process_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/memory_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/devs_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/disks_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/dirs_system_alarms.cfg> #include <alarms/dirs_user_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/files_system_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/accounts_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/mail_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/printing_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/backup_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/downage_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/reboot_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/network_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/backup_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/patches_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/nis_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// // note that security alarms, scripts and rules are also scattered elsewhere // among the other alarms #include files #include <alarms/security_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/adm/web_alarms.cfg> #include <alarms/adm/httpd_alarms.cfg> #include <alarms/adm/html_alarms.cfg> #include <alarms/adm/url_alarms.cfg> /////////////////////////////////////////////////////////////////////////////// #include <alarms/local_alarms.cfg> ///////////////////////////////////////////////////////////////////////////////
(A note about page layout: In the interest of readability, we have added artificial line wraps in many examples. Even though displayed here broken up across several screen lines, in general quoted strings, preprocessor directives, macro definitions, .log & .conf entries, and so on should all be unbroken on a single line.)
For more examples, see Samples.