# Thruk Settings

######################################
#
# !!! DONT CHANGE THIS FILE !!!
#
# If you want to change configuration settings put
# the items you want to override in your thruk_local.conf.
# Configuration is merged from both files then.
# This file will be replaced on every update.
#
######################################

######################################
# set the url prefix for all urls
url_prefix = /

######################################
# Changes the path to your logo images. Default is
# $url_prefix+'thruk/themes/'+$current_theme+'/images/logos/' and
# therefor relative to the current selected theme. You could set a fixed
# path here.
# Like usual, paths starting with a / will be absolute from your
# webserver root directory. Paths starting without a / will be relative
# to the cgi directory.
#logo_path_prefix = /icons/

# location of your logos in your filesystem. This directory should be
# mapped to your 'logo_path_prefix' directory where 'logo_path_prefix' is
# the path relative to your webserver root directory and 'physical_logo_path' is
# the corresponding filesystem path.
#physical_logo_path = /usr/local/share/icons

######################################
# change path to your host / service action icons. You may use relative paths
# to specify completely different location.
# you also may want to use 'action_pnp.png' when using pnp.
# icon can be overriden by a custom variable '_ACTION_ICON'.
#host_action_icon    = action.gif
#service_action_icon = action.gif

######################################
# set the title prefix for all urls
# this piece of text will be prepended to
# all page titles.
#title_prefix = Prod

######################################
# use this timezone instead of the system timezone
#use_timezone = CET

######################################
# determines if host contacts are allowed for services
# on this host or not
use_strict_host_authorization = 0

######################################
# convert authenticated username to lowercase
#make_auth_user_lowercase = 0

# convert authenticated username to uppercase
#make_auth_user_uppercase = 0

######################################
# location of your cgi.cfg
cgi.cfg             = cgi.cfg

######################################
# use frames, can be useful for addons
use_frames          = 0

######################################
# normally passive checks would be marked as disabled.
# with this option, disabled checks will only be displayed as disabled
# if their last result was active
strict_passive_mode = 1

######################################
# delay the page delivery until the backends uptime is
# at least this amount of seconds. Displaying pages soon
# after backend restarts displays wrong results and all
# services are pending. Enable this if you experience problems
# with pending services after reloading your backend
# ex.: setting this to 10 would start serving pages 10 seconds
# after the backend reload
delay_pages_after_backend_reload = 0

######################################
# start page
# add a custom start page which will be displayed instead of the useless page
# with version information.
#start_page = /thruk/main.html

######################################
# target of the docs link, you may add your monitoring
# documenation here
# use a blank value to remove the docs link
#documentation_link = /thruk/docs/

######################################
# customized link for all problems
#all_problems_link = /thruk/cgi-bin/status.cgi?style=combined&amp;hst_s0_hoststatustypes=4&amp;hst_s0_servicestatustypes=31&amp;hst_s0_hostprops=10&amp;hst_s0_serviceprops=0&amp;svc_s0_hoststatustypes=3&amp;svc_s0_servicestatustypes=28&amp;svc_s0_hostprops=10&amp;svc_s0_serviceprops=10&amp;svc_s0_hostprop=2&amp;svc_s0_hostprop=8&amp;title=All+Unhandled+Problems

######################################
# allowed framed links
# which links in addition to the documentation_link
# can be framed by linking to /thruk/frame.html?link=...
#allowed_frame_links = http://my-company/

######################################
# use new search
use_new_search      = 1

# Show the new split command box on the host / service details page
use_new_command_box = 1

######################################
# use ajax search
use_ajax_search           = 1  # enable ajax search
ajax_search_hosts         = 1  # suggest hosts while typing
ajax_search_hostgroups    = 1  # suggest hostgroups while typing
ajax_search_services      = 1  # suggest services while typing (can be slow which large amount of services)
ajax_search_servicegroups = 1  # suggest servicegroups while typing
ajax_search_timeperiods   = 1  # suggest timeperiods while typing

######################################
# themes
default_theme       = Thruk

######################################
# path used for cookies. Do not change unless you have weird url rewrites which
# breaks setting cookies.
#cookie_path = /

######################################
# temporary directory, used for template cache...
#tmp_path = /tmp

######################################
# var directory, used to store user settings
#var_path = ./var

######################################
# server side includes
#ssi_path = ssi/

######################################
# path to your plugins
# see documentation for further steps if
# you change the plugin path
#plugin_path = plugins/

######################################
# path to your themes
# see documentation for further steps if
# you change the themes path
#themes_path = themes/

######################################
# custom templates
#user_template_path = ./my_templates

######################################
# log4perl config
#log4perl_conf = ./log4perl.conf

######################################
# use paged data instead of all data in one huge page
# the * sets the default selected paging size
use_pager             = 1
paging_steps          = *100, 500, 1000, 5000, all

# paging for groups pages has different size
group_paging_overview = *3,  10, 100, all
group_paging_summary  = *10, 50, 100, all
group_paging_grid     = *5,  10, 50,  all

######################################
# status page
# when a plugin returns more than one line of output, the
# output can be displayed directly in the status table, as
# popup or not at all.
# choose between popup, inline and off
show_long_plugin_output = popup

# on which event should the comments / downtime or
# longpluginout popup show up
# usefull values are onclick or onmouseover
info_popup_event_type = onclick

# options for the popup window used for
# long pluginoutput, downtimes and comments
# see http://www.bosrup.com/web/overlib/?Command_Reference
# for what options are available
info_popup_options    = STICKY,CLOSECLICK,HAUTO,MOUSEOFF

# show number of notifications on the status details page
show_notification_number = 1

# show links to config tool for each host / service
# you need to have the config tool plugin enabled
# and you need proper permissions for the link to appear
show_config_edit_buttons = 0

# display the backend name in the status details table
show_backends_in_table=0

# Display the full command line for host / service checks.
# Be warned: the command line could contain passwords
# and other confidential data.
# In order to replace the user macros for commands, you have to set
# the 'resource_file' in your peer config or a general resource_file
# option. See the next option.
# 0 = off, don't show the command line at all
# 1 = show them for all with the role: authorized_for_configuration_information
# 2 = show them for everyone
show_full_commandline = 1

# set a general resource file. Make sure it does not
# contain any passwords or any other data which should not be
# displayed.
# Instead of using a general resource_file, you could define one file
# per peer in your peer config.
#
#resource_file = path_to_your/resource.cfg

# enable a performance bar inside the status/host list which
# create a graph from the performance data of the plugin output. Available
# options are 'match', 'first', 'all', 'worst' and 'off'.
perf_bar_mode = match

# show inline pnp graph if available
# if a service or host has a pnp4nagios action url set
# thruk will show a inline graph on the extinfo page
shown_inline_pnp = 1

# show custom vars in host / service ext info.
# list variable names to display in the host
# and service extinfo details page.
# can be specified more than once to define multiple
# variables. You may use html in your variables.
# Use * as wildcard, ex.: _VAR*
#show_custom_vars = _VAR1
#show_custom_vars = _VAR2

# show if a host / service has modified attributes.
show_modified_attributes = 1


######################################
# Command Settings
# Set this if a contact should be allowed to send commands unless
# defined for the contact itself. This is the default value for all
# contacts unless the user has a can_submit_commands setting in your
# monitoring configuration.
can_submit_commands = 1

# disable some commands completely
# you can use ranges here, ex.: 5,10-47,99
#command_disabled = 14 # shutdown
#command_disabled = 35 # start executing service checks
#command_disabled = 36 # stop executing service checks
#command_disabled = 88 # start executing host checks
#command_disabled = 89 # stop executing host checks

# default states for commands option checkboxes
<cmd_defaults>
    ahas                   = 0  # For Hosts Too
    broadcast_notification = 0  # Broadcast
    force_check            = 0  # Forced Check
    force_notification     = 0  # Forced Notification
    send_notification      = 1  # Send Notification
    sticky_ack             = 1  # Sticky Acknowledgement
    persistent_comments    = 1  # Persistent Comments
    persistent_ack         = 0  # Persistent Acknowledgement Comments
    ptc                    = 0  # For Child Hosts Too
    use_expire             = 0  # Use expire for acknowledgements (for cores which support this)
</cmd_defaults>

# configure which commands should be available as quick status commands
<cmd_quick_status>
    reschedule             = 1  # Reschedule next check
    downtime               = 1  # Add/remove downtimes
    comment                = 1  # Add/remove comments
    acknowledgement        = 1  # Add/remove acknowledgements
    active_checks          = 1  # Enable/disable active checks
    notifications          = 1  # Enable/disable notifications
    submit_result          = 1  # Submit passive check result
    reset_attributes       = 1  # Reset modified attributes
</cmd_quick_status>

# default duration of new downtimes
downtime_duration   = 7200

# default duration of acknowledgements with expire date
expire_ack_duration = 86400

# command alias can be used for agent based checks, where the active agent
# check should be rescheduled instead of the passive check.
# Have a look at the documentation for a detailed description.
#command_reschedule_alias = servicename_or_commandname_pattern;agent_service_name

######################################
# Time Format Settings
datetime_format        = %Y-%m-%d  %H:%M:%S
datetime_format_today  = %H:%M:%S
datetime_format_long   = %a %b %e %H:%M:%S %Z %Y
datetime_format_log    = %B %d, %Y  %H
datetime_format_trends = %a %b %e %H:%M:%S %Y

#####################################
# statusmap plugin settings
# you may change the default map type of the statusmap here. Valid
# types are: 'table' and 'circle'
statusmap_default_type    = table

# and the statusmap default group by which has to be one of:
# 'parent', 'address', 'domain', 'hostgroup', 'servicegroup'
statusmap_default_groupby = address

#####################################
# This one activates all problem/impact and criticity
# features. Currently it will only work with shinken
# backends. Dont enable it unless all your backends are shinken.
# If not set, it will be automatically enabled when using only
# shinken backends.
#enable_shinken_features = 0

# configure names for the priorities of your hosts / services
# this is a shinken specific feature only (criticity)
#<priorities>
#  5   = Business Critical
#  4   = Top Production
#  3   = Production
#  2   = Standard
#  1   = Testing
#  0   = Development
#</priorities>

#####################################
# This one activates all icinga specific features
# When not set, Thruk will try to autodetect the core,
# but this currently only works within OMD.
#enable_icinga_features = 0

#####################################
# cron settings
# Specifiy a file which is then completly under the control of Thruk.
# It will be used to store cronjobs, ex. for reports. The file has to
# be writable by Thruk.
cron_file          = /tmp/thruk_cron.tmp

# The pre edit cmd can be used to do run a command just before thruk
# will edit the crontab.
cron_pre_edit_cmd  = /usr/bin/crontab -l > /tmp/thruk_cron.tmp

# The post edit cmd is necessary for OMD where you need to reload the
# crontab after editing.
cron_post_edit_cmd = /usr/bin/crontab /tmp/thruk_cron.tmp && rm -f /tmp/thruk_cron.tmp

#####################################
# path setting
# Path to your thruk executable. Will be used in cronjobs.
#thruk_bin = /usr/bin/thruk

# Path to your thruk init script. Will be used to restart thruk.
#thruk_init = /etc/init.d/thruk

# execute regular scheduled reports with this nice level
#report_nice_level = 5

# url used to replace relative links in html reports
#report_base_url=http://host.local/thruk/cgi-bin/

#####################################
# Waiting is a livestatus feature. When enabled, Thruk will wait
# after rescheduling hosts/services checks until the
# check has been really executed up to a maximum of 20 seconds.
use_wait_feature = 1

# Amount of seconds to wait until a rescheduled check finishes. Thruk
# will wait this amount and display the result immediately.
wait_timeout = 10

#####################################
# set initial menu state.
# closed => 0
# open   => 1
<initial_menu_state>
    General        = 1
    Current_Status = 1
    Reports        = 1
    System         = 1
    Bookmarks      = 1
</initial_menu_state>

#####################################
# mobile useragents
# specify user agents which will be redirected to the mobile plugin (if enabled)
mobile_agent=iPhone,Android,IEMobile

#####################################
# bug reporting
# show link to bug reports when internal errors occur
show_error_reports = 1

# don't report some known harmless javascript errors
skip_js_errors  = cluetip is not a function

######################################
# COOKIE AUTH
######################################
cookie_auth_login_url             = thruk/cgi-bin/login.cgi
cookie_auth_restricted_url        = http://localhost/thruk/cgi-bin/restricted.cgi
cookie_auth_session_timeout       = 86400
cookie_auth_session_cache_timeout = 5

######################################
# BACKENDS
######################################
# Get the status for remote backends from local instances. This can
# increase performance when using multiple remote sites. It is enabled
# by default when using more than one site. You have to define
# hostchecks in any local backend (using unix sockets) with a name or
# alias of the address of your remote backends.
#check_local_states = 1

# set logging of backend in verbose mode. This only
# makes sens when debug logging is activated
# backend_debug = 0

######################################
# Backend Configuration, enter your backends here
<Component Thruk::Backend>
#    <peer>
#        name   = Local Nagios
#        type   = livestatus
#        hidden = 1             # make this backend hidden by default
#        groups = admins        # make this backend only visible to the admin group
#        <options>
#            peer          = /tmp/livestatus.socket
#            resource_file = path_to_your/resource.cfg
#       </options>
#       <configtool>
#            core_conf      = /etc/nagios/nagios.cfg
#            obj_check_cmd  = /etc/init.d/nagios checkconfig
#            obj_reload_cmd = /etc/init.d/nagios reload
#       </configtool>
#    </peer>
#    <peer>
#        name   = External Nagios
#        type   = livestatus
#        <options>
#            peer    = 172.16.0.1:9999
#       </options>
#    </peer>
#    <peer>
#        name   = External Icinga
#        type   = livestatus
#        <options>
#            peer    = 172.16.0.2:9999
#       </options>
#    </peer>
#    <peer>
#        name   = External Shinken
#        type   = livestatus
#        <options>
#            peer    = 127.0.0.01:50000
#       </options>
#    </peer>
</Component>


######################################
# CONFIG TOOL
######################################
# enable config tool by setting path to different components
# config files. Users with the roles
# authorized_for_configuration_information and authorized_for_system_commands
# will then have access to the config tool.
<Component Thruk::Plugin::ConfigTool>
    show_plugin_syntax_helper = 1

    thruk    = ./thruk_local.conf
    cgi.cfg  = ./cgi.cfg
#    htpasswd = ./htpasswd
</Component>

######################################
# Panorama
######################################
# stateprovider can be 'server' or 'cookie'
<Component Thruk::Plugin::Panorama>
    state_provider = server
</Component>
