|
|
|
|
@ -1,125 +1,35 @@
|
|
|
|
|
; all you need to know: https://docs.python.org/3/library/configparser.html ... ;)
|
|
|
|
|
[linspector]
|
|
|
|
|
; report core errors to the following users
|
|
|
|
|
default_interval = 300
|
|
|
|
|
delta_range = 10
|
|
|
|
|
error_receivers = admin@example.com
|
|
|
|
|
; available log levels are: "critical", "error", "warning", "info" and "debug". if no log_level is set, it will be set
|
|
|
|
|
; to "critical".
|
|
|
|
|
log_level = debug
|
|
|
|
|
;log_file = ~/code/linspector/linspector/log/linspector.log
|
|
|
|
|
; number of log files to be kept. i recommend to use the lowest sensible value for keeping performance high. so set
|
|
|
|
|
; the size of the log file higher to increase the log history.
|
|
|
|
|
log_file_count = 20
|
|
|
|
|
; log file size in megabytes as int. the default is 10000000 bytes (10MiB) set in the code if not configured here.
|
|
|
|
|
log_file_size = 1
|
|
|
|
|
; log file size in bytes as int. you can set to bytes if you want to set a value lower then 1 megabyte. but it will
|
|
|
|
|
; only be used when log_file_size is not set. if this value is not set too the default in the code will be used.
|
|
|
|
|
log_file_size_bytes = 100000
|
|
|
|
|
pid_file = /var/run/user/1000/linspector.pid
|
|
|
|
|
; plugins separated by ','. no whitespaces allowed! not case sensitive.
|
|
|
|
|
plugins = api,httpd,lish
|
|
|
|
|
; globally configured tasks will always run on all monitors when no task is configured there. if tasks are configured in
|
|
|
|
|
; a monitor then maybe only run tasks from the dedicated monitor. maybe it is a good idea to run global tasks in every
|
|
|
|
|
; monitor and the monitor can add tasks to the global settings... need to think about it.
|
|
|
|
|
; tasks separated by ','. no whitespaces allowed! not case sensitive.
|
|
|
|
|
tasks = sqlite
|
|
|
|
|
notifications = sms
|
|
|
|
|
; maybe the run_mode is obsolete because this will be a daemon but maybe it is useful for one time execution?
|
|
|
|
|
; in uplink the available run_modes were cron, daemon and foreground
|
|
|
|
|
run_mode = cron
|
|
|
|
|
; members to send notifications to if something internally in Linspector went wrong.
|
|
|
|
|
members = superadmin@example.com,developers@example.com
|
|
|
|
|
; scheduler configuration
|
|
|
|
|
start_scheduler = true
|
|
|
|
|
; the mode the scheduler should run. options are, process or thread. default is the thread mode. process mode will run
|
|
|
|
|
; multiple processes, thread mode will run only one process with multiple threads. maybe this can be combined to run
|
|
|
|
|
; multiple processes with multiple threads... dont know this actually but reading the APScheduler documentation will
|
|
|
|
|
; explain this.... :) default is "thread" but Linspector will only run on one CPU core then. default threads are 1024
|
|
|
|
|
; but this can be set much higher here. this should be minimal set to the number of monitors you are running. in process
|
|
|
|
|
; mode log rotating is not working as expected so i need to investigate some time to figure out what happens.
|
|
|
|
|
scheduler_mode = process
|
|
|
|
|
; the default job interval can be set here. in the code 300 seconds are set when this option does not exist here nor in
|
|
|
|
|
; the monitor configuration.
|
|
|
|
|
default_interval = 5
|
|
|
|
|
; the minimum interval for monitors
|
|
|
|
|
minimum_interval = 1
|
|
|
|
|
log_level = info
|
|
|
|
|
max_processes = 1
|
|
|
|
|
max_threads = 2048
|
|
|
|
|
; i recommend to set this to your number of CPU cores available when running on a dedicated Linspector host. but if the
|
|
|
|
|
; system is running other services you should lower this value when you have too high CPU load. if you have enough
|
|
|
|
|
; resources this value really can be higher then your available CPU cores.
|
|
|
|
|
max_processes = 24
|
|
|
|
|
; if timezone is not set, UTC is used by default.
|
|
|
|
|
minimum_interval = 10
|
|
|
|
|
notifications = email
|
|
|
|
|
pid_file = /var/run/user/1000/linspector.pid
|
|
|
|
|
plugins =
|
|
|
|
|
run_mode = cron
|
|
|
|
|
scheduler_mode = thread
|
|
|
|
|
start_scheduler = true
|
|
|
|
|
tasks = mariadb
|
|
|
|
|
timezone = CET
|
|
|
|
|
; this is for scheduling jobs to not run all at the same time. this should not be set lower then the lowest interval
|
|
|
|
|
; you use in monitors. it can be set to a lower value if you only have a small amount of services you are monitoring.
|
|
|
|
|
; i recommend the lowest interval you use in any monitor but higher values will reduce cpu load when using monitors
|
|
|
|
|
; with a higher value then the delta_range. it is always starting with 0. default is 60. the current setting is for
|
|
|
|
|
; development only.
|
|
|
|
|
delta_range = 60
|
|
|
|
|
|
|
|
|
|
; hostgroup parents; if the hostgroup "group1" is down, don't alert for the hosts in group2. see TODO.txt for more
|
|
|
|
|
; information.
|
|
|
|
|
[hostgroupparents]
|
|
|
|
|
; hostgroup group1 is parent of group2
|
|
|
|
|
group1 = group2
|
|
|
|
|
|
|
|
|
|
; a flexible way to define groups of hosts which can be used by monitors as target for monitoring for easily monitor
|
|
|
|
|
; groups without adding a monitor for each host. for some more information see the "hosts" section in gateway.conf.
|
|
|
|
|
; hostgroups can be defined in separate files in etc/hostgroups to be more flexible.
|
|
|
|
|
[hostgroups]
|
|
|
|
|
; add single hosts
|
|
|
|
|
group1 = host1,host2,host3
|
|
|
|
|
; add a range of ip addresses.
|
|
|
|
|
; for ip ranges see: https://stackoverflow.com/questions/19157307/generate-range-of-ips-in-python
|
|
|
|
|
group2 = 192.168.1.1/28
|
|
|
|
|
; add a combination of hosts and ranges
|
|
|
|
|
group3 = host1,host2,host3,192.168.1.1/28
|
|
|
|
|
; using groups inside groups. but need to take care about recursive dependencies.
|
|
|
|
|
group4 = host10,host11,host12,@group3
|
|
|
|
|
|
|
|
|
|
; member groups to define recipients for notifications. see hostgroups for more details.
|
|
|
|
|
[membergroups]
|
|
|
|
|
admins = admin1@example.com,admin2@example.com,admin3@example.com
|
|
|
|
|
developers = hanez@example.com
|
|
|
|
|
|
|
|
|
|
; just an idea taken from the old Linspector design. not tried but seems a good idea to add global options to monitor
|
|
|
|
|
; groups. no idea of an implementation yet.
|
|
|
|
|
[monitorgroups]
|
|
|
|
|
; members of monitors to automatically send notifications to all without need to set them in each monitor. members can
|
|
|
|
|
; be added to monitors in the configuration of each monitor though.
|
|
|
|
|
network1_members = admin@example.com,@admins
|
|
|
|
|
|
|
|
|
|
; every notification can be configured in it's own configuration file in etc/notifications; there no notification
|
|
|
|
|
; name as prefix is needed. see email example.
|
|
|
|
|
[notifications]
|
|
|
|
|
; values can be overridden in each defined monitor
|
|
|
|
|
sms_receivers = +number1,+number2
|
|
|
|
|
sms_configuration_file = ~/linspector/etc/gammurc
|
|
|
|
|
; retry to send interval and number of retries if something failed
|
|
|
|
|
sms_resend = 10
|
|
|
|
|
sms_resend_count = 5
|
|
|
|
|
email_resend = 10
|
|
|
|
|
|
|
|
|
|
; every plugin can be configured in it's own ini file in etc/plugins; there no plugin name as prefix is needed. see
|
|
|
|
|
; httpd example.
|
|
|
|
|
[plugins]
|
|
|
|
|
api_host = 0.0.0.0
|
|
|
|
|
httpd_host = 192.168.23.42
|
|
|
|
|
httpd_port = 8089
|
|
|
|
|
|
|
|
|
|
; if types can or must be configured before use; for now no use case seen.
|
|
|
|
|
; every type can be configured in it's own ini file in etc/types; there no type name as prefix is not needed.
|
|
|
|
|
[services]
|
|
|
|
|
; run the speedtest not very often. it is not for alerting about problems bur maybe will be at some day.
|
|
|
|
|
speedtest_interval = 3600
|
|
|
|
|
; the file to get for calculation of the downlink speed. microsoft has very fast servers so it will become a meaningful
|
|
|
|
|
; result.
|
|
|
|
|
speedtest_url = https://go.microsoft.com/fwlink/?Linkid=850641
|
|
|
|
|
|
|
|
|
|
; tasks executed at the end of each monitor execution. this is for storing data for longtime analysis. not every task
|
|
|
|
|
; is storing results and this feature is fully optional. Linspector must run even without activated tasks!
|
|
|
|
|
[tasks]
|
|
|
|
|
mariadb_database = linspector
|
|
|
|
|
mariadb_host = 10.0.0.254
|
|
|
|
|
mariadb_password = PASSWORD
|
|
|
|
|
mariadb_port = 3306
|
|
|
|
|
mariadb_user = USER
|