github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/hacks/metrics-comparison/grafana/grafana.ini (about)

     1  ##################### Grafana Configuration Example #####################
     2  #
     3  # Everything has defaults so you only need to uncomment things you want to
     4  # change
     5  
     6  # possible values : production, development
     7  ;app_mode = production
     8  
     9  # instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
    10  ;instance_name = ${HOSTNAME}
    11  
    12  #################################### Paths ####################################
    13  [paths]
    14  # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
    15  ;data = /var/lib/grafana
    16  
    17  # Temporary files in `data` directory older than given duration will be removed
    18  ;temp_data_lifetime = 24h
    19  
    20  # Directory where grafana can store logs
    21  ;logs = /var/log/grafana
    22  
    23  # Directory where grafana will automatically scan and look for plugins
    24  ;plugins = /var/lib/grafana/plugins
    25  
    26  # folder that contains provisioning config files that grafana will apply on startup and while running.
    27  provisioning = /etc/grafana/provisioning
    28  
    29  #################################### Server ####################################
    30  [server]
    31  # Protocol (http, https, h2, socket)
    32  ;protocol = http
    33  
    34  # The ip address to bind to, empty will bind to all interfaces
    35  ;http_addr =
    36  
    37  # The http port  to use
    38  ;http_port = 3000
    39  
    40  # The public facing domain name used to access grafana from a browser
    41  ;domain = localhost
    42  
    43  # Redirect to correct domain if host header does not match domain
    44  # Prevents DNS rebinding attacks
    45  ;enforce_domain = false
    46  
    47  # The full public facing url you use in browser, used for redirects and emails
    48  # If you use reverse proxy and sub path specify full url (with sub path)
    49  ;root_url = %(protocol)s://%(domain)s:%(http_port)s/
    50  
    51  # Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
    52  ;serve_from_sub_path = false
    53  
    54  # Log web requests
    55  ;router_logging = false
    56  
    57  # the path relative working path
    58  ;static_root_path = public
    59  
    60  # enable gzip
    61  ;enable_gzip = false
    62  
    63  # https certs & key file
    64  ;cert_file =
    65  ;cert_key =
    66  
    67  # Unix socket path
    68  ;socket =
    69  
    70  # CDN Url
    71  ;cdn_url =
    72  
    73  # Sets the maximum time using a duration format (5s/5m/5ms) before timing out read of an incoming request and closing idle connections.
    74  # `0` means there is no timeout for reading the request.
    75  ;read_timeout = 0
    76  
    77  #################################### Database ####################################
    78  [database]
    79  # You can configure the database connection by specifying type, host, name, user and password
    80  # as separate properties or as on string using the url properties.
    81  
    82  # Either "mysql", "postgres" or "sqlite3", it's your choice
    83  ;type = sqlite3
    84  ;host = 127.0.0.1:3306
    85  ;name = grafana
    86  ;user = root
    87  # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
    88  ;password =
    89  
    90  # Use either URL or the previous fields to configure the database
    91  # Example: mysql://user:secret@host:port/database
    92  ;url =
    93  
    94  # For "postgres" only, either "disable", "require" or "verify-full"
    95  ;ssl_mode = disable
    96  
    97  # Database drivers may support different transaction isolation levels.
    98  # Currently, only "mysql" driver supports isolation levels.
    99  # If the value is empty - driver's default isolation level is applied.
   100  # For "mysql" use "READ-UNCOMMITTED", "READ-COMMITTED", "REPEATABLE-READ" or "SERIALIZABLE".
   101  ;isolation_level =
   102  
   103  ;ca_cert_path =
   104  ;client_key_path =
   105  ;client_cert_path =
   106  ;server_cert_name =
   107  
   108  # For "sqlite3" only, path relative to data_path setting
   109  ;path = grafana.db
   110  
   111  # Max idle conn setting default is 2
   112  ;max_idle_conn = 2
   113  
   114  # Max conn setting default is 0 (mean not set)
   115  ;max_open_conn =
   116  
   117  # Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
   118  ;conn_max_lifetime = 14400
   119  
   120  # Set to true to log the sql calls and execution times.
   121  ;log_queries =
   122  
   123  # For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
   124  ;cache_mode = private
   125  
   126  ################################### Data sources #########################
   127  [datasources]
   128  # Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
   129  ;datasource_limit = 5000
   130  
   131  #################################### Cache server #############################
   132  [remote_cache]
   133  # Either "redis", "memcached" or "database" default is "database"
   134  ;type = database
   135  
   136  # cache connectionstring options
   137  # database: will use Grafana primary database.
   138  # 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'.
   139  # memcache: 127.0.0.1:11211
   140  ;connstr =
   141  
   142  #################################### Data proxy ###########################
   143  [dataproxy]
   144  
   145  # This enables data proxy logging, default is false
   146  ;logging = false
   147  
   148  # How long the data proxy waits to read the headers of the response before timing out, default is 30 seconds.
   149  # This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
   150  ;timeout = 30
   151  
   152  # How long the data proxy waits to establish a TCP connection before timing out, default is 10 seconds.
   153  ;dialTimeout = 10
   154  
   155  # How many seconds the data proxy waits before sending a keepalive probe request.
   156  ;keep_alive_seconds = 30
   157  
   158  # How many seconds the data proxy waits for a successful TLS Handshake before timing out.
   159  ;tls_handshake_timeout_seconds = 10
   160  
   161  # How many seconds the data proxy will wait for a server's first response headers after
   162  # fully writing the request headers if the request has an "Expect: 100-continue"
   163  # header. A value of 0 will result in the body being sent immediately, without
   164  # waiting for the server to approve.
   165  ;expect_continue_timeout_seconds = 1
   166  
   167  # The maximum number of idle connections that Grafana will keep alive.
   168  ;max_idle_connections = 100
   169  
   170  # The maximum number of idle connections per host that Grafana will keep alive.
   171  ;max_idle_connections_per_host = 2
   172  
   173  # How many seconds the data proxy keeps an idle connection open before timing out.
   174  ;idle_conn_timeout_seconds = 90
   175  
   176  # If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
   177  ;send_user_header = false
   178  
   179  #################################### Analytics ####################################
   180  [analytics]
   181  # Server reporting, sends usage counters to stats.grafana.org every 24 hours.
   182  # No ip addresses are being tracked, only simple counters to track
   183  # running instances, dashboard and error counts. It is very helpful to us.
   184  # Change this option to false to disable reporting.
   185  ;reporting_enabled = true
   186  
   187  # The name of the distributor of the Grafana instance. Ex hosted-grafana, grafana-labs
   188  ;reporting_distributor = grafana-labs
   189  
   190  # Set to false to disable all checks to https://grafana.net
   191  # for new versions (grafana itself and plugins), check is used
   192  # in some UI views to notify that grafana or plugin update exists
   193  # This option does not cause any auto updates, nor send any information
   194  # only a GET request to http://grafana.com to get latest versions
   195  ;check_for_updates = true
   196  
   197  # Google Analytics universal tracking code, only enabled if you specify an id here
   198  ;google_analytics_ua_id =
   199  
   200  # Google Tag Manager ID, only enabled if you specify an id here
   201  ;google_tag_manager_id =
   202  
   203  #################################### Security ####################################
   204  [security]
   205  # disable creation of admin user on first start of grafana
   206  ;disable_initial_admin_creation = false
   207  
   208  # default admin user, created on startup
   209  ;admin_user = admin
   210  
   211  # default admin password, can be changed before first start of grafana,  or in profile settings
   212  ;admin_password = admin
   213  
   214  # used for signing
   215  ;secret_key = SW2YcwTIb9zpOOhoPsMm
   216  
   217  # disable gravatar profile images
   218  ;disable_gravatar = false
   219  
   220  # data source proxy whitelist (ip_or_domain:port separated by spaces)
   221  ;data_source_proxy_whitelist =
   222  
   223  # disable protection against brute force login attempts
   224  ;disable_brute_force_login_protection = false
   225  
   226  # set to true if you host Grafana behind HTTPS. default is false.
   227  ;cookie_secure = false
   228  
   229  # set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled"
   230  ;cookie_samesite = lax
   231  
   232  # set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
   233  ;allow_embedding = false
   234  
   235  # Set to true if you want to enable http strict transport security (HSTS) response header.
   236  # This is only sent when HTTPS is enabled in this configuration.
   237  # HSTS tells browsers that the site should only be accessed using HTTPS.
   238  ;strict_transport_security = false
   239  
   240  # Sets how long a browser should cache HSTS. Only applied if strict_transport_security is enabled.
   241  ;strict_transport_security_max_age_seconds = 86400
   242  
   243  # Set to true if to enable HSTS preloading option. Only applied if strict_transport_security is enabled.
   244  ;strict_transport_security_preload = false
   245  
   246  # Set to true if to enable the HSTS includeSubDomains option. Only applied if strict_transport_security is enabled.
   247  ;strict_transport_security_subdomains = false
   248  
   249  # Set to true to enable the X-Content-Type-Options response header.
   250  # The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised
   251  # in the Content-Type headers should not be changed and be followed.
   252  ;x_content_type_options = true
   253  
   254  # Set to true to enable the X-XSS-Protection header, which tells browsers to stop pages from loading
   255  # when they detect reflected cross-site scripting (XSS) attacks.
   256  ;x_xss_protection = true
   257  
   258  # Enable adding the Content-Security-Policy header to your requests.
   259  # CSP allows to control resources the user agent is allowed to load and helps prevent XSS attacks.
   260  ;content_security_policy = false
   261  
   262  # Set Content Security Policy template used when adding the Content-Security-Policy header to your requests.
   263  # $NONCE in the template includes a random nonce.
   264  # $ROOT_PATH is server.root_url without the protocol.
   265  ;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
   266  
   267  #################################### Snapshots ###########################
   268  [snapshots]
   269  # snapshot sharing options
   270  ;external_enabled = true
   271  ;external_snapshot_url = https://snapshots-origin.raintank.io
   272  ;external_snapshot_name = Publish to snapshot.raintank.io
   273  
   274  # Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
   275  # creating and deleting snapshots.
   276  ;public_mode = false
   277  
   278  # remove expired snapshot
   279  ;snapshot_remove_expired = true
   280  
   281  #################################### Dashboards History ##################
   282  [dashboards]
   283  # Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
   284  ;versions_to_keep = 20
   285  
   286  # 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.
   287  # 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.
   288  ;min_refresh_interval = 5s
   289  
   290  # Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
   291  ; default_home_dashboard_path = /default-dashboard.json
   292  
   293  #################################### Users ###############################
   294  [users]
   295  # disable user signup / registration
   296  ;allow_sign_up = true
   297  
   298  # Allow non admin users to create organizations
   299  ;allow_org_create = true
   300  
   301  # Set to true to automatically assign new users to the default organization (id 1)
   302  ;auto_assign_org = true
   303  
   304  # Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
   305  ;auto_assign_org_id = 1
   306  
   307  # Default role new users will be automatically assigned (if disabled above is set to true)
   308  ;auto_assign_org_role = Viewer
   309  
   310  # Require email validation before sign up completes
   311  ;verify_email_enabled = false
   312  
   313  # Background text for the user field on the login page
   314  ;login_hint = email or username
   315  ;password_hint = password
   316  
   317  # Default UI theme ("dark" or "light")
   318  ;default_theme = dark
   319  
   320  # Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
   321  ; home_page =
   322  
   323  # External user management, these options affect the organization users view
   324  ;external_manage_link_url =
   325  ;external_manage_link_name =
   326  ;external_manage_info =
   327  
   328  # Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
   329  ;viewers_can_edit = false
   330  
   331  # Editors can administrate dashboard, folders and teams they create
   332  ;editors_can_admin = false
   333  
   334  # 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).
   335  ;user_invite_max_lifetime_duration = 24h
   336  
   337  # Enter a comma-separated list of users login to hide them in the Grafana UI. These users are shown to Grafana admins and themselves.
   338  ; hidden_users =
   339  
   340  [auth]
   341  # Login cookie name
   342  ;login_cookie_name = grafana_session
   343  
   344  # 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.
   345  ;login_maximum_inactive_lifetime_duration =
   346  
   347  # 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).
   348  ;login_maximum_lifetime_duration =
   349  
   350  # How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
   351  ;token_rotation_interval_minutes = 10
   352  
   353  # Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
   354  ;disable_login_form = false
   355  
   356  # Set to true to disable the sign out link in the side menu. Useful if you use auth.proxy or auth.jwt, defaults to false
   357  ;disable_signout_menu = false
   358  
   359  # URL to redirect the user to after sign out
   360  ;signout_redirect_url =
   361  
   362  # Set to true to attempt login with OAuth automatically, skipping the login screen.
   363  # This setting is ignored if multiple OAuth providers are configured.
   364  ;oauth_auto_login = false
   365  
   366  # OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
   367  ;oauth_state_cookie_max_age = 600
   368  
   369  # limit of api_key seconds to live before expiration
   370  ;api_key_max_seconds_to_live = -1
   371  
   372  # Set to true to enable SigV4 authentication option for HTTP-based datasources.
   373  ;sigv4_auth_enabled = false
   374  
   375  #################################### Anonymous Auth ######################
   376  [auth.anonymous]
   377  # enable anonymous access
   378  enabled = true
   379  
   380  # specify organization name that should be used for unauthenticated users
   381  ;org_name = Main Org.
   382  
   383  # specify role for unauthenticated users
   384  org_role = Admin
   385  
   386  # mask the Grafana version number for unauthenticated users
   387  ;hide_version = false
   388  
   389  #################################### GitHub Auth ##########################
   390  [auth.github]
   391  ;enabled = false
   392  ;allow_sign_up = true
   393  ;client_id = some_id
   394  ;client_secret = some_secret
   395  ;scopes = user:email,read:org
   396  ;auth_url = https://github.com/login/oauth/authorize
   397  ;token_url = https://github.com/login/oauth/access_token
   398  ;api_url = https://api.github.com/user
   399  ;allowed_domains =
   400  ;team_ids =
   401  ;allowed_organizations =
   402  
   403  #################################### GitLab Auth #########################
   404  [auth.gitlab]
   405  ;enabled = false
   406  ;allow_sign_up = true
   407  ;client_id = some_id
   408  ;client_secret = some_secret
   409  ;scopes = api
   410  ;auth_url = https://gitlab.com/oauth/authorize
   411  ;token_url = https://gitlab.com/oauth/token
   412  ;api_url = https://gitlab.com/api/v4
   413  ;allowed_domains =
   414  ;allowed_groups =
   415  
   416  #################################### Google Auth ##########################
   417  [auth.google]
   418  ;enabled = false
   419  ;allow_sign_up = true
   420  ;client_id = some_client_id
   421  ;client_secret = some_client_secret
   422  ;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
   423  ;auth_url = https://accounts.google.com/o/oauth2/auth
   424  ;token_url = https://accounts.google.com/o/oauth2/token
   425  ;api_url = https://www.googleapis.com/oauth2/v1/userinfo
   426  ;allowed_domains =
   427  ;hosted_domain =
   428  
   429  #################################### Grafana.com Auth ####################
   430  [auth.grafana_com]
   431  ;enabled = false
   432  ;allow_sign_up = true
   433  ;client_id = some_id
   434  ;client_secret = some_secret
   435  ;scopes = user:email
   436  ;allowed_organizations =
   437  
   438  #################################### Azure AD OAuth #######################
   439  [auth.azuread]
   440  ;name = Azure AD
   441  ;enabled = false
   442  ;allow_sign_up = true
   443  ;client_id = some_client_id
   444  ;client_secret = some_client_secret
   445  ;scopes = openid email profile
   446  ;auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
   447  ;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
   448  ;allowed_domains =
   449  ;allowed_groups =
   450  
   451  #################################### Okta OAuth #######################
   452  [auth.okta]
   453  ;name = Okta
   454  ;enabled = false
   455  ;allow_sign_up = true
   456  ;client_id = some_id
   457  ;client_secret = some_secret
   458  ;scopes = openid profile email groups
   459  ;auth_url = https://<tenant-id>.okta.com/oauth2/v1/authorize
   460  ;token_url = https://<tenant-id>.okta.com/oauth2/v1/token
   461  ;api_url = https://<tenant-id>.okta.com/oauth2/v1/userinfo
   462  ;allowed_domains =
   463  ;allowed_groups =
   464  ;role_attribute_path =
   465  ;role_attribute_strict = false
   466  
   467  #################################### Generic OAuth ##########################
   468  [auth.generic_oauth]
   469  ;enabled = false
   470  ;name = OAuth
   471  ;allow_sign_up = true
   472  ;client_id = some_id
   473  ;client_secret = some_secret
   474  ;scopes = user:email,read:org
   475  ;empty_scopes = false
   476  ;email_attribute_name = email:primary
   477  ;email_attribute_path =
   478  ;login_attribute_path =
   479  ;name_attribute_path =
   480  ;id_token_attribute_name =
   481  ;auth_url = https://foo.bar/login/oauth/authorize
   482  ;token_url = https://foo.bar/login/oauth/access_token
   483  ;api_url = https://foo.bar/user
   484  ;allowed_domains =
   485  ;team_ids =
   486  ;allowed_organizations =
   487  ;role_attribute_path =
   488  ;role_attribute_strict = false
   489  ;tls_skip_verify_insecure = false
   490  ;tls_client_cert =
   491  ;tls_client_key =
   492  ;tls_client_ca =
   493  
   494  #################################### Basic Auth ##########################
   495  [auth.basic]
   496  ;enabled = true
   497  
   498  #################################### Auth Proxy ##########################
   499  [auth.proxy]
   500  ;enabled = false
   501  ;header_name = X-WEBAUTH-USER
   502  ;header_property = username
   503  ;auto_sign_up = true
   504  ;sync_ttl = 60
   505  ;whitelist = 192.168.1.1, 192.168.2.1
   506  ;headers = Email:X-User-Email, Name:X-User-Name
   507  # Read the auth proxy docs for details on what the setting below enables
   508  ;enable_login_token = false
   509  
   510  #################################### Auth JWT ##########################
   511  [auth.jwt]
   512  ;enabled = true
   513  ;header_name = X-JWT-Assertion
   514  ;email_claim = sub
   515  ;username_claim = sub
   516  ;jwk_set_url = https://foo.bar/.well-known/jwks.json
   517  ;jwk_set_file = /path/to/jwks.json
   518  ;cache_ttl = 60m
   519  ;expected_claims = {"aud": ["foo", "bar"]}
   520  ;key_file = /path/to/key/file
   521  
   522  #################################### Auth LDAP ##########################
   523  [auth.ldap]
   524  ;enabled = false
   525  ;config_file = /etc/grafana/ldap.toml
   526  ;allow_sign_up = true
   527  
   528  # LDAP background sync (Enterprise only)
   529  # At 1 am every day
   530  ;sync_cron = "0 0 1 * * *"
   531  ;active_sync_enabled = true
   532  
   533  #################################### AWS ###########################
   534  [aws]
   535  # Enter a comma-separated list of allowed AWS authentication providers.
   536  # Options are: default (AWS SDK Default), keys (Access && secret key), credentials (Credentials field), ec2_iam_role (EC2 IAM Role)
   537  ; allowed_auth_providers = default,keys,credentials
   538  
   539  # Allow AWS users to assume a role using temporary security credentials.
   540  # If true, assume role will be enabled for all AWS authentication providers that are specified in aws_auth_providers
   541  ; assume_role_enabled = true
   542  
   543  #################################### Azure ###############################
   544  [azure]
   545  # Azure cloud environment where Grafana is hosted
   546  # Possible values are AzureCloud, AzureChinaCloud, AzureUSGovernment and AzureGermanCloud
   547  # Default value is AzureCloud (i.e. public cloud)
   548  ;cloud = AzureCloud
   549  
   550  # Specifies whether Grafana hosted in Azure service with Managed Identity configured (e.g. Azure Virtual Machines instance)
   551  # If enabled, the managed identity can be used for authentication of Grafana in Azure services
   552  # Disabled by default, needs to be explicitly enabled
   553  ;managed_identity_enabled = false
   554  
   555  # Client ID to use for user-assigned managed identity
   556  # Should be set for user-assigned identity and should be empty for system-assigned identity
   557  ;managed_identity_client_id =
   558  
   559  #################################### SMTP / Emailing ##########################
   560  [smtp]
   561  ;enabled = false
   562  ;host = localhost:25
   563  ;user =
   564  # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
   565  ;password =
   566  ;cert_file =
   567  ;key_file =
   568  ;skip_verify = false
   569  ;from_address = admin@grafana.localhost
   570  ;from_name = Grafana
   571  # EHLO identity in SMTP dialog (defaults to instance_name)
   572  ;ehlo_identity = dashboard.example.com
   573  # SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
   574  ;startTLS_policy = NoStartTLS
   575  
   576  [emails]
   577  ;welcome_email_on_sign_up = false
   578  ;templates_pattern = emails/*.html
   579  
   580  #################################### Logging ##########################
   581  [log]
   582  # Either "console", "file", "syslog". Default is console and  file
   583  # Use space to separate multiple modes, e.g. "console file"
   584  ;mode = console file
   585  
   586  # Either "debug", "info", "warn", "error", "critical", default is "info"
   587  level = critical
   588  
   589  # optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
   590  ;filters =
   591  
   592  # For "console" mode only
   593  [log.console]
   594  ;level =
   595  
   596  # log line format, valid options are text, console and json
   597  ;format = console
   598  
   599  # For "file" mode only
   600  [log.file]
   601  ;level =
   602  
   603  # log line format, valid options are text, console and json
   604  ;format = text
   605  
   606  # This enables automated log rotate(switch of following options), default is true
   607  ;log_rotate = true
   608  
   609  # Max line number of single file, default is 1000000
   610  ;max_lines = 1000000
   611  
   612  # Max size shift of single file, default is 28 means 1 << 28, 256MB
   613  ;max_size_shift = 28
   614  
   615  # Segment log daily, default is true
   616  ;daily_rotate = true
   617  
   618  # Expired days of log file(delete after max days), default is 7
   619  ;max_days = 7
   620  
   621  [log.syslog]
   622  ;level =
   623  
   624  # log line format, valid options are text, console and json
   625  ;format = text
   626  
   627  # Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
   628  ;network =
   629  ;address =
   630  
   631  # Syslog facility. user, daemon and local0 through local7 are valid.
   632  ;facility =
   633  
   634  # Syslog tag. By default, the process' argv[0] is used.
   635  ;tag =
   636  
   637  [log.frontend]
   638  # Should Sentry javascript agent be initialized
   639  ;enabled = false
   640  
   641  # Sentry DSN if you want to send events to Sentry.
   642  ;sentry_dsn =
   643  
   644  # Custom HTTP endpoint to send events captured by the Sentry agent to. Default will log the events to stdout.
   645  ;custom_endpoint = /log
   646  
   647  # Rate of events to be reported between 0 (none) and 1 (all), float
   648  ;sample_rate = 1.0
   649  
   650  # Requests per second limit enforced an extended period, for Grafana backend log ingestion endpoint (/log).
   651  ;log_endpoint_requests_per_second_limit = 3
   652  
   653  # Max requests accepted per short interval of time for Grafana backend log ingestion endpoint (/log).
   654  ;log_endpoint_burst_limit = 15
   655  
   656  #################################### Usage Quotas ########################
   657  [quota]
   658  ; enabled = false
   659  
   660  #### set quotas to -1 to make unlimited. ####
   661  # limit number of users per Org.
   662  ; org_user = 10
   663  
   664  # limit number of dashboards per Org.
   665  ; org_dashboard = 100
   666  
   667  # limit number of data_sources per Org.
   668  ; org_data_source = 10
   669  
   670  # limit number of api_keys per Org.
   671  ; org_api_key = 10
   672  
   673  # limit number of alerts per Org.
   674  ;org_alert_rule = 100
   675  
   676  # limit number of orgs a user can create.
   677  ; user_org = 10
   678  
   679  # Global limit of users.
   680  ; global_user = -1
   681  
   682  # global limit of orgs.
   683  ; global_org = -1
   684  
   685  # global limit of dashboards
   686  ; global_dashboard = -1
   687  
   688  # global limit of api_keys
   689  ; global_api_key = -1
   690  
   691  # global limit on number of logged in users.
   692  ; global_session = -1
   693  
   694  # global limit of alerts
   695  ;global_alert_rule = -1
   696  
   697  #################################### Alerting ############################
   698  [alerting]
   699  # Disable alerting engine & UI features
   700  ;enabled = true
   701  # Makes it possible to turn off alert rule execution but alerting UI is visible
   702  ;execute_alerts = true
   703  
   704  # Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
   705  ;error_or_timeout = alerting
   706  
   707  # Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
   708  ;nodata_or_nullvalues = no_data
   709  
   710  # Alert notifications can include images, but rendering many images at the same time can overload the server
   711  # This limit will protect the server from render overloading and make sure notifications are sent out quickly
   712  ;concurrent_render_limit = 5
   713  
   714  
   715  # Default setting for alert calculation timeout. Default value is 30
   716  ;evaluation_timeout_seconds = 30
   717  
   718  # Default setting for alert notification timeout. Default value is 30
   719  ;notification_timeout_seconds = 30
   720  
   721  # Default setting for max attempts to sending alert notifications. Default value is 3
   722  ;max_attempts = 3
   723  
   724  # Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
   725  ;min_interval_seconds = 1
   726  
   727  # Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
   728  # This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
   729  ;max_annotation_age =
   730  
   731  # Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
   732  ;max_annotations_to_keep =
   733  
   734  #################################### Annotations #########################
   735  [annotations]
   736  # Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
   737  ;cleanupjob_batchsize = 100
   738  
   739  [annotations.dashboard]
   740  # Dashboard annotations means that annotations are associated with the dashboard they are created on.
   741  
   742  # Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
   743  # This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
   744  ;max_age =
   745  
   746  # Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
   747  ;max_annotations_to_keep =
   748  
   749  [annotations.api]
   750  # API annotations means that the annotations have been created using the API without any
   751  # association with a dashboard.
   752  
   753  # Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
   754  # This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
   755  ;max_age =
   756  
   757  # Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
   758  ;max_annotations_to_keep =
   759  
   760  #################################### Explore #############################
   761  [explore]
   762  # Enable the Explore section
   763  ;enabled = true
   764  
   765  #################################### Internal Grafana Metrics ##########################
   766  # Metrics available at HTTP API Url /metrics
   767  [metrics]
   768  # Disable / Enable internal metrics
   769  ;enabled           = true
   770  # Graphite Publish interval
   771  ;interval_seconds  = 10
   772  # Disable total stats (stat_totals_*) metrics to be generated
   773  ;disable_total_stats = false
   774  
   775  #If both are set, basic auth will be required for the metrics endpoint.
   776  ; basic_auth_username =
   777  ; basic_auth_password =
   778  
   779  # Metrics environment info adds dimensions to the `grafana_environment_info` metric, which
   780  # can expose more information about the Grafana instance.
   781  [metrics.environment_info]
   782  #exampleLabel1 = exampleValue1
   783  #exampleLabel2 = exampleValue2
   784  
   785  # Send internal metrics to Graphite
   786  [metrics.graphite]
   787  # Enable by setting the address setting (ex localhost:2003)
   788  ;address =
   789  ;prefix = prod.grafana.%(instance_name)s.
   790  
   791  #################################### Grafana.com integration  ##########################
   792  # Url used to import dashboards directly from Grafana.com
   793  [grafana_com]
   794  ;url = https://grafana.com
   795  
   796  #################################### Distributed tracing ############
   797  [tracing.jaeger]
   798  # Enable by setting the address sending traces to jaeger (ex localhost:6831)
   799  ;address = localhost:6831
   800  # Tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2)
   801  ;always_included_tag = tag1:value1
   802  # Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote
   803  ;sampler_type = const
   804  # jaeger samplerconfig param
   805  # for "const" sampler, 0 or 1 for always false/true respectively
   806  # for "probabilistic" sampler, a probability between 0 and 1
   807  # for "rateLimiting" sampler, the number of spans per second
   808  # for "remote" sampler, param is the same as for "probabilistic"
   809  # and indicates the initial sampling rate before the actual one
   810  # is received from the mothership
   811  ;sampler_param = 1
   812  # sampling_server_url is the URL of a sampling manager providing a sampling strategy.
   813  ;sampling_server_url =
   814  # Whether or not to use Zipkin propagation (x-b3- HTTP headers).
   815  ;zipkin_propagation = false
   816  # Setting this to true disables shared RPC spans.
   817  # Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure.
   818  ;disable_shared_zipkin_spans = false
   819  
   820  #################################### External image storage ##########################
   821  [external_image_storage]
   822  # Used for uploading images to public servers so they can be included in slack/email messages.
   823  # you can choose between (s3, webdav, gcs, azure_blob, local)
   824  ;provider =
   825  
   826  [external_image_storage.s3]
   827  ;endpoint =
   828  ;path_style_access =
   829  ;bucket =
   830  ;region =
   831  ;path =
   832  ;access_key =
   833  ;secret_key =
   834  
   835  [external_image_storage.webdav]
   836  ;url =
   837  ;public_url =
   838  ;username =
   839  ;password =
   840  
   841  [external_image_storage.gcs]
   842  ;key_file =
   843  ;bucket =
   844  ;path =
   845  
   846  [external_image_storage.azure_blob]
   847  ;account_name =
   848  ;account_key =
   849  ;container_name =
   850  
   851  [external_image_storage.local]
   852  # does not require any configuration
   853  
   854  [rendering]
   855  # Options to configure a remote HTTP image rendering service, e.g. using https://github.com/grafana/grafana-image-renderer.
   856  # 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.
   857  ;server_url =
   858  # 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/.
   859  ;callback_url =
   860  # Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
   861  # which this setting can help protect against by only allowing a certain amount of concurrent requests.
   862  ;concurrent_render_request_limit = 30
   863  
   864  [panels]
   865  # If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
   866  disable_sanitize_html = true
   867  
   868  [plugins]
   869  ;enable_alpha = false
   870  ;app_tls_skip_verify_insecure = false
   871  # Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
   872  ;allow_loading_unsigned_plugins =
   873  # Enable or disable installing plugins directly from within Grafana.
   874  ;plugin_admin_enabled = false
   875  ;plugin_admin_external_manage_enabled = false
   876  ;plugin_catalog_url = https://grafana.com/grafana/plugins/
   877  
   878  #################################### Grafana Live ##########################################
   879  [live]
   880  # max_connections to Grafana Live WebSocket endpoint per Grafana server instance. See Grafana Live docs
   881  # if you are planning to make it higher than default 100 since this can require some OS and infrastructure
   882  # tuning. 0 disables Live, -1 means unlimited connections.
   883  ;max_connections = 100
   884  
   885  #################################### Grafana Image Renderer Plugin ##########################
   886  [plugin.grafana-image-renderer]
   887  # Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
   888  # See ICU’s metaZones.txt (https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt) for a list of supported
   889  # timezone IDs. Fallbacks to TZ environment variable if not set.
   890  ;rendering_timezone =
   891  
   892  # Instruct headless browser instance to use a default language when not provided by Grafana, e.g. when rendering panel image of alert.
   893  # 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'.
   894  ;rendering_language =
   895  
   896  # Instruct headless browser instance to use a default device scale factor when not provided by Grafana, e.g. when rendering panel image of alert.
   897  # Default is 1. Using a higher value will produce more detailed images (higher DPI), but will require more disk space to store an image.
   898  ;rendering_viewport_device_scale_factor =
   899  
   900  # Instruct headless browser instance whether to ignore HTTPS errors during navigation. Per default HTTPS errors are not ignored. Due to
   901  # the security risk it's not recommended to ignore HTTPS errors.
   902  ;rendering_ignore_https_errors =
   903  
   904  # Instruct headless browser instance whether to capture and log verbose information when rendering an image. Default is false and will
   905  # only capture and log error messages. When enabled, debug messages are captured and logged as well.
   906  # For the verbose information to be included in the Grafana server log you have to adjust the rendering log level to debug, configure
   907  # [log].filter = rendering:debug.
   908  ;rendering_verbose_logging =
   909  
   910  # Instruct headless browser instance whether to output its debug and error messages into running process of remote rendering service.
   911  # Default is false. This can be useful to enable (true) when troubleshooting.
   912  ;rendering_dumpio =
   913  
   914  # Additional arguments to pass to the headless browser instance. Default is --no-sandbox. The list of Chromium flags can be found
   915  # here (https://peter.sh/experiments/chromium-command-line-switches/). Multiple arguments is separated with comma-character.
   916  ;rendering_args =
   917  
   918  # You can configure the plugin to use a different browser binary instead of the pre-packaged version of Chromium.
   919  # Please note that this is not recommended, since you may encounter problems if the installed version of Chrome/Chromium is not
   920  # compatible with the plugin.
   921  ;rendering_chrome_bin =
   922  
   923  # Instruct how headless browser instances are created. Default is 'default' and will create a new browser instance on each request.
   924  # Mode 'clustered' will make sure that only a maximum of browsers/incognito pages can execute concurrently.
   925  # Mode 'reusable' will have one browser instance and will create a new incognito page on each request.
   926  ;rendering_mode =
   927  
   928  # When rendering_mode = clustered you can instruct how many browsers or incognito pages can execute concurrently. Default is 'browser'
   929  # and will cluster using browser instances.
   930  # Mode 'context' will cluster using incognito pages.
   931  ;rendering_clustering_mode =
   932  # When rendering_mode = clustered you can define maximum number of browser instances/incognito pages that can execute concurrently..
   933  ;rendering_clustering_max_concurrency =
   934  
   935  # Limit the maximum viewport width, height and device scale factor that can be requested.
   936  ;rendering_viewport_max_width =
   937  ;rendering_viewport_max_height =
   938  ;rendering_viewport_max_device_scale_factor =
   939  
   940  # 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
   941  # a port not in use.
   942  ;grpc_host =
   943  ;grpc_port =
   944  
   945  [enterprise]
   946  # Path to a valid Grafana Enterprise license.jwt file
   947  ;license_path =
   948  
   949  [feature_toggles]
   950  # enable features, separated by spaces
   951  ;enable =
   952  
   953  [date_formats]
   954  # For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
   955  
   956  # Default system date format used in time range picker and other places where full time is displayed
   957  ;full_date = YYYY-MM-DD HH:mm:ss
   958  
   959  # Used by graph and other places where we only show small intervals
   960  ;interval_second = HH:mm:ss
   961  ;interval_minute = HH:mm
   962  ;interval_hour = MM/DD HH:mm
   963  ;interval_day = MM/DD
   964  ;interval_month = YYYY-MM
   965  ;interval_year = YYYY
   966  
   967  # Experimental feature
   968  ;use_browser_locale = false
   969  
   970  # 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.
   971  ;default_timezone = browser
   972  
   973  [expressions]
   974  # Enable or disable the expressions functionality.
   975  ;enabled = true