File:
1.17.0a/server/extras/events/syslog.php (
View as Code)
1: 2: /* -------------------------------------------------------------
3: This file is part of FreeNATS
4:
5: FreeNATS is (C) Copyright 2008-2009 PurplePixie Systems
6:
7: FreeNATS is free software: you can redistribute it and/or modify
8: it under the terms of the GNU General Public License as published by
9: the Free Software Foundation, either version 3 of the License, or
10: (at your option) any later version.
11:
12: FreeNATS is distributed in the hope that it will be useful,
13: but WITHOUT ANY WARRANTY; without even the implied warranty of
14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: GNU General Public License for more details.
16:
17: You should have received a copy of the GNU General Public License
18: along with FreeNATS. If not, see www.gnu.org/licenses
19:
20: For more information see www.purplepixie.org/freenats
21: -------------------------------------------------------------- */
22:
23: /* Description:
24:
25: This is a custom event handler for FreeNATS v1 and relies on the following
26: event types: alert_action
27:
28: It also relies on the following FreeNATS class methods:
29: TFreeNATS::Event, AddEventHandler
30:
31: USAGE INSTRUCTIONS:
32:
33: Place into the server/base/site/events directory being sure to keep a .php
34: extension on the end of the file. Enable the system variable site.include.events
35: (set to 1) to enable inclusion.
36:
37: Create an alert action of the type message queue and with the name "_syslog"
38: (without the quotes).
39:
40: Alerts to this alert action will be piped to syslog.
41:
42: Please note this may well not work when using the "test action" option in
43: the configuration dependent on your system security setup.
44:
45: */
46:
47:
48:
49:
50: global $NATS;
51: if (isset($NATS))
52: {
53:
54:
55: function alert_action_syslog($data)
56: {
57: global $NATS;
58: $NATS->Event("Syslog AA Called for ".$data['name'],10,"Syslog","Start");
59: if ($data['name']!="_syslog") return false;
60: $lvl=LOG_ERR;
61:
62: define_syslog_variables();
63: openlog("FreeNATS", LOG_PID | LOG_PERROR, LOG_LOCAL0);
64:
65: if (syslog($lvl,$data['data'])===false)
66: $NATS->Event("Syslog Failed for ".$data['data'],2,"Syslog","Write");
67: else
68: $NATS->Event("Syslog Succeeded for ".$data['data'],10,"Syslog","Write");
69: closelog();
70:
71: return true;
72: }
73:
74: $NATS->AddEventHandler("alert_action","alert_action_syslog");
75:
76:
77:
78:
79: } // end of isset($NATS) block
80: ?>