|
|
@@ -0,0 +1,849 @@
|
|
|
+##################### Grafana Configuration Example #####################
|
|
|
+#
|
|
|
+# Everything has defaults so you only need to uncomment things you want to
|
|
|
+# change
|
|
|
+
|
|
|
+# possible values : production, development
|
|
|
+;app_mode = production
|
|
|
+
|
|
|
+# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
|
|
|
+;instance_name = ${HOSTNAME}
|
|
|
+
|
|
|
+#################################### Paths ####################################
|
|
|
+[paths]
|
|
|
+# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
|
|
|
+;data = /var/lib/grafana
|
|
|
+
|
|
|
+# Temporary files in `data` directory older than given duration will be removed
|
|
|
+;temp_data_lifetime = 24h
|
|
|
+
|
|
|
+# Directory where grafana can store logs
|
|
|
+;logs = /var/log/grafana
|
|
|
+
|
|
|
+# Directory where grafana will automatically scan and look for plugins
|
|
|
+;plugins = /var/lib/grafana/plugins
|
|
|
+
|
|
|
+# folder that contains provisioning config files that grafana will apply on startup and while running.
|
|
|
+;provisioning = conf/provisioning
|
|
|
+
|
|
|
+#################################### Server ####################################
|
|
|
+[server]
|
|
|
+# Protocol (http, https, h2, socket)
|
|
|
+;protocol = http
|
|
|
+
|
|
|
+# The ip address to bind to, empty will bind to all interfaces
|
|
|
+;http_addr =
|
|
|
+
|
|
|
+# The http port to use
|
|
|
+;http_port = 3000
|
|
|
+
|
|
|
+# The public facing domain name used to access grafana from a browser
|
|
|
+;domain = localhost
|
|
|
+
|
|
|
+# Redirect to correct domain if host header does not match domain
|
|
|
+# Prevents DNS rebinding attacks
|
|
|
+;enforce_domain = false
|
|
|
+
|
|
|
+# The full public facing url you use in browser, used for redirects and emails
|
|
|
+# If you use reverse proxy and sub path specify full url (with sub path)
|
|
|
+;root_url = %(protocol)s://%(domain)s:%(http_port)s/
|
|
|
+
|
|
|
+# Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
|
|
|
+;serve_from_sub_path = false
|
|
|
+
|
|
|
+# Log web requests
|
|
|
+;router_logging = false
|
|
|
+
|
|
|
+# the path relative working path
|
|
|
+;static_root_path = public
|
|
|
+
|
|
|
+# enable gzip
|
|
|
+;enable_gzip = false
|
|
|
+
|
|
|
+# https certs & key file
|
|
|
+;cert_file =
|
|
|
+;cert_key =
|
|
|
+
|
|
|
+# Unix socket path
|
|
|
+;socket =
|
|
|
+
|
|
|
+#################################### Database ####################################
|
|
|
+[database]
|
|
|
+# You can configure the database connection by specifying type, host, name, user and password
|
|
|
+# as separate properties or as on string using the url properties.
|
|
|
+
|
|
|
+# Either "mysql", "postgres" or "sqlite3", it's your choice
|
|
|
+;type = sqlite3
|
|
|
+;host = 127.0.0.1:3306
|
|
|
+;name = grafana
|
|
|
+;user = root
|
|
|
+# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
|
|
|
+;password =
|
|
|
+
|
|
|
+# Use either URL or the previous fields to configure the database
|
|
|
+# Example: mysql://user:secret@host:port/database
|
|
|
+;url =
|
|
|
+
|
|
|
+# For "postgres" only, either "disable", "require" or "verify-full"
|
|
|
+;ssl_mode = disable
|
|
|
+
|
|
|
+;ca_cert_path =
|
|
|
+;client_key_path =
|
|
|
+;client_cert_path =
|
|
|
+;server_cert_name =
|
|
|
+
|
|
|
+# For "sqlite3" only, path relative to data_path setting
|
|
|
+;path = grafana.db
|
|
|
+
|
|
|
+# Max idle conn setting default is 2
|
|
|
+;max_idle_conn = 2
|
|
|
+
|
|
|
+# Max conn setting default is 0 (mean not set)
|
|
|
+;max_open_conn =
|
|
|
+
|
|
|
+# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
|
|
|
+;conn_max_lifetime = 14400
|
|
|
+
|
|
|
+# Set to true to log the sql calls and execution times.
|
|
|
+;log_queries =
|
|
|
+
|
|
|
+# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
|
|
|
+;cache_mode = private
|
|
|
+
|
|
|
+#################################### Cache server #############################
|
|
|
+[remote_cache]
|
|
|
+# Either "redis", "memcached" or "database" default is "database"
|
|
|
+;type = database
|
|
|
+
|
|
|
+# cache connectionstring options
|
|
|
+# database: will use Grafana primary database.
|
|
|
+# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false`. Only addr is required. ssl may be 'true', 'false', or 'insecure'.
|
|
|
+# memcache: 127.0.0.1:11211
|
|
|
+;connstr =
|
|
|
+
|
|
|
+#################################### Data proxy ###########################
|
|
|
+[dataproxy]
|
|
|
+
|
|
|
+# This enables data proxy logging, default is false
|
|
|
+;logging = false
|
|
|
+
|
|
|
+# How long the data proxy waits before timing out, default is 30 seconds.
|
|
|
+# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
|
|
|
+;timeout = 30
|
|
|
+
|
|
|
+# How many seconds the data proxy waits before sending a keepalive probe request.
|
|
|
+;keep_alive_seconds = 30
|
|
|
+
|
|
|
+# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
|
|
|
+;tls_handshake_timeout_seconds = 10
|
|
|
+
|
|
|
+# How many seconds the data proxy will wait for a server's first response headers after
|
|
|
+# fully writing the request headers if the request has an "Expect: 100-continue"
|
|
|
+# header. A value of 0 will result in the body being sent immediately, without
|
|
|
+# waiting for the server to approve.
|
|
|
+;expect_continue_timeout_seconds = 1
|
|
|
+
|
|
|
+# The maximum number of idle connections that Grafana will keep alive.
|
|
|
+;max_idle_connections = 100
|
|
|
+
|
|
|
+# How many seconds the data proxy keeps an idle connection open before timing out.
|
|
|
+;idle_conn_timeout_seconds = 90
|
|
|
+
|
|
|
+# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
|
|
|
+;send_user_header = false
|
|
|
+
|
|
|
+#################################### Analytics ####################################
|
|
|
+[analytics]
|
|
|
+# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
|
|
|
+# No ip addresses are being tracked, only simple counters to track
|
|
|
+# running instances, dashboard and error counts. It is very helpful to us.
|
|
|
+# Change this option to false to disable reporting.
|
|
|
+;reporting_enabled = true
|
|
|
+
|
|
|
+# Set to false to disable all checks to https://grafana.net
|
|
|
+# for new versions (grafana itself and plugins), check is used
|
|
|
+# in some UI views to notify that grafana or plugin update exists
|
|
|
+# This option does not cause any auto updates, nor send any information
|
|
|
+# only a GET request to http://grafana.com to get latest versions
|
|
|
+;check_for_updates = true
|
|
|
+
|
|
|
+# Google Analytics universal tracking code, only enabled if you specify an id here
|
|
|
+;google_analytics_ua_id =
|
|
|
+
|
|
|
+# Google Tag Manager ID, only enabled if you specify an id here
|
|
|
+;google_tag_manager_id =
|
|
|
+
|
|
|
+#################################### Security ####################################
|
|
|
+[security]
|
|
|
+# disable creation of admin user on first start of grafana
|
|
|
+;disable_initial_admin_creation = false
|
|
|
+
|
|
|
+# default admin user, created on startup
|
|
|
+;admin_user = admin
|
|
|
+
|
|
|
+# default admin password, can be changed before first start of grafana, or in profile settings
|
|
|
+;admin_password = admin
|
|
|
+
|
|
|
+# used for signing
|
|
|
+;secret_key = SW2YcwTIb9zpOOhoPsMm
|
|
|
+
|
|
|
+# disable gravatar profile images
|
|
|
+;disable_gravatar = false
|
|
|
+
|
|
|
+# data source proxy whitelist (ip_or_domain:port separated by spaces)
|
|
|
+;data_source_proxy_whitelist =
|
|
|
+
|
|
|
+# disable protection against brute force login attempts
|
|
|
+;disable_brute_force_login_protection = false
|
|
|
+
|
|
|
+# set to true if you host Grafana behind HTTPS. default is false.
|
|
|
+;cookie_secure = false
|
|
|
+
|
|
|
+# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled"
|
|
|
+;cookie_samesite = lax
|
|
|
+
|
|
|
+# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
|
|
|
+;allow_embedding = false
|
|
|
+
|
|
|
+# Set to true if you want to enable http strict transport security (HSTS) response header.
|
|
|
+# This is only sent when HTTPS is enabled in this configuration.
|
|
|
+# HSTS tells browsers that the site should only be accessed using HTTPS.
|
|
|
+;strict_transport_security = false
|
|
|
+
|
|
|
+# Sets how long a browser should cache HSTS. Only applied if strict_transport_security is enabled.
|
|
|
+;strict_transport_security_max_age_seconds = 86400
|
|
|
+
|
|
|
+# Set to true if to enable HSTS preloading option. Only applied if strict_transport_security is enabled.
|
|
|
+;strict_transport_security_preload = false
|
|
|
+
|
|
|
+# Set to true if to enable the HSTS includeSubDomains option. Only applied if strict_transport_security is enabled.
|
|
|
+;strict_transport_security_subdomains = false
|
|
|
+
|
|
|
+# Set to true to enable the X-Content-Type-Options response header.
|
|
|
+# The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised
|
|
|
+# in the Content-Type headers should not be changed and be followed.
|
|
|
+;x_content_type_options = true
|
|
|
+
|
|
|
+# Set to true to enable the X-XSS-Protection header, which tells browsers to stop pages from loading
|
|
|
+# when they detect reflected cross-site scripting (XSS) attacks.
|
|
|
+;x_xss_protection = true
|
|
|
+
|
|
|
+#################################### Snapshots ###########################
|
|
|
+[snapshots]
|
|
|
+# snapshot sharing options
|
|
|
+;external_enabled = true
|
|
|
+;external_snapshot_url = https://snapshots-origin.raintank.io
|
|
|
+;external_snapshot_name = Publish to snapshot.raintank.io
|
|
|
+
|
|
|
+# Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
|
|
|
+# creating and deleting snapshots.
|
|
|
+;public_mode = false
|
|
|
+
|
|
|
+# remove expired snapshot
|
|
|
+;snapshot_remove_expired = true
|
|
|
+
|
|
|
+#################################### Dashboards History ##################
|
|
|
+[dashboards]
|
|
|
+# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
|
|
|
+;versions_to_keep = 20
|
|
|
+
|
|
|
+# Minimum dashboard refresh interval. When set, this will restrict users to set the refresh interval of a dashboard lower than given interval. Per default this is 5 seconds.
|
|
|
+# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
|
|
|
+;min_refresh_interval = 5s
|
|
|
+
|
|
|
+# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
|
|
|
+;default_home_dashboard_path =
|
|
|
+
|
|
|
+#################################### Users ###############################
|
|
|
+[users]
|
|
|
+# disable user signup / registration
|
|
|
+;allow_sign_up = true
|
|
|
+
|
|
|
+# Allow non admin users to create organizations
|
|
|
+;allow_org_create = true
|
|
|
+
|
|
|
+# Set to true to automatically assign new users to the default organization (id 1)
|
|
|
+;auto_assign_org = true
|
|
|
+
|
|
|
+# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
|
|
|
+;auto_assign_org_id = 1
|
|
|
+
|
|
|
+# Default role new users will be automatically assigned (if disabled above is set to true)
|
|
|
+;auto_assign_org_role = Viewer
|
|
|
+
|
|
|
+# Require email validation before sign up completes
|
|
|
+;verify_email_enabled = false
|
|
|
+
|
|
|
+# Background text for the user field on the login page
|
|
|
+;login_hint = email or username
|
|
|
+;password_hint = password
|
|
|
+
|
|
|
+# Default UI theme ("dark" or "light")
|
|
|
+;default_theme = dark
|
|
|
+
|
|
|
+# External user management, these options affect the organization users view
|
|
|
+;external_manage_link_url =
|
|
|
+;external_manage_link_name =
|
|
|
+;external_manage_info =
|
|
|
+
|
|
|
+# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
|
|
|
+;viewers_can_edit = false
|
|
|
+
|
|
|
+# Editors can administrate dashboard, folders and teams they create
|
|
|
+;editors_can_admin = false
|
|
|
+
|
|
|
+# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
|
|
|
+;user_invite_max_lifetime_duration = 24h
|
|
|
+
|
|
|
+[auth]
|
|
|
+# Login cookie name
|
|
|
+;login_cookie_name = grafana_session
|
|
|
+
|
|
|
+# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation.
|
|
|
+;login_maximum_inactive_lifetime_duration =
|
|
|
+
|
|
|
+# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
|
|
+;login_maximum_lifetime_duration =
|
|
|
+
|
|
|
+# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
|
|
|
+;token_rotation_interval_minutes = 10
|
|
|
+
|
|
|
+# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
|
|
|
+;disable_login_form = false
|
|
|
+
|
|
|
+# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false
|
|
|
+;disable_signout_menu = false
|
|
|
+
|
|
|
+# URL to redirect the user to after sign out
|
|
|
+;signout_redirect_url =
|
|
|
+
|
|
|
+# Set to true to attempt login with OAuth automatically, skipping the login screen.
|
|
|
+# This setting is ignored if multiple OAuth providers are configured.
|
|
|
+;oauth_auto_login = false
|
|
|
+
|
|
|
+# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
|
|
|
+;oauth_state_cookie_max_age = 600
|
|
|
+
|
|
|
+# limit of api_key seconds to live before expiration
|
|
|
+;api_key_max_seconds_to_live = -1
|
|
|
+
|
|
|
+# Set to true to enable SigV4 authentication option for HTTP-based datasources.
|
|
|
+;sigv4_auth_enabled = false
|
|
|
+
|
|
|
+#################################### Anonymous Auth ######################
|
|
|
+[auth.anonymous]
|
|
|
+# enable anonymous access
|
|
|
+;enabled = false
|
|
|
+
|
|
|
+# specify organization name that should be used for unauthenticated users
|
|
|
+;org_name = Main Org.
|
|
|
+
|
|
|
+# specify role for unauthenticated users
|
|
|
+;org_role = Viewer
|
|
|
+
|
|
|
+# mask the Grafana version number for unauthenticated users
|
|
|
+;hide_version = false
|
|
|
+
|
|
|
+#################################### GitHub Auth ##########################
|
|
|
+[auth.github]
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_id
|
|
|
+;client_secret = some_secret
|
|
|
+;scopes = user:email,read:org
|
|
|
+;auth_url = https://github.com/login/oauth/authorize
|
|
|
+;token_url = https://github.com/login/oauth/access_token
|
|
|
+;api_url = https://api.github.com/user
|
|
|
+;allowed_domains =
|
|
|
+;team_ids =
|
|
|
+;allowed_organizations =
|
|
|
+
|
|
|
+#################################### GitLab Auth #########################
|
|
|
+[auth.gitlab]
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_id
|
|
|
+;client_secret = some_secret
|
|
|
+;scopes = api
|
|
|
+;auth_url = https://gitlab.com/oauth/authorize
|
|
|
+;token_url = https://gitlab.com/oauth/token
|
|
|
+;api_url = https://gitlab.com/api/v4
|
|
|
+;allowed_domains =
|
|
|
+;allowed_groups =
|
|
|
+
|
|
|
+#################################### Google Auth ##########################
|
|
|
+[auth.google]
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_client_id
|
|
|
+;client_secret = some_client_secret
|
|
|
+;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
|
|
|
+;auth_url = https://accounts.google.com/o/oauth2/auth
|
|
|
+;token_url = https://accounts.google.com/o/oauth2/token
|
|
|
+;api_url = https://www.googleapis.com/oauth2/v1/userinfo
|
|
|
+;allowed_domains =
|
|
|
+;hosted_domain =
|
|
|
+
|
|
|
+#################################### Grafana.com Auth ####################
|
|
|
+[auth.grafana_com]
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_id
|
|
|
+;client_secret = some_secret
|
|
|
+;scopes = user:email
|
|
|
+;allowed_organizations =
|
|
|
+
|
|
|
+#################################### Azure AD OAuth #######################
|
|
|
+[auth.azuread]
|
|
|
+;name = Azure AD
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_client_id
|
|
|
+;client_secret = some_client_secret
|
|
|
+;scopes = openid email profile
|
|
|
+;auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
|
|
|
+;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
|
|
|
+;allowed_domains =
|
|
|
+;allowed_groups =
|
|
|
+
|
|
|
+#################################### Okta OAuth #######################
|
|
|
+[auth.okta]
|
|
|
+;name = Okta
|
|
|
+;enabled = false
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_id
|
|
|
+;client_secret = some_secret
|
|
|
+;scopes = openid profile email groups
|
|
|
+;auth_url = https://<tenant-id>.okta.com/oauth2/v1/authorize
|
|
|
+;token_url = https://<tenant-id>.okta.com/oauth2/v1/token
|
|
|
+;api_url = https://<tenant-id>.okta.com/oauth2/v1/userinfo
|
|
|
+;allowed_domains =
|
|
|
+;allowed_groups =
|
|
|
+;role_attribute_path =
|
|
|
+
|
|
|
+#################################### Generic OAuth ##########################
|
|
|
+[auth.generic_oauth]
|
|
|
+;enabled = false
|
|
|
+;name = OAuth
|
|
|
+;allow_sign_up = true
|
|
|
+;client_id = some_id
|
|
|
+;client_secret = some_secret
|
|
|
+;scopes = user:email,read:org
|
|
|
+;email_attribute_name = email:primary
|
|
|
+;email_attribute_path =
|
|
|
+;login_attribute_path =
|
|
|
+;id_token_attribute_name =
|
|
|
+;auth_url = https://foo.bar/login/oauth/authorize
|
|
|
+;token_url = https://foo.bar/login/oauth/access_token
|
|
|
+;api_url = https://foo.bar/user
|
|
|
+;allowed_domains =
|
|
|
+;team_ids =
|
|
|
+;allowed_organizations =
|
|
|
+;role_attribute_path =
|
|
|
+;tls_skip_verify_insecure = false
|
|
|
+;tls_client_cert =
|
|
|
+;tls_client_key =
|
|
|
+;tls_client_ca =
|
|
|
+
|
|
|
+#################################### Basic Auth ##########################
|
|
|
+[auth.basic]
|
|
|
+;enabled = true
|
|
|
+
|
|
|
+#################################### Auth Proxy ##########################
|
|
|
+[auth.proxy]
|
|
|
+;enabled = false
|
|
|
+;header_name = X-WEBAUTH-USER
|
|
|
+;header_property = username
|
|
|
+;auto_sign_up = true
|
|
|
+;sync_ttl = 60
|
|
|
+;whitelist = 192.168.1.1, 192.168.2.1
|
|
|
+;headers = Email:X-User-Email, Name:X-User-Name
|
|
|
+# Read the auth proxy docs for details on what the setting below enables
|
|
|
+;enable_login_token = false
|
|
|
+
|
|
|
+#################################### Auth LDAP ##########################
|
|
|
+[auth.ldap]
|
|
|
+;enabled = false
|
|
|
+;config_file = /etc/grafana/ldap.toml
|
|
|
+;allow_sign_up = true
|
|
|
+
|
|
|
+# LDAP backround sync (Enterprise only)
|
|
|
+# At 1 am every day
|
|
|
+;sync_cron = "0 0 1 * * *"
|
|
|
+;active_sync_enabled = true
|
|
|
+
|
|
|
+#################################### SMTP / Emailing ##########################
|
|
|
+[smtp]
|
|
|
+;enabled = false
|
|
|
+;host = localhost:25
|
|
|
+;user =
|
|
|
+# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
|
|
|
+;password =
|
|
|
+;cert_file =
|
|
|
+;key_file =
|
|
|
+;skip_verify = false
|
|
|
+;from_address = admin@grafana.localhost
|
|
|
+;from_name = Grafana
|
|
|
+# EHLO identity in SMTP dialog (defaults to instance_name)
|
|
|
+;ehlo_identity = dashboard.example.com
|
|
|
+# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
|
|
|
+;startTLS_policy = NoStartTLS
|
|
|
+
|
|
|
+[emails]
|
|
|
+;welcome_email_on_sign_up = false
|
|
|
+;templates_pattern = emails/*.html
|
|
|
+
|
|
|
+#################################### Logging ##########################
|
|
|
+[log]
|
|
|
+# Either "console", "file", "syslog". Default is console and file
|
|
|
+# Use space to separate multiple modes, e.g. "console file"
|
|
|
+;mode = console file
|
|
|
+
|
|
|
+# Either "debug", "info", "warn", "error", "critical", default is "info"
|
|
|
+;level = info
|
|
|
+
|
|
|
+# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
|
|
|
+;filters =
|
|
|
+
|
|
|
+# For "console" mode only
|
|
|
+[log.console]
|
|
|
+;level =
|
|
|
+
|
|
|
+# log line format, valid options are text, console and json
|
|
|
+;format = console
|
|
|
+
|
|
|
+# For "file" mode only
|
|
|
+[log.file]
|
|
|
+;level =
|
|
|
+
|
|
|
+# log line format, valid options are text, console and json
|
|
|
+;format = text
|
|
|
+
|
|
|
+# This enables automated log rotate(switch of following options), default is true
|
|
|
+;log_rotate = true
|
|
|
+
|
|
|
+# Max line number of single file, default is 1000000
|
|
|
+;max_lines = 1000000
|
|
|
+
|
|
|
+# Max size shift of single file, default is 28 means 1 << 28, 256MB
|
|
|
+;max_size_shift = 28
|
|
|
+
|
|
|
+# Segment log daily, default is true
|
|
|
+;daily_rotate = true
|
|
|
+
|
|
|
+# Expired days of log file(delete after max days), default is 7
|
|
|
+;max_days = 7
|
|
|
+
|
|
|
+[log.syslog]
|
|
|
+;level =
|
|
|
+
|
|
|
+# log line format, valid options are text, console and json
|
|
|
+;format = text
|
|
|
+
|
|
|
+# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
|
|
|
+;network =
|
|
|
+;address =
|
|
|
+
|
|
|
+# Syslog facility. user, daemon and local0 through local7 are valid.
|
|
|
+;facility =
|
|
|
+
|
|
|
+# Syslog tag. By default, the process' argv[0] is used.
|
|
|
+;tag =
|
|
|
+
|
|
|
+#################################### Usage Quotas ########################
|
|
|
+[quota]
|
|
|
+; enabled = false
|
|
|
+
|
|
|
+#### set quotas to -1 to make unlimited. ####
|
|
|
+# limit number of users per Org.
|
|
|
+; org_user = 10
|
|
|
+
|
|
|
+# limit number of dashboards per Org.
|
|
|
+; org_dashboard = 100
|
|
|
+
|
|
|
+# limit number of data_sources per Org.
|
|
|
+; org_data_source = 10
|
|
|
+
|
|
|
+# limit number of api_keys per Org.
|
|
|
+; org_api_key = 10
|
|
|
+
|
|
|
+# limit number of orgs a user can create.
|
|
|
+; user_org = 10
|
|
|
+
|
|
|
+# Global limit of users.
|
|
|
+; global_user = -1
|
|
|
+
|
|
|
+# global limit of orgs.
|
|
|
+; global_org = -1
|
|
|
+
|
|
|
+# global limit of dashboards
|
|
|
+; global_dashboard = -1
|
|
|
+
|
|
|
+# global limit of api_keys
|
|
|
+; global_api_key = -1
|
|
|
+
|
|
|
+# global limit on number of logged in users.
|
|
|
+; global_session = -1
|
|
|
+
|
|
|
+#################################### Alerting ############################
|
|
|
+[alerting]
|
|
|
+# Disable alerting engine & UI features
|
|
|
+;enabled = true
|
|
|
+# Makes it possible to turn off alert rule execution but alerting UI is visible
|
|
|
+;execute_alerts = true
|
|
|
+
|
|
|
+# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
|
|
|
+;error_or_timeout = alerting
|
|
|
+
|
|
|
+# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
|
|
|
+;nodata_or_nullvalues = no_data
|
|
|
+
|
|
|
+# Alert notifications can include images, but rendering many images at the same time can overload the server
|
|
|
+# This limit will protect the server from render overloading and make sure notifications are sent out quickly
|
|
|
+;concurrent_render_limit = 5
|
|
|
+
|
|
|
+
|
|
|
+# Default setting for alert calculation timeout. Default value is 30
|
|
|
+;evaluation_timeout_seconds = 30
|
|
|
+
|
|
|
+# Default setting for alert notification timeout. Default value is 30
|
|
|
+;notification_timeout_seconds = 30
|
|
|
+
|
|
|
+# Default setting for max attempts to sending alert notifications. Default value is 3
|
|
|
+;max_attempts = 3
|
|
|
+
|
|
|
+# Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
|
|
|
+;min_interval_seconds = 1
|
|
|
+
|
|
|
+# Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
|
|
|
+# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
|
|
+;max_annotation_age =
|
|
|
+
|
|
|
+# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
|
|
|
+;max_annotations_to_keep =
|
|
|
+
|
|
|
+#################################### Annotations #########################
|
|
|
+
|
|
|
+[annotations.dashboard]
|
|
|
+# Dashboard annotations means that annotations are associated with the dashboard they are created on.
|
|
|
+
|
|
|
+# Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
|
|
|
+# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
|
|
+;max_age =
|
|
|
+
|
|
|
+# Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
|
|
|
+;max_annotations_to_keep =
|
|
|
+
|
|
|
+[annotations.api]
|
|
|
+# API annotations means that the annotations have been created using the API without any
|
|
|
+# association with a dashboard.
|
|
|
+
|
|
|
+# Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
|
|
|
+# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
|
|
+;max_age =
|
|
|
+
|
|
|
+# Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
|
|
|
+;max_annotations_to_keep =
|
|
|
+
|
|
|
+#################################### Explore #############################
|
|
|
+[explore]
|
|
|
+# Enable the Explore section
|
|
|
+;enabled = true
|
|
|
+
|
|
|
+#################################### Internal Grafana Metrics ##########################
|
|
|
+# Metrics available at HTTP API Url /metrics
|
|
|
+[metrics]
|
|
|
+# Disable / Enable internal metrics
|
|
|
+;enabled = true
|
|
|
+# Graphite Publish interval
|
|
|
+;interval_seconds = 10
|
|
|
+# Disable total stats (stat_totals_*) metrics to be generated
|
|
|
+;disable_total_stats = false
|
|
|
+
|
|
|
+#If both are set, basic auth will be required for the metrics endpoint.
|
|
|
+; basic_auth_username =
|
|
|
+; basic_auth_password =
|
|
|
+
|
|
|
+# Metrics environment info adds dimensions to the `grafana_environment_info` metric, which
|
|
|
+# can expose more information about the Grafana instance.
|
|
|
+[metrics.environment_info]
|
|
|
+#exampleLabel1 = exampleValue1
|
|
|
+#exampleLabel2 = exampleValue2
|
|
|
+
|
|
|
+# Send internal metrics to Graphite
|
|
|
+[metrics.graphite]
|
|
|
+# Enable by setting the address setting (ex localhost:2003)
|
|
|
+;address =
|
|
|
+;prefix = prod.grafana.%(instance_name)s.
|
|
|
+
|
|
|
+#################################### Grafana.com integration ##########################
|
|
|
+# Url used to import dashboards directly from Grafana.com
|
|
|
+[grafana_com]
|
|
|
+;url = https://grafana.com
|
|
|
+
|
|
|
+#################################### Distributed tracing ############
|
|
|
+[tracing.jaeger]
|
|
|
+# Enable by setting the address sending traces to jaeger (ex localhost:6831)
|
|
|
+;address = localhost:6831
|
|
|
+# Tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2)
|
|
|
+;always_included_tag = tag1:value1
|
|
|
+# Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote
|
|
|
+;sampler_type = const
|
|
|
+# jaeger samplerconfig param
|
|
|
+# for "const" sampler, 0 or 1 for always false/true respectively
|
|
|
+# for "probabilistic" sampler, a probability between 0 and 1
|
|
|
+# for "rateLimiting" sampler, the number of spans per second
|
|
|
+# for "remote" sampler, param is the same as for "probabilistic"
|
|
|
+# and indicates the initial sampling rate before the actual one
|
|
|
+# is received from the mothership
|
|
|
+;sampler_param = 1
|
|
|
+# sampling_server_url is the URL of a sampling manager providing a sampling strategy.
|
|
|
+;sampling_server_url =
|
|
|
+# Whether or not to use Zipkin propagation (x-b3- HTTP headers).
|
|
|
+;zipkin_propagation = false
|
|
|
+# Setting this to true disables shared RPC spans.
|
|
|
+# Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure.
|
|
|
+;disable_shared_zipkin_spans = false
|
|
|
+
|
|
|
+#################################### External image storage ##########################
|
|
|
+[external_image_storage]
|
|
|
+# Used for uploading images to public servers so they can be included in slack/email messages.
|
|
|
+# you can choose between (s3, webdav, gcs, azure_blob, local)
|
|
|
+;provider =
|
|
|
+
|
|
|
+[external_image_storage.s3]
|
|
|
+;endpoint =
|
|
|
+;path_style_access =
|
|
|
+;bucket =
|
|
|
+;region =
|
|
|
+;path =
|
|
|
+;access_key =
|
|
|
+;secret_key =
|
|
|
+
|
|
|
+[external_image_storage.webdav]
|
|
|
+;url =
|
|
|
+;public_url =
|
|
|
+;username =
|
|
|
+;password =
|
|
|
+
|
|
|
+[external_image_storage.gcs]
|
|
|
+;key_file =
|
|
|
+;bucket =
|
|
|
+;path =
|
|
|
+
|
|
|
+[external_image_storage.azure_blob]
|
|
|
+;account_name =
|
|
|
+;account_key =
|
|
|
+;container_name =
|
|
|
+
|
|
|
+[external_image_storage.local]
|
|
|
+# does not require any configuration
|
|
|
+
|
|
|
+[rendering]
|
|
|
+# Options to configure a remote HTTP image rendering service, e.g. using https://github.com/grafana/grafana-image-renderer.
|
|
|
+# URL to a remote HTTP image renderer service, e.g. http://localhost:8081/render, will enable Grafana to render panels and dashboards to PNG-images using HTTP requests to an external service.
|
|
|
+;server_url =
|
|
|
+# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
|
|
|
+;callback_url =
|
|
|
+# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
|
|
|
+# which this setting can help protect against by only allowing a certain amount of concurrent requests.
|
|
|
+;concurrent_render_request_limit = 30
|
|
|
+
|
|
|
+[panels]
|
|
|
+# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
|
|
|
+;disable_sanitize_html = false
|
|
|
+
|
|
|
+[plugins]
|
|
|
+;enable_alpha = false
|
|
|
+;app_tls_skip_verify_insecure = false
|
|
|
+# Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
|
|
|
+;allow_loading_unsigned_plugins =
|
|
|
+;marketplace_url = https://grafana.com/grafana/plugins/
|
|
|
+
|
|
|
+#################################### Grafana Image Renderer Plugin ##########################
|
|
|
+[plugin.grafana-image-renderer]
|
|
|
+# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
|
|
|
+# See ICU’s metaZones.txt (https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt) for a list of supported
|
|
|
+# timezone IDs. Fallbacks to TZ environment variable if not set.
|
|
|
+;rendering_timezone =
|
|
|
+
|
|
|
+# Instruct headless browser instance to use a default language when not provided by Grafana, e.g. when rendering panel image of alert.
|
|
|
+# Please refer to the HTTP header Accept-Language to understand how to format this value, e.g. 'fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5'.
|
|
|
+;rendering_language =
|
|
|
+
|
|
|
+# Instruct headless browser instance to use a default device scale factor when not provided by Grafana, e.g. when rendering panel image of alert.
|
|
|
+# Default is 1. Using a higher value will produce more detailed images (higher DPI), but will require more disk space to store an image.
|
|
|
+;rendering_viewport_device_scale_factor =
|
|
|
+
|
|
|
+# Instruct headless browser instance whether to ignore HTTPS errors during navigation. Per default HTTPS errors are not ignored. Due to
|
|
|
+# the security risk it's not recommended to ignore HTTPS errors.
|
|
|
+;rendering_ignore_https_errors =
|
|
|
+
|
|
|
+# Instruct headless browser instance whether to capture and log verbose information when rendering an image. Default is false and will
|
|
|
+# only capture and log error messages. When enabled, debug messages are captured and logged as well.
|
|
|
+# For the verbose information to be included in the Grafana server log you have to adjust the rendering log level to debug, configure
|
|
|
+# [log].filter = rendering:debug.
|
|
|
+;rendering_verbose_logging =
|
|
|
+
|
|
|
+# Instruct headless browser instance whether to output its debug and error messages into running process of remote rendering service.
|
|
|
+# Default is false. This can be useful to enable (true) when troubleshooting.
|
|
|
+;rendering_dumpio =
|
|
|
+
|
|
|
+# Additional arguments to pass to the headless browser instance. Default is --no-sandbox. The list of Chromium flags can be found
|
|
|
+# here (https://peter.sh/experiments/chromium-command-line-switches/). Multiple arguments is separated with comma-character.
|
|
|
+;rendering_args =
|
|
|
+
|
|
|
+# You can configure the plugin to use a different browser binary instead of the pre-packaged version of Chromium.
|
|
|
+# Please note that this is not recommended, since you may encounter problems if the installed version of Chrome/Chromium is not
|
|
|
+# compatible with the plugin.
|
|
|
+;rendering_chrome_bin =
|
|
|
+
|
|
|
+# Instruct how headless browser instances are created. Default is 'default' and will create a new browser instance on each request.
|
|
|
+# Mode 'clustered' will make sure that only a maximum of browsers/incognito pages can execute concurrently.
|
|
|
+# Mode 'reusable' will have one browser instance and will create a new incognito page on each request.
|
|
|
+;rendering_mode =
|
|
|
+
|
|
|
+# When rendering_mode = clustered you can instruct how many browsers or incognito pages can execute concurrently. Default is 'browser'
|
|
|
+# and will cluster using browser instances.
|
|
|
+# Mode 'context' will cluster using incognito pages.
|
|
|
+;rendering_clustering_mode =
|
|
|
+# When rendering_mode = clustered you can define maximum number of browser instances/incognito pages that can execute concurrently..
|
|
|
+;rendering_clustering_max_concurrency =
|
|
|
+
|
|
|
+# Limit the maximum viewport width, height and device scale factor that can be requested.
|
|
|
+;rendering_viewport_max_width =
|
|
|
+;rendering_viewport_max_height =
|
|
|
+;rendering_viewport_max_device_scale_factor =
|
|
|
+
|
|
|
+# Change the listening host and port of the gRPC server. Default host is 127.0.0.1 and default port is 0 and will automatically assign
|
|
|
+# a port not in use.
|
|
|
+;grpc_host =
|
|
|
+;grpc_port =
|
|
|
+
|
|
|
+[enterprise]
|
|
|
+# Path to a valid Grafana Enterprise license.jwt file
|
|
|
+;license_path =
|
|
|
+
|
|
|
+[feature_toggles]
|
|
|
+# enable features, separated by spaces
|
|
|
+;enable =
|
|
|
+
|
|
|
+[date_formats]
|
|
|
+# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
|
|
|
+
|
|
|
+# Default system date format used in time range picker and other places where full time is displayed
|
|
|
+;full_date = YYYY-MM-DD HH:mm:ss
|
|
|
+
|
|
|
+# Used by graph and other places where we only show small intervals
|
|
|
+;interval_second = HH:mm:ss
|
|
|
+;interval_minute = HH:mm
|
|
|
+;interval_hour = MM/DD HH:mm
|
|
|
+;interval_day = MM/DD
|
|
|
+;interval_month = YYYY-MM
|
|
|
+;interval_year = YYYY
|
|
|
+
|
|
|
+# Experimental feature
|
|
|
+;use_browser_locale = false
|
|
|
+
|
|
|
+# Default timezone for user preferences. Options are 'browser' for the browser local timezone or a timezone name from IANA Time Zone database, e.g. 'UTC' or 'Europe/Amsterdam' etc.
|
|
|
+;default_timezone = browser
|