blob: 87aa1dc62a34e0dbd448b8ca11ecffa94cced4ae [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
log4j.rootLogger=debug,CONSOLE,NAGIOS
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
log4j.logger.org.apache.hadoop.chukwa.MySQLWriter=ERROR, CONSOLE
# our custom handler for nagios
log4j.appender.NAGIOS=org.apache.log4j.nagios.NagiosAppender
log4j.appender.NAGIOS.Host=@TODO-NAGIOS-SERVER@
log4j.appender.NAGIOS.Port=5667
# -------------------------------------------------------------------------------------------
# Nagios Message Structure
#
# This appender will send a structured message via the Nagios native protocol to the
# nagios server. A nagios message is made up of the following components.
#
# HOST
# SERVICE NAME
# RETURN CODE
# MESSAGE
#
# The majority of what you need to think about when using this appender is ...
#
# 1. How to assign the value for HOST (options allow hardcoding or programmatic lookup)
# 2. How to assign the value for SERVICE (options similar to 1.)
# 3. The mapping between log4j levels and Nagios levels that matches your needs.
# 4. The layout for the raw MESSAGE
#
# -------------------------------------------------------------------------------------------
# -------------------------------------------------------------------------------------------
#
# Nagios Enryption
#
# The config file tells us how to encrypt the data. As of version 0.0.3, the
# NagiosAppender supports XOR encryption (thanks to Bob Ingraham!!) If you
# are sending messages in the clear, simply leave the following setting commented
# out, and the appender will assume the default (no encryption).
#
# Future versions are expected to support more of the available choices
# (anyone with encryption experience willing to help out here?)
#
# NOTE: the config file will be read only once ... if you need to change the encryption
# method, you will need to restart your application for the change to take affect.
#
# -------------------------------------------------------------------------------------------
# If send_nsca was installed on this system, maybe we just want to point to it ....
#log4j.appender.NAGIOS.ConfigFile=/usr/local/nagios/nsca-2.4/send_nsca.cfg
# or, we can just include our own version with our application
log4j.appender.NAGIOS.ConfigFile=@TODO_CHUKWA_CONF_DIR@/nsca_send_clear.cfg
# -------------------------------------------------------------------------------------------
# Nagios SERVICE_NAME
# -------------------------------------------------------------------------------------------
# You can either hardcode the nagios service name in this file ....
log4j.appender.NAGIOS.ServiceNameDefault=MDL
# ... or you can override the above and set it programatically, using something like the following ...
# org.apache.log4j.MDC.put("instance", "APPLICATION_FOOBAR");
# ... or ....
# org.apache.log4j.MDC.put("instance", System.getProperty("APP_NAME","UNKNOWN"));
# ... in which case, all you need to do in this file is specify the key you used
#log4j.appender.NAGIOS.useMDCServiceName=true
#log4j.appender.NAGIOS.MDCServiceNameKey=instance
# -------------------------------------------------------------------------------------------
# Nagios HOST
# -------------------------------------------------------------------------------------------
# Dynamic Assignment
#
# You can control whether your hostname shows up as a fully qualified domain name,
# or just the first portion of the fqdn:
# For example .... if the fully qualified domain name is 'www1.amazon.com' .....
# www1
#log4j.appender.NAGIOS.useShortHostName=true
# www1.amazon.com
log4j.appender.NAGIOS.useShortHostName=false
# Static Assignment
#
# You can take all the guess work out of the interface name
# that will be sent upstream vi nsca, and just tell us what key in MDC has the appropriate
# name
#log4j.appender.NAGIOS.useMDCHostName=true
#log4j.appender.NAGIOS.MDCHostNameKey=nagios_host_name
#log4j.appender.NAGIOS.InitializeMDCHostNameValue=www1
# -------------------------------------------------------------------------------------------
# Nagios RETURN CODES
# -------------------------------------------------------------------------------------------
#
# This section is where you control the mappings between the log4j logging levels,
# versus the Nagios alert levels. To make things clear, I've designed the appender to
# NOT assume any default mappings. This way, you have total control over which messages
# get passed on up to nagios. For example, most users will want to avoid sending
# debug and info messages to nagios, but they probably will want to send on warnings,
# errors, and fatals. The following mappings reflect this convention.
#
# NOTE: if you don't declare the mapping, the appender WILL NOT SEND THE MESSAGE TO NAGIOS
#log4j.appender.NAGIOS.Log4j_Level_DEBUG=NAGIOS_UNKNOWN
log4j.appender.NAGIOS.Log4j_Level_INFO=NAGIOS_OK
log4j.appender.NAGIOS.Log4j_Level_WARN=NAGIOS_WARN
log4j.appender.NAGIOS.Log4j_Level_ERROR=NAGIOS_CRITICAL
log4j.appender.NAGIOS.Log4j_Level_FATAL=NAGIOS_CRITICAL
# -------------------------------------------------------------------------------------------
# Option: Filtering
#
# Filters are very useful when introducing Nagios into a backroom with legacy applications.
#
# Rather than sending on ALL error messages to your nagios server, you might want to consider
# turning on IncludeFilters, and speficically identifying the handfull of problem messages you
# need to keep an eye on. Unless a message passes one of your include filters, it won't get
# sent.
#
# The same applies if you are interested in MOST of the messages, but want to suppress the ones
# that duplicate information you already know. But turning on ExcludeFilters, you can suppress
# these annoying messages ...
#
# Filters are defined by Java regex patterns (see http://java.sun.com/docs/books/tutorial/essential/regex)
#
# See the file NagiosIncludeExcludeFilters.properties for example entries
#
# -------------------------------------------------------------------------------------------
#
# Filtering
#log4j.appender.NAGIOS.IncludeFilterEnabled=true
#log4j.appender.NAGIOS.ExcludeFilterEnabled=true
#log4j.appender.NAGIOS.PatternFilterFile=conf/NagiosIncludeExcludeFilters.properties
# -------------------------------------------------------------------------------------------
# Option: Custom Message at Startup
# -------------------------------------------------------------------------------------------
#
# This is an optional message that will get sent as soon as the appender gets
# instantiated. This can be helpful in identifying problems where the application dies quietly, and
# gets restarted by someone (or some automated process).
#
# Simply choose the level that fits your use case, and assign the appropriate message.
#
#log4j.appender.NAGIOS.SendStartupMessageOK=Application Starting
#log4j.appender.NAGIOS.SendStartupMessageUNKNOWN=Application restarted for some reason
#log4j.appender.NAGIOS.SendStartupMessageWARN=Application Errors Cleared
#log4j.appender.NAGIOS.SendStartupMessageCRITICAL=Application Restarted ... Sound the Alarm!!!
# -------------------------------------------------------------------------------------------
# Option: Layout
# -------------------------------------------------------------------------------------------
# Here is the key the appender will use to populate with the value of the
# system's canonical hostname .... look at the layout usage at the end of this file
# to see how you might want to use it
log4j.appender.NAGIOS.MDCCanonicalHostNameKey=nagios_canonical_hostname
# -------------------------------------------------------------------------------------------
# Option: Layout
# -------------------------------------------------------------------------------------------
#
# The Nagios appender supports standard layouts
#
log4j.appender.NAGIOS.layout=org.apache.log4j.PatternLayout
# Here is a rather typical definition ....
log4j.appender.NAGIOS.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Here is a layout that embeds the server name into the message delivered to Nagios ... not really
# necessary if we're already using the HOST parameter for this information, but if we're using the
# HOST parameter for a virtual name .... like 'APP_SERVER', then we can add a little context by
# including the physical hostname in the message. The resulting message sent to nagios would
# then contain the physical hostname pre-pended to the raw message.
#log4j.appender.NAGIOS.layout.ConversionPattern=%X{nagios_canonical_hostname}: %m%n
log4j.appender.NAGIOS.SendStartupMessageOK=Application Starting