-
Notifications
You must be signed in to change notification settings - Fork 7
/
config.yml.example
237 lines (191 loc) · 9.38 KB
/
config.yml.example
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
############
# Statusengine UI Configuration
############
#
# This is the configuration file for the Statusengine UI
#
############
# AUTHENTICATION SETTINGS
############
# Determine if a login is required to view Statusengine UI or not
allow_anonymous: 0
# If enabled, also anonymous user are able to submit commands to
# to the monitoring backend. If 0 only logged in users can submit commands
# If you change this value, you need to reload Statusengine UI using the browser refresh button to enable the new value!
anonymous_can_submit_commands: 1
# Which URLs should be reachable, without a login?
# Do not touch, if you don't know what you are doing :)
urls_without_login:
- login #looks like /login in the browser's address bar
- loginstate
# Enable one of the following auth types:
# basic
# ldap
#
# With auth type basic, Statusengine will store user names and passwords (hashed)
# in a own table and handle the whole authentication thing itself.
#
# If you prefer SSO you can use ldap as auth type, so Statusengine will pass the given user names and passwords
# to your ldap server. If the given credentials are valid you'll be logged in
auth_type: basic
#auth_type: ldap
# If you have no idea of the values you need to configure for your LDAP environment
# now is a good time to consult your LDAP admin
# For self-signed SSL certificate you need to add "TLS_REQCERT never" (without ") to the file
# /etc/ldap/ldap.conf on Debian/Ubuntu systems.
# For other distributions you may be need to do some research on the internet
# IP address or host name of your LDAP server
ldap_server: ldap.example.com
# Should the connection be encrypted with SSL
ldap_use_ssl: 0
# LDAP port for normal unencrypted connections
# Depending on your LDAP Server you can may be also create an encrypted connection on port 398
ldap_port: 389
# LDAP port for SSL
#ldap_port: 636
# Statusengine require a valid user that can do an ldap search
# Statusengine will use this user to search for a given username inside of your LDAP
# to get the full DN of the given username
#
# Example for Active Directory
ldap_bind_dn: ldapsearch@example.com
# Example for OpenLDAP
#ldap_bind_dn: cn=ldapsearch,dc=example,dc=com
# The password of your ldapsearch user set as ldap_bind_dn
ldap_bind_password: password
# Path in LDAP that is used by ldap_search() to find the given username
# that tries to login to Statusengine
ldap_base_dn: dc=example,dc=com
# Define the field which contains the user name in your LDAP
# %s will be replaced with the given user name
#
# Example for Active Directory
ldap_filter: (sAMAccountName=%s)
# Example for OpenLDAP filter
#ldap_filter: (uid=%s)
# An array of the required attributes in the ldap_search result
# For Example: sn, mail, memberof, cn, etc...
ldap_attribute:
- memberof
############
# DATA SOURCE CONFIGURATION
############
# If Statusengine Ui should load status data from CrateDB
# WARNING: Do not set use_crate and use_mysql to 1 at the same time!
use_crate: 1
# Configuration of your CrateDB Cluster
# This is an array of cluster nodes.
#
# It is recommended to you a load balancer in front of your CrateDB cluster!
# So you will have a single ip address where Statusengine is going to connect to
crate:
nodes:
- 172.0.0.1:4200
# - 192.168.56.101:4200
# - 192.168.56.102:4200
# If Statusengine Ui should load status data from MySQL
# WARNING: Do not set use_mysql and use_crate to 1 at the same time!
use_mysql: 0
# Configuration of your MySQL server
mysql:
host: 127.0.0.1
port: 3306
username: statusengine
password: password
database: statusengine
encoding: utf8
############
# PERFDATA DATA CONFIGURATION
############
# Determine if the Statusengine Ui should use on of the following
# perfdata_backend's to load and display performance data
# 0 disable, 1 enable
display_perfdata: 0
# Uncomment to enable
# CrateDB as Performance Data Backend
# CrateDB is the default at the moment
perfdata_backend: crate
# Graphite as Performance Data Backend
#perfdata_backend: graphite
# MySQL as Performance Data Backend
#perfdata_backend: mysql
# Elasticsearch as Performance Data Backend
#perfdata_backend: elasticsearch
############
# GRAPHITE CONFIGURATION
############
# Every record in Graphite will be prefixed with the given key
# so multiple systems are able to read/write to the same system
graphite_prefix: statusengine
# Set the complete URL to your Graphite system
# Statusengine UI use the Graphite HTTP API to get stored data
# Examples:
# - http://localhost:8080
# - http://localhost:8080/graphite
# - http://cloud.example.org:8080
#
graphite_url: http://localhost:8080
# Do you require a login to reach http://localhost:8080/render ?
graphite_use_basic_auth: 0
# The username of the basic auth
graphite_user: graphite
# Password for basic auth
graphite_password: password
# If your Graphite API is reachable via HTTPS
# you can allow self signed certificates here
graphite_allow_self_signed_certificates: 0
# Every characters in the key which not match the given regex
# will be replace with an underscore _
graphite_illegal_characters: /[^a-zA-Z^0-9\-\.]/
############
# ELASTICSEARCH CONFIGURATION
############
# Index that will be used to store data in Elasticsearch
elasticsearch_index: statusengine-metric-
# The value of elasticsearch_pattern will be added to the end of your
# defiend elasticsearch_index. It is recommended to terminate
# your elasticsearch_index with an dash, like the example
# index: statusengine-metric-
#
# Available patterns:
# - none => All data in one index, this will also disable deletion of old records!
# - daily => statusengine-metric-YYYY.MM.DD
# - weekly => statusengine-metric-GGGG.WW
# - monthly => statusengine-metric-YYYY.MM
# It is important, that you pick the same pattern, as you use for Statusengine Worker!
elasticsearch_pattern: daily
# Set the ip address or hostname for your Elasticsearch system or cluster
# Statusengine will use the HTTP API
elasticsearch_address: 127.0.0.1
# Port where your Elasticsearch server is listening to
elasticsearch_port: 9200
############
# External URLs
############
# When defined a new drop down list of links to external applications will be visible on the host and service details overview.
# This can be used to link objects from the monitoring to an ticketing system
#
# The following list of variables can be added to the URL and will be replaced by the system
#
# | Variable | Data type | Example value | Description |
# |---------------------------------|-----------|--------------------------------------------------|-------------------------------------------------------------------------------------|
# | $hostname$ | string | localhost | Name of the host |
# | $service_description$ | string | HTTP | Name of the service |
# | $node_name$ | string | Crowbar | Name of the Statusengine Cluster |
# | $current_check_attempt$ | uint | 1 | Current check attempt |
# | $max_check_attempts$ | uint | 4 | When max check attempts is reached the objects switches into hard state |
# | $current_state$ | uint | 0 | Hosts: 0=Up, 1= Down, 2=Unreachable Services: 0=Ok, 1=Warning, 2=Critical 3=Unknown |
# | $is_hardstate$ | bool | true | Has the object reached max_check_attempts |
# | $output$ | string | HTTP OK: HTTP/1.1 302 Fo…30 second response time | Last output of the check plugin |
# | $scheduled_downtime_depth$ | uint | 1 | Amount of scheduled downtimes for this object |
# | $problem_has_been_acknowledged$ | bool | false | Is a user aware of the issue and working on it? |
# | $last_check$ | int | 1614428713 | Unix timestamp when the last check occured |
# | $next_check$ | int | 1614428773 | Unix timestamp when the next check will be executed |
# | $last_state_change$ | int | 1592209064 | Unix timestamp of the last state change event |
#external_url_lists:
# - name: Ticketsystem
# url: https://issues.statusengine.org/index.php?hostname=$hostname$&servicename=$service_description$
# - name: CMDB
# url: https://assets.statusengine.org/index.php?hostname=$hostname$
# - name: Docs of Statusengine
# url: https://statusengine.org