#####################################################################
# IDO2DB DAEMON CONFIG FILE
#####################################################################



# LOCK FILE
# This is the lockfile that IDO2DB will use to store its PID number
# in when it is running in daemon mode.

lock_file=/var/icinga/ido2db.lock



# USER/GROUP PRIVILIGES
# These options determine the user/group that the daemon should run as.
# You can specify a number (uid/gid) or a name for either option.

ido2db_user=_icinga
ido2db_group=_icinga



# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
#   unix = Unix domain socket (default)
#   tcp  = TCP socket

socket_type=unix
#socket_type=tcp



# SOCKET NAME
# This option determines the name and path of the UNIX domain
# socket that the daemon will create and accept connections from.
# This option is only valid if the socket type specified above
# is "unix".

socket_name=/var/icinga/ido.sock



# SOCKET PERMISSIONS
# This option determines the permissions of the Unix domain
# socket. This option is only valid if the socket type specified
# above is "unix". Default permissions are set to 0755.

socket_perm=0755




# TCP PORT
# This option determines what port the daemon will listen for
# connections on.  This option is only vlaid if the socket type
# specified above is "tcp".

tcp_port=5668



# ENCRYPTION
# This option determines if the ido2db daemon will accept SSL to encrypt the
# network traffic between module and ido2db daemon.
# Both sides have to enable this feature which depends on SSL Libraries
# like openssl or kerberos
# This option is only valid if the output type
# option specified above is "tcpsocket".
#
# A value of '1' will enable this feature

use_ssl=0



# LIBDBI DRIVER DIRECTORY !!!EXPERIMENTAL!!!
# This option is only valid when using libdbi as database abstraction layer
# (so not oracle) on compile time. By default, libdbi will figure out the
# correct path itsself. If you want to change it, enable and change the value.
#
# Default: not in use, enable and change to e.g. /usr/local/lib/dbd

#libdbi_driver_dir=/usr/local/lib/dbd



# DATABASE SERVER TYPE
# This option determines what type of DB server the daemon should
# connect to.
# Values:
# 	mysql    = MySQL
#	pgsql    = PostgreSQL
#	db2      = DB2
#	firebird = Firebird
#	freetds  = FreeTDS
#	ingres   = Ingres
#	msql     = MSSQL
#	oracle   = Oracle
#	sqlite   = SQLite
#	sqlite3  = SQLite3
# Currently supported:
#	libdbi: mysql, pgsql
#	ocilib: oracle


db_servertype=mysql



# DATABASE HOST
# This option specifies what host the DB server is running on.
# Note: Oracle will ignore this setting

db_host=localhost



# DATABASE PORT
# This option specifies the port that the DB server is running on.
# Values:
# 	3306 = Default MySQL port
#	5432 = Default PostgreSQL port
#       1521 = Default Oracle port
#
# Note: ocilib will ignore this, you have to modify your tnsnames.ora

db_port=3306


# DATABASE SOCKET
# Optional db_socket allows to specify a different socket location.
# This will be passed to libdbi MySQL as mysql_unix_socket, while
# PostgeSQL overrides the port, ocilib Oracle ignores this setting.
#
# Note: This setting overrules db_port, making it useless!

#db_socket=/var/lib/mysql/mysql.sock



# DATABASE NAME
# This option specifies the name of the database that should be used.
#
# Note: Oracle with ocilib requires tnsnames.ora filled with host, port
# and database information. you can use the SID then with ocilib and
# one of the following:
# 	//DBSERVER/SID
#	SID

db_name=icinga



# DATABASE TABLE PREFIX
# Determines the prefix (if any) that should be prepended to table names.
# If you modify the table prefix, you'll need to modify the SQL script for
# creating the database!
#
# Note: Oracle will ignore this prefix since the tablename length will exceed
# 30 characters.

db_prefix=icinga_



# DATABASE USERNAME/PASSWORD
# This is the username/password that will be used to authenticate to the DB.
# The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on
# the database.

db_user=icinga
db_pass=icinga



## TABLE TRIMMING OPTIONS
# Several database tables containing Icinga event data can become quite large
# over time.  Most admins will want to trim these tables and keep only a
# certain amount of data in them.  The options below are used to specify the
# age (in MINUTES) that data should be allowd to remain in various tables
# before it is deleted.  Using a value of zero (0) for any value means that
# that particular table should NOT be automatically trimmed.
#
# Remember: There are no optimized settings, it depends on your rdbm install,
# number/checkinterval of host/service-checks and your desired time of data
# savings - historical vs live-data. Please keep in mind that low delete
# intervals may interfere with insert/update data from Icinga.

# ***DEFAULT***

# Keep timed events for 1 hour
max_timedevents_age=60

# Keep system commands for 1 day
max_systemcommands_age=1440

# Keep service checks for 1 day
max_servicechecks_age=1440

# Keep host checks for 1 day
max_hostchecks_age=1440

# Keep event handlers for 1 week
max_eventhandlers_age=10080

# Keep external commands for 1 week
max_externalcommands_age=10080

# Keep logentries for 31 days
max_logentries_age=44640

# Keep acknowledgements for 31 days
max_acknowledgements_age=44640

# Keep notifications for 31 days
max_notifications_age=44640

# Keep contactnotifications for 31 days
max_contactnotifications_age=44640

# Keep contactnotificationmethods for 31 days
max_contactnotificationmethods_age=44640


## CLEAN REALTIME TABLES AT CORE STARTUP !!!EXPERIMENTAL!!!
# If you don't want to clean all those tables, set this option to 0.
# This can be useful if the deletes slow down the normal data
# processing.
# Values: 0 - don't clean
#         1 - clean (default)

clean_realtime_tables_on_core_startup=1


## CLEAN CONFIG TABLES AT CORE STARTUP !!!EXPERIMENTAL!!!
# If you don't want to clean all those tables, set this option to 0.
# This can be useful if the deletes slow down the normal data
# processing.
# Furthermore if you need to keep e.g. the state of customvariables
# or any other tables not directly linked to the objects table.
# Values: 0 - don't clean
#         1 - clean (default)

clean_config_tables_on_core_startup=1


# ***EXPERIMENTAL*** DB TRIMMING INTERVAL
# ido2db default db trimming interval is set to 3600 SECONDS.
# Some environments will require higher or lower values. This setting is
# highly experimental!!!
# Modify at your own risk to set the interval DB trimming interval
# to an appropriate value. If left blank, it defaults to 3600 seconds.

trim_db_interval=3600


# DB TRIMMING THREAD DELAY ON STARTUP
# ido2db spawns a thread for parallel db trimming. This option can be
# modified to extend/minimize the initial wait delay at startup.
# Default is set to 300 seconds in order to allow startup routines.
# 300 seconds is also the minimum value, lower ones will be overwritten.

housekeeping_thread_startup_delay=300



# DEBUG LEVEL
# This option determines how much (if any) debugging information will
# be written to the debug file.  OR values together to log multiple
# types of information.
# Values: -1 = Everything
#          0 = Nothing
#          1 = Process info
#	   2 = SQL queries

debug_level=0



# DEBUG VERBOSITY
# This option determines how verbose the debug log out will be.
# Values: 0 = Brief output
#         1 = More detailed
#         2 = Very detailed

debug_verbosity=2



# DEBUG FILE
# This option determines where the daemon should write debugging information.

debug_file=/var/log/icinga/ido2db.debug



# MAX DEBUG FILE SIZE
# This option determines the maximum size (in bytes) of the debug file.  If
# the file grows larger than this size, it will be renamed with a .old
# extension.  If a file already exists with a .old extension it will
# automatically be deleted.  This helps ensure your disk space usage doesn't
# get out of control when debugging.

# 100M
max_debug_file_size=100000000



# DEBUG READABLE TIMESTAMP
# This option will allow you to set a readable timestamp instead of the
# default unix timestamp.
# Values: 0 = disabled, 1 = enabled

debug_readable_timestamp=0



# OCI ERRORS TO SYSLOG
# ido2db registers an error handler in ocilib which spits all msg
# into debug and syslog by default. Setting this option to 0,
# syslog output will be disabled, only debug log will be used (if
# appropriate debug_level is set).

oci_errors_to_syslog=1



# ORACLE TRACE LEVEL
# This setting activates oracle session trace for each ido2db connection using trace event
# Level value must be one of the currently supported values (1,4,8,12) or 0 for off 
# this requires explicit "alter session" privilege
# select rights to v$session and v$process are recommanded
# 0 - pseudo level TRACE OFF
# 1 – standard SQL trace, no wait events, or bind variables.
# 4 – Bind variables only
# 8 – Wait events only
# 12 – Bind Variables and Wait Events

oracle_trace_level=0



# ENABLE SLA - EXPERIMENTAL!
# This setting enables collection of SLA data in the slahistory table
# Values: 0 = disabled, 1 = enabled
#
# WARNING: This setting is highly experimantal and may harm your
# systems performance. Enable at your own risk, and if any problems
# occur, remark that you are explicitely using it. You've been warned.

enable_sla=0
