aboutsummaryrefslogtreecommitdiff
path: root/etc/mauveserver.conf
blob: bd975ab6cbc28ac761e1a7d5d1e0cf513011d65e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# Example mauveserver.conf file, based on Bytemark's configuration.
# Probably still needs a bit of improvement and explanation.
#

# The service which listens for alert messages
#
server {
  # 
  # persistent data store
  #
  database "sqlite3:///var/lib/mauvealert/alerts.db"

  listener {
    ip "0.0.0.0"
    port 32741
  }
  
  # default is probably more than enough!
  # transmission_id_expire_time 600

  # few options for web interface, just the TCP port number
  web_interface {
    ip "127.0.0.1"
    port 1288
    document_root  "/srv/mauvealert"
  }
}

logger {

  default_format "%d [ %6.6l ] [ %12.12c ] %m"

  outputter("file") {
    filename "/var/log/mauvealert/mauvealert.log"
    trunc    false
    level    Log4r::INFO
  }

#  outputter("stdout") {
#    level    Log4r::DEBUG
#  }

#  outputter("email") {
#    server       "localhost"
#    subject      "Mauve logger output"
#    from         "mauvealert@localhost"
#    to           "boring@localhost"
#    domain       "localhost"
#    level        Log4r::WARN
#  }

}

notification_method("email") {
  #
  # email address to send from
  #
  from "mauvealert@" + `hostname`.chomp

  #
  # outbound smtp host
  #
  server "localhost"

  # 
  # add this to the subject of any emails we send
  #
  subject_prefix "[mauvealert]"
}

# How to log into a jabber server
#
# notification_method("xmpp") {
#   jid "mauvealert@chat.example.com/boo"
#   password "x"
# }

# How to notify by SMS - we use aql.com, a provider for clockworksms.com
# is also provided. For another provider, you'll need to write a module.
#
# notification_method("sms") {
#   provider "AQL"
# 
#   username "x"
#   password "x"
#   from "01234567890"
#
#   # Maximum number of SMS messages to concatenate for one notification
#   max_messages_per_alert 3
# }
#
# notification_method("sms") {
#   provider "Clockwork"
# 
#   apikey "sssseeeeeeccccccccrrrrreeeeeettttsssssss"
#   from "01234567890"
#
#   # Maximum number of SMS messages to concatenate for one notification
#   max_messages_per_alert 3
# }

# Simple default notification preference for root at this machine, at all
# alert levels.  You probably want more people, see below for a more complete
# example.
# 
person("root") {
  all { email("root@localhost") }
}

# Johnny is the go-to guy for everything on this network, poor Johnny!
#
# person("johnny") {
#
#   sms "07111222333"
#   email "johnny@example.com"
#   xmpp "johnny@example.com.jabber.org"
#
#   # Johnny wants waking up 24/7 if anything urgent happens
#   urgent { sms }
#
#   # XMPP, or Email him for anything that's not urgent
#   normal { xmpp or email }
#
#   # Anything else can just be a jabber message, which he might miss.
#   # Email instead if he's unavailable/offline - but give it a try if
#   # we don't know his status.
#   low { xmpp("johnny@example.com.jabber.org", :if_presence => [:available, unknown]) || email }
#
#   # SMS messages are expensive, if we're sending more than 5 per minute,
#   # tell the user we're going to stop until it slows down.
#   suppress_notifications_after 5 => 1.minute
#   # In general, this is too many notifications for Johnny
#   suppress_notifications_after 60 => 1.hour
# }

# Archie is Johnny's boss
#
# person("archie") {
#
#   email "archie@example.com"
#
#   all { email }
#
#   # Don't spam Archie, if more than 3 messages per hour come in.
#   suppress_notifications_after 3 => 1.hour
# }

# Here is a group of alerts generated by the core routers.  
# 
# alert_group {
#   level URGENT
#   includes { source == "core-router" }
#
#   # Johnny should get up and fix these errors very quickly, we will
#   # bother him every 15 minutes until he does.
#   # 
#   notify("johnny") { every 15.minutes }
#
#   # Archie only wants to know about these alerts if they have gone
#   # unacknowledged for a whole hour - Johnny must be slacking!  Even
#   # then he only needs to know during the working day.
#   #
#   notify("archie") { 
#     every 6.hours
#     during { unacknowledged(1.hour); hours_in_day(9..17) }
#   }
# }

#
# Default notification - tell root about all alerts every hour
# 
alert_group {
  level NORMAL
  notify("root") { every 1.hour }
}