##################### 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, 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 = http://localhost:3000
# 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 = postgres
host = 192.168.58.132:5432
name = keycloak
user = keycloak
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = root
# 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
# 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 = true
# 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`. Only addr is required.
# 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 should wait before timing out default is 30 (seconds)
;timeout = 30
# 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 vesions (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]
# 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 = root
# 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" and "none"
;cookie_samesite = lax
# set to true if you want to allow browsers to render Grafana in a ,
对应docker运行日志
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Starting Grafana\" logger=server version=6.2.5 commit=6082d19 branch=HEAD compiled=2019-06-25T17:56:19+0000\n","stream":"stdout","time":"2019-06-30T12:56:12.789968636Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config loaded from\" logger=settings file=/usr/share/grafana/conf/defaults.ini\n","stream":"stdout","time":"2019-06-30T12:56:12.790014352Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config loaded from\" logger=settings file=/etc/grafana/grafana.ini\n","stream":"stdout","time":"2019-06-30T12:56:12.790019939Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from command line\" logger=settings arg=\"default.paths.data=/var/lib/grafana\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790023608Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from command line\" logger=settings arg=\"default.paths.logs=/var/log/grafana\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790027262Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from command line\" logger=settings arg=\"default.paths.plugins=/var/lib/grafana/plugins\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790031118Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from command line\" logger=settings arg=\"default.paths.provisioning=/etc/grafana/provisioning\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790034741Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from command line\" logger=settings arg=\"default.log.mode=console\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790038277Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_PATHS_DATA=/var/lib/grafana\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790041773Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_PATHS_LOGS=/var/log/grafana\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790166429Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_PATHS_PLUGINS=/var/lib/grafana/plugins\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790179393Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_PATHS_PROVISIONING=/etc/grafana/provisioning\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790184341Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_SERVER_ROOT_URL=http://grafana.server.name\"\n","stream":"stdout","time":"2019-06-30T12:56:12.79018827Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Config overridden from Environment variable\" logger=settings var=\"GF_SECURITY_ADMIN_PASSWORD=*********\"\n","stream":"stdout","time":"2019-06-30T12:56:12.790192112Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Path Home\" logger=settings path=/usr/share/grafana\n","stream":"stdout","time":"2019-06-30T12:56:12.79019584Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Path Data\" logger=settings path=/var/lib/grafana\n","stream":"stdout","time":"2019-06-30T12:56:12.790199529Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Path Logs\" logger=settings path=/var/log/grafana\n","stream":"stdout","time":"2019-06-30T12:56:12.790203124Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Path Plugins\" logger=settings path=/var/lib/grafana/plugins\n","stream":"stdout","time":"2019-06-30T12:56:12.790206667Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Path Provisioning\" logger=settings path=/etc/grafana/provisioning\n","stream":"stdout","time":"2019-06-30T12:56:12.790210168Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"App mode production\" logger=settings\n","stream":"stdout","time":"2019-06-30T12:56:12.790213721Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Initializing SqlStore\" logger=server\n","stream":"stdout","time":"2019-06-30T12:56:12.798163369Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Connecting to DB\" logger=sqlstore dbtype=postgres\n","stream":"stdout","time":"2019-06-30T12:56:12.798197812Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Starting DB migration\" logger=migrator\n","stream":"stdout","time":"2019-06-30T12:56:12.8014783Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=info msg=\"Executing migration\" logger=migrator id=\"Update user table charset\"\n","stream":"stdout","time":"2019-06-30T12:56:12.819771101Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=eror msg=\"Executing migration failed\" logger=migrator id=\"Update user table charset\" error=\"pq: relation \\\"UQE_user_login\\\" already exists\"\n","stream":"stdout","time":"2019-06-30T12:56:12.82479527Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=eror msg=\"Exec failed\" logger=migrator error=\"pq: relation \\\"UQE_user_login\\\" already exists\" sql=\"ALTER TABLE \\\"user\\\" ALTER \\\"login\\\" TYPE VARCHAR(190), ALTER \\\"email\\\" TYPE VARCHAR(190), ALTER \\\"name\\\" TYPE VARCHAR(255), ALTER \\\"password\\\" TYPE VARCHAR(255), ALTER \\\"salt\\\" TYPE VARCHAR(50), ALTER \\\"rands\\\" TYPE VARCHAR(50), ALTER \\\"company\\\" TYPE VARCHAR(255), ALTER \\\"theme\\\" TYPE VARCHAR(255);\"\n","stream":"stdout","time":"2019-06-30T12:56:12.82483477Z"}
{"log":"t=2019-06-30T12:56:12+0000 lvl=eror msg=\"Server shutdown\" logger=server reason=\"Service init failed: Migration failed err: pq: relation \\\"UQE_user_login\\\" already exists\"\n","stream":"stdout","time":"2019-06-30T12:56:12.82740865Z"}