配置 Grafana
您可以使用 Grafana Cloud 来避免安装、维护和扩展您自己的 Grafana 实例。创建一个免费帐户即可开始使用,其中包括永久免费访问 1 万个指标、50GB 日志、50GB 追踪、500VUh k6 测试等。
Grafana 具有默认和自定义配置文件。您可以通过修改自定义配置文件或使用环境变量来自定义您的 Grafana 实例。要查看 Grafana 实例的设置列表,请参阅查看服务器设置。
注意
在添加自定义选项后,取消注释配置文件的相关部分。重启 Grafana 以使您的更改生效。
配置文件位置
Grafana 实例的默认设置存储在 $WORKING_DIR/conf/defaults.ini
文件中。请勿更改此文件。
根据您的操作系统,您的自定义配置文件是 $WORKING_DIR/conf/custom.ini
文件或 /usr/local/etc/grafana/grafana.ini
文件。自定义配置文件路径可以使用 --config
参数覆盖。
Linux
如果您使用 deb
或 rpm
包安装了 Grafana,则您的配置文件位于 /etc/grafana/grafana.ini
,并且不使用单独的 custom.ini
。此路径在 Grafana init.d 脚本中使用 --config
文件参数指定。
Docker
有关环境变量、持久存储和构建自定义 Docker 镜像的信息,请参阅配置 Grafana Docker 镜像。
Windows
在 Windows 上,sample.ini
文件与 defaults.ini
文件位于同一目录中。它包含所有注释掉的设置。复制 sample.ini
并将其命名为 custom.ini
。
macOS
默认情况下,配置文件位于 /opt/homebrew/etc/grafana/grafana.ini
或 /usr/local/etc/grafana/grafana.ini
。对于使用 Homebrew 安装的 Grafana 实例,直接编辑 grafana.ini
文件。否则,将名为 custom.ini
的配置文件添加到 conf
文件夹以覆盖 conf/defaults.ini
中定义的设置。
移除 .ini 文件中的注释
Grafana 使用分号(;
字符)注释掉 .ini
文件中的行。您必须取消注释您要修改的 custom.ini
或 grafana.ini
文件中的每一行,方法是从该行的开头删除 ;
。否则,您的更改将被忽略。
例如
# The HTTP port to use
;http_port = 3000
使用环境变量覆盖配置
请勿使用环境变量添加新的配置设置。相反,使用环境变量覆盖现有选项。
要覆盖选项
GF_<SectionName>_<KeyName>
其中节名称是括号内的文本。所有内容都应为大写,.
和 -
应替换为 _
。例如,如果您有以下配置设置
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = 0ldS3cretKey
[plugin.grafana-image-renderer]
rendering_ignore_https_errors = true
[feature_toggles]
enable = newNavigation
您可以使用以下命令在 Linux 机器上覆盖变量
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=owner
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
export GF_PLUGIN_GRAFANA_IMAGE_RENDERER_RENDERING_IGNORE_HTTPS_ERRORS=true
export GF_FEATURE_TOGGLES_ENABLE=newNavigation
变量扩展
如果您的任何选项包含表达式 $__<provider>{<argument>}
或 ${<environment variable>}
,则它们将由 Grafana 的变量扩展器处理。扩展器使用提供的参数运行提供程序,以获取选项的最终值。
有三个提供程序:env
、file
和 vault
。
Env 提供程序
env
提供程序可用于扩展环境变量。如果您将一个选项设置为 $__env{PORT}
,则将使用 PORT
环境变量代替。对于环境变量,您还可以使用简写语法 ${PORT}
。在以下示例中,Grafana 的日志目录将设置为 LOGDIR
环境变量后面的目录中的 grafana
目录。
[paths]
logs = $__env{LOGDIR}/grafana
File 提供程序
file
从文件系统中读取文件。它会修剪文件开头和结尾的空格。以下示例中的数据库密码将被 /etc/secrets/gf_sql_password
文件的内容替换
[database]
password = $__file{/etc/secrets/gf_sql_password}
Vault 提供程序
vault
提供程序允许您使用 Hashicorp Vault 管理您的密钥。
Vault 提供程序仅在 Grafana Enterprise v7.1+ 中可用。有关更多信息,请参阅 Vault 集成中的 Grafana Enterprise。
app_mode
选项为 production
和 development
。默认为 production
。请勿更改此选项,除非您正在进行 Grafana 开发。
instance_name
设置 grafana-server 实例的名称。用于日志记录、内部指标和集群信息。默认为:${HOSTNAME}
,如果环境变量 HOSTNAME
为空或不存在,则将被替换为环境变量 HOSTNAME
,Grafana 将尝试使用系统调用来获取机器名称。
[paths]
data
Grafana 存储 sqlite3 数据库(如果使用)、基于文件的会话(如果使用)和其他数据的路径。此路径通常通过命令行在 init.d 脚本或 systemd 服务文件中指定。
macOS:默认 SQLite 数据库位于 /usr/local/var/lib/grafana
temp_data_lifetime
data
目录中临时图像的保留时间。默认为:24h
。支持的修饰符:h
(小时)、m
(分钟),例如:168h
、30m
、10h30m
。使用 0
永不清理临时文件。
logs
Grafana 存储日志的路径。此路径通常通过命令行在 init.d 脚本或 systemd 服务文件中指定。您可以在配置文件或默认环境变量文件中覆盖它。但是,请注意,通过覆盖此路径,在 Grafana 完全初始化/启动之前,将暂时使用默认日志路径。
使用命令行参数 cfg:default.paths.logs
覆盖日志路径
./grafana-server --config /custom/config.ini --homepath /custom/homepath cfg:default.paths.logs=/custom/path
macOS:默认情况下,日志文件应位于 /usr/local/var/log/grafana/grafana.log
。
plugins
Grafana 自动扫描并查找插件的目录。有关手动或自动安装插件的信息,请参阅安装 Grafana 插件。
macOS:默认情况下,Mac 插件位置为:/usr/local/var/lib/grafana/plugins
。
provisioning
包含 配置 配置文件的文件夹,Grafana 将在启动时应用这些配置文件。当 json 文件更改时,仪表板将被重新加载。
[server]
protocol
http
、https
、h2
或 socket
min_tls_version
TLS 握手需要最低 TLS 版本。可用选项为 TLS1.2 和 TLS1.3。如果您未指定版本,则系统使用 TLS1.2。
http_addr
服务器监听的主机。如果您的机器有多个网络接口,您可以使用此设置仅在一个网络接口上公开 Grafana 服务,而不在其他接口(例如环回接口)上提供。空值等效于将值设置为 0.0.0.0
,这意味着 Grafana 服务绑定到所有接口。
在使用网络地址转换 (NAT) 的环境中,请确保使用网络接口地址而不是最终公共地址;否则,您可能会在日志中看到诸如 bind: cannot assign requested address
之类的错误。
http_port
要绑定的端口,默认为 3000
。要使用端口 80,您需要为 Grafana 二进制文件授予权限,例如
$ sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/grafana-server
或使用以下命令将端口 80 重定向到 Grafana 端口
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
另一种方法是在 Grafana 前面放置一个 Web 服务器(如 Nginx 或 Apache),并让它们将请求代理到 Grafana。
domain
此设置仅在 root_url
设置(见下文)中用作一部分。如果您使用 GitHub 或 Google OAuth,则很重要。
enforce_domain
如果主机标头与域不匹配,则重定向到正确的域。防止 DNS 重新绑定攻击。默认为 false
。
root_url
这是用于从 Web 浏览器访问 Grafana 的完整 URL。如果您使用 Google 或 GitHub OAuth 身份验证(为了回调 URL 正确),这很重要。
注意
如果您在 Grafana 前面有一个反向代理,通过子路径公开它,则此设置也很重要。在这种情况下,将子路径添加到此 URL 设置的末尾。
serve_from_sub_path
从 root_url
设置中指定的子路径提供 Grafana。默认情况下,出于兼容性原因,它设置为 false
。
通过启用此设置并在上面的 root_url
中使用子路径(例如 root_url = https://127.0.0.1:3000/grafana
),Grafana 可在 https://127.0.0.1:3000/grafana
上访问。如果未通过子路径访问,Grafana 将重定向到带有子路径的 URL。
router_logging
设置为 true
以使 Grafana 记录所有 HTTP 请求(而不仅仅是错误)。这些请求作为 Info 级别事件记录到 Grafana 日志中。
static_root_path
前端文件(HTML、JS 和 CSS 文件)目录的路径。默认为 public
,这就是为什么需要将工作目录设置为安装路径来执行 Grafana 二进制文件。
enable_gzip
将此选项设置为 true
以启用 HTTP 压缩,这可以提高传输速度和带宽利用率。建议大多数用户将其设置为 true
。默认情况下,出于兼容性原因,它设置为 false
。
cert_file
证书文件的路径(如果 protocol
设置为 https
或 h2
)。
cert_key
证书密钥文件的路径(如果 protocol
设置为 https
或 h2
)。
certs_watch_interval
控制是否定期监视 cert_key
和 cert_file
的更改。默认情况下禁用。启用后,将监视 cert_key
和 cert_file
的更改。如果发生更改,则会自动加载新证书。
警告
加载新证书后,使用旧证书的连接将无法工作。您必须重新加载旧证书的连接才能使其工作。
socket_gid
当 protocol=socket
时应设置套接字的 GID。确保目标组在 Grafana 进程的组中,并且在更改此设置之前,Grafana 进程是文件所有者。建议将 gid 设置为 http 服务器用户 gid。当值为 -1 时未设置。
socket_mode
当 protocol=socket
时应设置套接字的模式。确保在更改此设置之前,Grafana 进程是文件所有者。
socket
当 protocol=socket
时应创建套接字的路径。在更改此设置之前,请确保 Grafana 具有该路径的适当权限。
cdn_url
指定 Grafana CDN 资产根目录的完整 HTTP URL 地址。Grafana 将添加版本和版本路径。
例如,给定像 https://cdn.myserver.com
这样的 cdn url,grafana 将尝试从 http://cdn.myserver.com/grafana-oss/7.4.0/public/build/app.<hash>.js
加载 javascript 文件。
read_timeout
设置使用持续时间格式(5 秒/5 分钟/5 毫秒)的最大时间,超过此时间后,将超时读取传入请求并关闭空闲连接。0
表示读取请求没有超时。
[server.custom_response_headers]
此设置使您能够指定服务器添加到 HTTP(S) 响应的其他标头。
exampleHeader1 = exampleValue1
exampleHeader2 = exampleValue2
[database]
Grafana 需要一个数据库来存储用户和仪表板(以及其他内容)。默认情况下,它配置为使用 sqlite3
,这是一个嵌入式数据库(包含在主 Grafana 二进制文件中)。
type
mysql
、postgres
或 sqlite3
中的任何一个,由您选择。
host
仅适用于 MySQL 或 Postgres。包括 IP 或主机名和端口,或者在 Unix 套接字的情况下,包括其路径。例如,对于在与 Grafana 同一台主机上运行的 MySQL:host = 127.0.0.1:3306
或使用 Unix 套接字:host = /var/run/mysqld/mysqld.sock
name
Grafana 数据库的名称。将其设置为 grafana
或其他名称。
user
数据库用户(不适用于 sqlite3
)。
password
数据库用户的密码(不适用于 sqlite3
)。如果密码包含 #
或 ;
,则必须用三引号将其括起来。例如 """#password;"""
url
使用 URL 或以下其他字段配置数据库。示例:mysql://user:secret@host:port/database
max_idle_conn
空闲连接池中的最大连接数。
max_open_conn
到数据库的最大打开连接数。对于 MYSQL,请在 Grafana 和数据库上都配置此设置。有关更多信息,请参阅 sysvar_max_connections
。
conn_max_lifetime
设置连接可以重用的最大时间量。默认值为 14400(表示 14400 秒或 4 小时)。对于 MySQL,此设置应短于 wait_timeout
变量。
migration_locking
设置为 false
以在迁移期间禁用数据库锁定。默认为 true。
locking_attempt_timeout_sec
仅适用于“mysql”和“postgres”。指定在锁定数据库进行迁移失败之前等待的时间(以秒为单位)。默认为 0。
log_queries
设置为 true
以记录 sql 调用和执行时间。
ssl_mode
对于 Postgres,使用任何 有效的 libpq sslmode
,例如 disable
、require
、verify-full
等。对于 MySQL,使用 true
、false
或 skip-verify
。
ssl_sni
对于 Postgres,设置为 0
以禁用 服务器名称指示。在启用 SSL 的连接上,默认启用此功能。
isolation_level
只有 MySQL 驱动程序支持 Grafana 中的隔离级别。如果该值为空,则应用驱动程序的默认隔离级别。可用选项为“READ-UNCOMMITTED”、“READ-COMMITTED”、“REPEATABLE-READ”或“SERIALIZABLE”。
ca_cert_path
要使用的 CA 证书的路径。在许多 Linux 系统上,证书可以在 /etc/ssl/certs
中找到。
client_key_path
客户端密钥的路径。仅当服务器需要客户端身份验证时。
client_cert_path
客户端证书的路径。仅当服务器需要客户端身份验证时。
server_cert_name
mysql
或 postgres
服务器使用的证书的通用名称字段。如果 ssl_mode
设置为 skip-verify
,则不需要。
path
仅适用于 sqlite3
数据库。将存储数据库的文件路径。
cache_mode
仅适用于“sqlite3”。用于连接到数据库的共享缓存设置。(private、shared)默认为 private
。
wal
仅适用于“sqlite3”。用于启用/禁用 预写日志的设置。默认值为 false
(禁用)。
query_retries
此设置仅适用于 sqlite
,并控制当数据库被锁定时系统重试查询的次数。默认值为 0
(禁用)。
transaction_retries
此设置仅适用于 sqlite
,并控制当数据库被锁定时系统重试事务的次数。默认值为 5
。
instrument_queries
设置为 true
以为数据库查询添加指标和追踪。默认值为 false
。
[remote_cache]
在配置的数据库、Redis 或 Memcached 中缓存身份验证详细信息和会话信息。此设置不配置 Grafana Enterprise 中的查询缓存。
type
redis
、memcached
或 database
中的任何一个。默认为 database
connstr
远程缓存连接字符串。格式取决于远程缓存的 type
。选项为 database
、redis
和 memcache
。
database
使用 database
时留空,因为它将使用主数据库。
redis
示例 connstr:addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false
addr
是 redis 服务器的主机:
端口。pool_size
(可选)是可以与 redis 建立的底层连接数。db
(可选)是您要使用的 redis 数据库的数字标识符。ssl
(可选)是是否应使用 SSL 连接到 redis 服务器。值可以是true
、false
或insecure
。将值设置为insecure
会跳过连接时的证书链和主机名验证。
memcache
示例 connstr:127.0.0.1:11211
[dataproxy]
logging
这会启用数据代理日志记录,默认为 false
。
timeout
数据代理在超时之前应等待的时间。默认为 30 秒。
此设置也适用于核心后端 HTTP 数据源,其中查询请求使用设置了超时的 HTTP 客户端。
keep_alive_seconds
保持活动探测之间的时间间隔。默认为 30
秒。有关更多详细信息,请查看 Dialer.KeepAlive 文档。
tls_handshake_timeout_seconds
Grafana 将等待与数据源成功 TLS 握手的时间长度。默认为 10
秒。有关更多详细信息,请查看 Transport.TLSHandshakeTimeout 文档。
expect_continue_timeout_seconds
如果请求具有“Expect: 100-continue”标头,则 Grafana 将等待数据源的第一个响应标头的时间长度,在完全写入请求标头之后。值为 0
将导致立即发送正文。默认为 1
秒。有关更多详细信息,请查看 Transport.ExpectContinueTimeout 文档。
max_conns_per_host
可选地限制每个主机的总连接数,包括拨号、活动和空闲状态的连接。在违反限制时,拨号将被阻止。值为 0
表示没有限制。默认为 0
。有关更多详细信息,请查看 Transport.MaxConnsPerHost 文档。
max_idle_connections
Grafana 将维护的最大空闲连接数。默认为 100
。有关更多详细信息,请查看 Transport.MaxIdleConns 文档。
idle_conn_timeout_seconds
Grafana 维护空闲连接的时间长度,超过此时间后将关闭它们。默认为 90
秒。有关更多详细信息,请查看 Transport.IdleConnTimeout 文档。
send_user_header
如果启用且用户不是匿名用户,则数据代理将在请求中添加带有用户名的 X-Grafana-User 标头。默认为 false
。
response_limit
限制将从传出 HTTP 请求的响应中读取/接受的字节数。默认为 0
,表示禁用。
row_limit
限制 Grafana 将从 SQL(关系型)数据源处理的行数。默认值为 1000000
。
user_agent
为发出的数据代理请求设置 User-Agent
标头的自定义值。如果为空,则默认值为 Grafana/<BuildVersion>
(例如 Grafana/9.0.0
)。
[analytics]
enabled
此选项也称为使用情况分析。当设置为 false
时,此选项将禁用写入 Grafana 数据库的写入器和相关功能,例如仪表板和数据源洞察、在线指示器和高级仪表板搜索。默认值为 true
。
reporting_enabled
启用后,Grafana 会将匿名使用情况统计信息发送到 stats.grafana.org
。不会跟踪 IP 地址,仅跟踪简单的计数器来跟踪正在运行的实例、版本、仪表板和错误计数。这对我们非常有帮助,因此请保持启用状态。计数器每 24 小时发送一次。默认值为 true
。
check_for_updates
设置为 false 可禁用从 Grafana 的 GitHub 存储库检查 Grafana 的新版本。启用后,每 10 分钟运行一次新版本检查。当有新版本可用时,它将通过 UI 通知。检查本身不会提示 Grafana 软件的任何自动更新,也不会发送任何敏感信息。
check_for_plugin_updates
设置为 false 可禁用从 https://grafana.org.cn 检查已安装插件的新版本。启用后,每 10 分钟运行一次新插件检查。当存在新的插件更新时,它将通过 UI 通知。检查本身不会提示插件的任何自动更新,也不会发送任何敏感信息。
google_analytics_ua_id
如果您想通过 Google Analytics 跟踪 Grafana 使用情况,请在此处指定您的通用分析 ID。默认情况下,此功能已禁用。
google_analytics_4_id
如果您想通过 Google Analytics 4 跟踪 Grafana 使用情况,请在此处指定您的 GA4 ID。默认情况下,此功能已禁用。
google_tag_manager_id
Google Tag Manager ID,仅当您在此处输入 ID 时启用。
rudderstack_write_key
如果您想通过 Rudderstack 跟踪 Grafana 使用情况,请在此处指定您的 Rudderstack 写入密钥。还必须提供 rudderstack_data_plane_url
才能启用此功能。默认情况下,此功能已禁用。
rudderstack_data_plane_url
将接收 Rudderstack 事件的 Rudderstack 数据平面 URL。还必须提供 rudderstack_write_key
才能启用此功能。
rudderstack_sdk_url
可选。如果启用了使用 Rudderstack 进行跟踪,您可以提供自定义 URL 来加载 Rudderstack SDK。
rudderstack_config_url
可选。如果启用了使用 Rudderstack 进行跟踪,您可以提供自定义 URL 来加载 Rudderstack 配置。
rudderstack_integrations_url
可选。如果启用了使用 Rudderstack 进行跟踪,您可以提供自定义 URL 来加载在设备模式下运行的目标的 SDK。此设置仅对 Rudderstack 1.1 及更高版本有效。
application_insights_connection_string
如果您想通过 Azure Application Insights 跟踪 Grafana 使用情况,请指定您的 Application Insights 连接字符串。由于连接字符串包含分号,因此您需要将其括在反引号 (`) 中。默认情况下,跟踪使用情况已禁用。
application_insights_endpoint_url
可选,使用此选项可覆盖 Application Insights 数据收集的默认端点地址。有关详细信息,请参阅 Azure 文档。
feedback_links_enabled
设置为 false
以从 UI 中删除所有反馈链接。默认值为 true
。
[security]
disable_initial_admin_creation
在 Grafana 首次启动时禁用创建管理员用户。默认值为 false
。
admin_user
默认 Grafana 管理员用户的名称,该用户具有完全权限。默认值为 admin
。
admin_password
默认 Grafana 管理员的密码。首次运行时设置一次。默认值为 admin
。
admin_email
启动时创建的默认 Grafana 管理员的电子邮件。默认值为 admin@localhost
。
secret_key
用于对某些数据源设置(如密钥和密码)进行签名,使用的加密格式为 CFB 模式下的 AES-256。如果未更新数据源设置以重新编码,则无法更改。
disable_gravatar
设置为 true
可禁用 Gravatar 用于用户个人资料图片。默认值为 false
。
data_source_proxy_whitelist
定义允许的 IP 地址或域的白名单,以及端口,用于 Grafana 数据源代理的数据源 URL 中。格式:ip_or_domain:port
,以空格分隔。PostgreSQL、MySQL 和 MSSQL 数据源不使用代理,因此不受此设置的影响。
disable_brute_force_login_protection
设置为 true
可禁用 暴力破解登录保护。默认值为 false
。如果所有登录尝试都在 5 分钟窗口内用完,则现有用户的帐户将无法登录 5 分钟。
brute_force_login_protection_max_attempts
配置用户在 5 分钟窗口内有多少次登录尝试,之后帐户将被锁定。默认值为 5
。
cookie_secure
如果您在 HTTPS 后托管 Grafana,请设置为 true
。默认值为 false
。
cookie_samesite
设置 SameSite
cookie 属性,并阻止浏览器将此 cookie 与跨站点请求一起发送。主要目标是降低跨源信息泄露的风险。此设置还提供了一些针对跨站点请求伪造攻击 (CSRF) 的保护,在此处阅读有关 SameSite 的更多信息。有效值为 lax
、strict
、none
和 disabled
。默认值为 lax
。使用值 disabled
不会向 cookie 添加任何 SameSite
属性。
allow_embedding
当设置为 false
时,HTTP 标头 X-Frame-Options: deny
将在 Grafana HTTP 响应中设置,这将指示浏览器不允许在 <frame>
、<iframe>
、<embed>
或 <object>
中呈现 Grafana。主要目标是降低 点击劫持 的风险。默认值为 false
。
strict_transport_security
如果您想启用 HTTP Strict-Transport-Security
(HSTS) 响应标头,请设置为 true
。仅当您的配置中启用了 HTTPS,或者当有另一个上游系统确保您的应用程序使用 HTTPS(如前端负载均衡器)时,才使用此设置。HSTS 告诉浏览器该站点应仅使用 HTTPS 访问。
strict_transport_security_max_age_seconds
设置浏览器应缓存 HSTS 的秒数。仅当 strict_transport_security 启用时才应用。默认值为 86400
。
strict_transport_security_preload
设置为 true
以启用 HSTS preloading
选项。仅当 strict_transport_security 启用时才应用。默认值为 false
。
strict_transport_security_subdomains
设置为 true
以启用 HSTS includeSubDomains 选项。仅当 strict_transport_security 启用时才应用。默认值为 false
。
x_content_type_options
设置为 false
可禁用 X-Content-Type-Options 响应标头。X-Content-Type-Options 响应 HTTP 标头是服务器使用的标记,用于指示不应更改 Content-Type 标头中声明的 MIME 类型,而应遵循这些类型。默认值为 true
。
x_xss_protection
设置为 false
可禁用 X-XSS-Protection 标头,该标头告诉浏览器在检测到反射型跨站点脚本 (XSS) 攻击时停止加载页面。默认值为 true
。
content_security_policy
设置为 true
可将 Content-Security-Policy 标头添加到您的请求。CSP 允许控制用户代理可以加载的资源,并有助于防止 XSS 攻击。
content_security_policy_template
设置在将 Content-Security-Policy
标头添加到您的请求时将使用的策略模板。模板中的 $NONCE
包括一个随机 nonce。
content_security_policy_report_only
设置为 true
可将 Content-Security-Policy-Report-Only
标头添加到您的请求。报告专用模式下的 CSP 使您可以通过监视策略的效果来试验策略,而无需强制执行它们。您可以同时启用两种策略。
content_security_policy_template
设置在将 Content-Security-Policy-Report-Only
标头添加到您的请求时将使用的策略模板。模板中的 $NONCE
包括一个随机 nonce。
actions_allow_post_url
设置可以使用 POST 动词在插件之间访问的 API 路径。如果值为空,则只能通过代理传递远程请求。如果设置了该值,您还可以向本地服务器发送经过身份验证的 POST 请求。您通常使用此选项来启用插件之间的后端通信。
这是一个逗号分隔的列表,使用 glob 匹配。
这将允许访问所有具有后端的插件
actions_allow_post_url=/api/plugins/*
这将限制对单个插件后端的访问
actions_allow_post_url=/api/plugins/grafana-special-app
angular_support_enabled
默认情况下,此项设置为 false,这意味着不会加载 angular 框架和支持组件。这意味着所有依赖 angular 支持的 插件 和核心功能都将停止工作。
依赖 angular 的核心功能包括
- 旧版图形面板
- 旧版表格面板
这些功能各自都有受支持的替代方案,我们建议您使用它们。
csrf_trusted_origins
通过 CSRF 检查的其他允许 URL 列表。当身份验证来自 IdP 时建议使用。
csrf_additional_headers
允许用户设置的允许标头列表。如果身份验证位于反向代理之后,则建议使用。
csrf_always_check
设置为 true
以执行 CSRF 检查,即使请求中没有登录 cookie(默认为 false
)。
enable_frontend_sandbox_for_plugins
将在前端沙箱内加载的插件 ID 的逗号分隔列表。
[snapshots]
enabled
设置为 false
可禁用快照功能(默认为 true
)。
external_enabled
设置为 false
可禁用外部快照发布端点(默认为 true
)。
external_snapshot_url
设置要将外部快照发布到的 Grafana 实例的根 URL(默认为 https://snapshots.raintank.io)。
external_snapshot_name
设置外部快照按钮的名称。默认为 Publish to snapshots.raintank.io
。
public_mode
设置为 true 可使此 Grafana 实例充当外部快照服务器,并允许未经身份验证的请求创建和删除快照。默认值为 false
。
[dashboards]
versions_to_keep
要保留的仪表板版本数量(每个仪表板)。默认值:20
,最小值:1
。
min_refresh_interval
此功能阻止用户将仪表板刷新间隔设置为低于给定间隔值的值。默认间隔值为 5 秒。间隔字符串是可能带符号的十进制数字序列,后跟一个单位后缀(ms、s、m、h、d),例如 30s
或 1m
。
这也限制了 Explore 中的刷新间隔选项。
default_home_dashboard_path
默认主仪表板的路径。如果此值为空,则 Grafana 使用 StaticRootPath + “dashboards/home.json”。
注意
在 Linux 上,Grafana 使用
/usr/share/grafana/public/dashboards/home.json
作为默认主仪表板位置。
[datasources]
default_manage_alerts_ui_toggle
配置数据源时,“通过告警 UI 管理告警”切换的默认行为。它仅在数据源的 jsonData.manageAlerts
属性不包含先前配置的值时才有效。
[sql_datasources]
max_open_conns_default
对于 SQL 数据源(MySql、Postgres、MSSQL),您可以覆盖最大打开连接数的默认值(默认值:100)。数据源设置中配置的值优先于默认值。
max_idle_conns_default
对于 SQL 数据源(MySql、Postgres、MSSQL),您可以覆盖允许的空闲连接数的默认值(默认值:100)。数据源设置中配置的值优先于默认值。
max_conn_lifetime_default
对于 SQL 数据源(MySql、Postgres、MSSQL),您可以覆盖最大连接生存期(以秒为单位)的默认值(默认值:14400)。数据源设置中配置的值优先于默认值。
[users]
allow_sign_up
设置为 false
可禁止用户注册/创建用户帐户。默认值为 false
。管理员用户仍然可以创建用户。有关创建用户的更多信息,请参阅 添加用户。
allow_org_create
设置为 false
可禁止用户创建新组织。默认值为 false
。
auto_assign_org
设置为 true
可自动将新用户添加到主组织(ID 为 1)。当设置为 false
时,新用户会自动导致为该新用户创建一个新组织。即使 allow_org_create
设置为 false
,也会创建组织。默认值为 true
。
auto_assign_org_id
设置此值可自动将新用户添加到提供的组织。这需要将 auto_assign_org
设置为 true
。请确保此组织已存在。默认值为 1。
auto_assign_org_role
如果 auto_assign_org
设置为 true
,则 auto_assign_org_role
设置确定分配给主组织中新用户的默认角色。您可以将其设置为以下角色之一:(Viewer
(默认)、Admin
、Editor
和 None
)。例如
auto_assign_org_role = Viewer
verify_email_enabled
在注册完成之前或更新用户电子邮件地址时,需要进行电子邮件验证。默认值为 false
。
login_default_org_id
设置用户登录时使用的默认组织。默认值为 -1
。
login_hint
在登录页面上用作登录名/用户名输入的占位符文本。
password_hint
在登录页面上用作密码输入的占位符文本。
default_theme
设置默认 UI 主题:dark
、light
或 system
。默认主题为 dark
。
system
与用户的系统主题匹配。
default_language
如果支持 IETF 语言标记(如 en-US
),则此选项将设置默认 UI 语言。如果设置为 detect
,则默认 UI 语言将由浏览器首选项确定。默认值为 en-US
。
home_page
自定义主页的路径。仅当使用默认主仪表板时,用户才会被重定向到此页面。它应与前端路由匹配,并包含前导斜杠。
外部用户管理
如果您在外部管理用户,则可以将组织的用户邀请按钮替换为指向外部站点的链接以及描述。
viewers_can_edit
查看者可以访问和使用 Explore,并在他们有权访问的仪表板中对面板执行临时编辑。他们无法保存更改。默认值为 false
。
editors_can_admin
编辑可以管理他们创建的仪表板、文件夹和团队。默认值为 false
。
user_invite_max_lifetime_duration
用户邀请在过期之前保持有效的时间长度。此设置应表示为持续时间。示例:6h(小时)、2d(天)、1w(周)。默认值为 24h
(24 小时)。支持的最短持续时间为 15m
(15 分钟)。
verification_email_max_lifetime_duration
用于更新用户电子邮件地址的验证电子邮件在过期之前保持有效的时间长度。此设置应表示为持续时间。示例:6h(小时)、2d(天)、1w(周)。默认值为 1h(1 小时)。
last_seen_update_interval
更新用户上次查看时间的频率。此设置应表示为持续时间。示例:1h(小时)、15m(分钟)。默认值为 15m
(15 分钟)。支持的最短持续时间为 5m
(5 分钟)。支持的最长持续时间为 1h
(1 小时)。
hidden_users
这是一个逗号分隔的用户名列表。此处指定的用户在 Grafana UI 中隐藏。他们对 Grafana 管理员和他们自己仍然可见。
[auth]
Grafana 提供了多种用户身份验证方式。请参阅 Grafana 身份验证概述 和其他身份验证文档,以获取有关如何设置和配置身份验证的详细说明。
login_cookie_name
用于存储身份验证令牌的 cookie 名称。默认值为 grafana_session
。
login_maximum_inactive_lifetime_duration
经过身份验证的用户在下次访问时被要求登录之前可以处于非活动状态的最长生命周期(持续时间)。默认值为 7 天 (7d)。此设置应表示为持续时间,例如 5m(分钟)、6h(小时)、10d(天)、2w(周)、1M(月)。生命周期在每次成功令牌轮换 (token_rotation_interval_minutes) 时重置。
login_maximum_lifetime_duration
经过身份验证的用户自登录时间起可以保持登录状态的最长生命周期(持续时间),之后将被要求登录。默认值为 30 天 (30d)。此设置应表示为持续时间,例如 5m(分钟)、6h(小时)、10d(天)、2w(周)、1M(月)。
token_rotation_interval_minutes
当用户处于活动状态时,身份验证令牌轮换的频率。默认值为每 10 分钟。
disable_login_form
设置为 true 可禁用(隐藏)登录表单,如果您使用 OAuth,这将非常有用。默认值为 false。
disable_signout_menu
设置为 true
可禁用侧边菜单中的注销链接。如果您使用 auth.proxy,这将非常有用。默认值为 false
。
signout_redirect_url
用户注销后重定向到的 URL。为了支持 OpenID Connect RP 发起的注销,用户必须将 post_logout_redirect_uri
添加到 signout_redirect_url
。
示例
signout_redirect_url = https://127.0.0.1:8087/realms/grafana/protocol/openid-connect/logout?post_logout_redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Flogin
oauth_auto_login
注意
此选项已弃用 - 请改为对特定 OAuth 提供程序使用
auto_login
选项。
设置为 true
可尝试使用 OAuth 自动登录,跳过登录屏幕。如果配置了多个 OAuth 提供程序,则忽略此设置。默认值为 false
。
oauth_state_cookie_max_age
OAuth 状态 cookie 在被删除之前存在的秒数。默认值为 600
(秒)。如果管理员遇到 OAuth 登录状态不匹配错误,可以增加此值。
oauth_login_error_message
用户未授权时的自定义错误消息。默认值是前端国际化短语的键,登录提供程序拒绝登录请求
。
oauth_refresh_token_server_lock_min_wait_ms
服务器锁重试机制的最小等待时间(以毫秒为单位)。默认值为 1000
(毫秒)。服务器锁重试机制用于防止多个 Grafana 实例同时刷新 OAuth 令牌。此机制至少等待此时间量,然后重试获取服务器锁。
总共有五次重试,因此使用默认值,总等待时间(用于获取锁)至少为 5 秒(重试之间的等待时间计算为 random(n, n + 500)),这意味着最大令牌刷新持续时间必须小于 5-6 秒。
如果您在使用 OAuth 令牌刷新机制时遇到问题,可以增加此值以允许更多时间完成令牌刷新。
oauth_skip_org_role_update_sync
注意
此选项已从 G11 中删除,以支持 OAuth 提供程序特定的
skip_org_role_sync
设置。以下部分介绍了每个提供程序的设置。
如果您想将 oauth_skip_org_role_update_sync
设置从 true
更改为 false
,那么对于您设置的每个提供程序,请使用 skip_org_role_sync
设置来指定您是否要跳过同步。
警告
目前,如果找不到用户的组织角色映射,Grafana 不会更新用户的组织角色。在 Grafana 10 中,如果
oauth_skip_org_role_update_sync
选项设置为false
,则每次登录时,没有映射的用户都将被重置为默认组织角色。请参阅auto_assign_org_role
选项。
skip_org_role_sync
skip_org_role_sync
阻止特定 OAuth 集成的组织角色同步,而已弃用的设置 oauth_skip_org_role_update_sync
影响所有配置的 OAuth 提供程序。
skip_org_role_sync
的默认值为 false
。
当 skip_org_role_sync
设置为 false
时,用户的组织和角色将在每次新登录时重置,基于外部提供程序的角色。请参阅下表中的提供程序。
当 skip_org_role_sync
设置为 true
时,当用户首次登录时,Grafana 会根据 auto_assign_org_role
中指定的值设置组织角色,并在指定 auto_assign_org_id
时强制组织为 auto_assign_org_id
,否则回退到 OrgID 1
。
注意:启用
skip_org_role_sync
还会禁用从外部提供程序同步 Grafana 管理员,因此allow_assign_grafana_admin
将被忽略。
当您想从 Grafana 内部管理用户的组织角色,并且能够手动将他们分配到多个组织,或者防止他们可以从另一个提供程序同步时发生同步冲突时,请使用此设置。
oauth_skip_org_role_update_sync
和 skip_org_role_sync
的行为可以在下表中看到
[auth.grafana_com]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与 Grafana.com 角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过 Grafana.com 用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过 Grafana.com 用户和所有其他 OAuth 提供程序的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
[auth.azuread]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与 AzureAD 角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过 AzureAD 用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过 AzureAD 用户和所有其他 OAuth 提供程序的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
[auth.google]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 用户组织角色设置为 auto_assign_org_role ,并且无法更改。 | false |
true | false | 用户组织角色设置为 auto_assign_org_role ,并且可以在 Grafana 中更改。 | true |
false | true | 用户组织角色设置为 auto_assign_org_role ,并且可以在 Grafana 中更改。 | true |
true | true | 用户组织角色设置为 auto_assign_org_role ,并且可以在 Grafana 中更改。 | true |
注意
对于 GitLab、GitHub、Okta、通用 OAuth 提供程序,Grafana 同步组织角色并设置 Grafana 管理员。
allow_assign_grafana_admin
设置也考虑在内,以允许或不允许从外部提供程序设置 Grafana 管理员角色。
[auth.github]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与 GitHub 角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过 GitHub 用户的组织角色和 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过所有 OAuth 提供程序的组织角色同步,并跳过 GitHub 用户的 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
[auth.gitlab]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与 Gitlab 角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过 Gitlab 用户的组织角色和 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过所有 OAuth 提供程序的组织角色同步,并跳过 Gitlab 用户的 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
[auth.generic_oauth]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与提供程序的角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过提供程序的用户的组织角色和 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过所有 OAuth 提供程序的组织角色同步,并跳过提供程序的用户的 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
[auth.okta]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 可修改 |
---|---|---|---|
false | false | 将用户组织角色与 Okta 角色同步。如果未提供角色,则设置 auto_assign_org_role 。 | false |
true | false | 跳过所有 OAuth 提供程序的用户的组织角色同步。角色设置为 auto_assign_org_role 。 | true |
false | true | 跳过 Okta 用户的组织角色和 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
true | true | 跳过所有 OAuth 提供程序的组织角色同步,并跳过 Okta 用户的 Grafana 管理员同步。角色设置为 auto_assign_org_role 。 | true |
Example skip_org_role_sync
[auth.google]
oauth_skip_org_role_update_sync | skip_org_role_sync | 生成的组织角色 | 示例场景 |
---|---|---|---|
false | false | 与 Google Auth 组织角色同步 | 用户使用其 Google 帐户登录 Grafana,其组织角色根据其在 Google 中的角色自动设置。 |
true | false | 跳过所有 OAuth 提供程序的组织角色同步 | 用户使用其 Google 帐户登录 Grafana,其组织角色不根据其角色设置。但 Grafana 管理员可以从 UI 修改角色。 |
false | true | 跳过 Google 的组织角色同步 | 用户使用其 Google 帐户登录 Grafana,其组织角色不根据其在 Google 中的角色设置。但 Grafana 管理员可以从 UI 修改角色。 |
true | true | 跳过包括 Google 在内的所有 OAuth 提供程序的组织角色同步 | 用户使用其 Google 帐户登录 Grafana,其组织角色不根据其在 Google 中的角色设置。但 Grafana 管理员可以从 UI 修改角色。 |
api_key_max_seconds_to_live
API 密钥在过期之前的最长秒数限制。默认值为 -1(无限制)。
sigv4_auth_enabled
设置为 true
可为基于 HTTP 的数据源启用 AWS Signature Version 4 Authentication 选项。默认值为 false
。
sigv4_verbose_logging
当启用 AWS Signature Version 4 Authentication 时,设置为 true
可启用详细请求签名日志记录。默认值为 false
。
managed_service_accounts_enabled
仅在 Grafana 11.3+ 中可用。
设置为 true
可启用托管服务帐户用于插件身份验证。默认值为 false
。
限制: 此功能目前仅支持单组织部署。插件的服务帐户在默认组织中自动创建。这意味着插件只能访问该特定组织内的数据和资源。
[auth.anonymous]
有关详细说明,请参阅 匿名身份验证。
[auth.github]
有关详细说明,请参阅 GitHub OAuth2 身份验证。
[auth.gitlab]
有关详细说明,请参阅 Gitlab OAuth2 身份验证。
[auth.google]
有关详细说明,请参阅 Google OAuth2 身份验证。
[auth.grafananet]
旧版密钥名称,仍保留在配置文件中,以便它们在环境变量中工作。
[auth.grafana_com]
旧版密钥名称,仍保留在配置文件中,以便它们在环境变量中工作。
[auth.azuread]
有关详细说明,请参阅 Azure AD OAuth2 身份验证。
[auth.okta]
有关详细说明,请参阅 Okta OAuth2 身份验证。
[auth.generic_oauth]
有关详细说明,请参阅 通用 OAuth 身份验证。
[auth.basic]
有关详细说明,请参阅 基本身份验证。
[auth.proxy]
有关详细说明,请参阅 Auth proxy 身份验证。
[auth.ldap]
有关详细说明,请参阅 LDAP 身份验证。
[aws]
您可以配置核心和外部 AWS 插件。
allowed_auth_providers
指定 AWS 插件允许哪些身份验证提供程序。有关允许的提供程序列表,请参阅给定插件的数据源配置页面。如果您通过配置配置插件,则仅允许 allowed_auth_providers
中指定的提供程序。
选项:default
(AWS SDK 默认值)、keys
(访问密钥和私有密钥)、credentials
(凭证文件)、ec2_iam_role
(EC2 IAM 角色)
assume_role_enabled
设置为 false
可禁用 AWS 身份验证,使其不使用具有临时安全凭证的承担角色。有关承担角色的详细信息,请参阅有关 AssumeRole 操作的 AWS API 参考文档。
如果禁用此选项,则从 AWS 数据源配置页面中删除承担角色和外部 ID 字段。如果使用配置配置插件,则只要 assume_role_enabled
设置为 true
,就可以使用承担角色。
list_metrics_page_limit
使用 List Metrics API 选项加载 CloudWatch 数据源中自定义命名空间的指标。默认情况下,页面限制为 500。
[azure]
当 Grafana 托管在 Azure 云中时,它支持与 Azure 服务的其他集成。
cloud
Grafana 托管所在的 Azure 云环境
Azure 云 | 值 |
---|---|
Microsoft Azure 公有云 | AzureCloud (默认) |
Microsoft 中国国家云 | AzureChinaCloud |
美国政府云 | AzureUSGovernment |
Microsoft 德国国家云(“黑森林”) | AzureGermanCloud |
clouds_config
JSON 配置定义了在自定义 Azure 环境中托管时 Azure 云及其关联属性的列表。
例如
clouds_config = `[
{
"name":"CustomCloud1",
"displayName":"Custom Cloud 1",
"aadAuthority":"https://login.cloud1.contoso.com/",
"properties":{
"azureDataExplorerSuffix": ".kusto.windows.cloud1.contoso.com",
"logAnalytics": "https://api.loganalytics.cloud1.contoso.com",
"portal": "https://portal.azure.cloud1.contoso.com",
"prometheusResourceId": "https://prometheus.monitor.azure.cloud1.contoso.com",
"resourceManager": "https://management.azure.cloud1.contoso.com"
}
}]`
managed_identity_enabled
指定是否为配置了托管身份的 Azure 服务中托管的 Grafana 启用托管身份(例如 Azure 虚拟机实例)。默认情况下禁用,需要显式启用。
managed_identity_client_id
用于用户分配的托管身份的客户端 ID。
应为用户分配的身份设置,对于系统分配的身份应为空。
workload_identity_enabled
指定是否应在支持 Azure AD 工作负载身份的数据源中启用 Azure AD 工作负载身份验证。
有关 Azure AD 工作负载身份的更多文档,请查看 Azure AD 工作负载身份 文档。
默认情况下禁用,需要显式启用。
workload_identity_tenant_id
Azure AD 工作负载身份的租户 ID。
允许覆盖与 Kubernetes 服务帐户关联的 Azure AD 身份的默认租户 ID。
workload_identity_client_id
Azure AD 工作负载身份的客户端 ID。
允许覆盖与 Kubernetes 服务帐户关联的 Azure AD 身份的默认客户端 ID。
workload_identity_token_file
Azure AD 工作负载身份的令牌文件的自定义路径。
允许设置投影服务帐户令牌文件的自定义路径。
user_identity_enabled
指定是否应在支持用户身份验证的数据源中启用用户身份验证(代表当前登录用户)(需要 AAD 身份验证)。
默认情况下禁用,需要显式启用。
user_identity_fallback_credentials_enabled
指定是否应在数据源中启用用户身份验证回退凭据。启用此功能后,数据源创建者可以为后端发起的请求(例如警报、记录的查询等)提供回退凭据。
默认情况下启用,需要显式禁用。如果禁用用户身份验证,则此设置无效。
user_identity_token_url
覆盖 Azure Active Directory 的令牌 URL。
默认情况下,与为 AAD 身份验证设置配置的令牌 URL 相同。
user_identity_client_id
覆盖 ADD 应用程序 ID,该 ID 将用于将用户令牌交换为数据源的访问令牌。
默认情况下,与 AAD 身份验证中使用的 ID 相同,或者可以设置为另一个应用程序(用于 OBO 流)。
user_identity_client_secret
覆盖 AAD 应用程序客户端密钥。
默认情况下,与 AAD 身份验证中使用的 ID 相同,或者可以设置为另一个应用程序(用于 OBO 流)。
forward_settings_to_plugins
设置将通过插件上下文接收 Azure 设置的插件。
默认情况下,这将包括所有 Grafana Labs 拥有的 Azure 插件或使用 Azure 设置的插件(Azure Monitor、Azure Data Explorer、Prometheus、MSSQL)。
azure_entra_password_credentials_enabled
指定 Entra 密码身份验证是否可用于 MSSQL 数据源。不建议使用此身份验证,启用前应谨慎考虑。
默认情况下禁用,需要显式启用。
[auth.jwt]
有关更多信息,请参阅 JWT 身份验证。
[smtp]
电子邮件服务器设置。
enabled
启用此项以允许 Grafana 发送电子邮件。默认为 false
。
host
默认为 localhost:25
。对于隐式 TLS,请使用端口 465。
user
如果使用 SMTP 身份验证,则默认为 empty
。
password
如果使用 SMTP 身份验证,则默认为 empty
。如果密码包含 #
或 ;
,则必须使用三引号将其括起来。示例:“”"#password;"""
cert_file
证书文件的文件路径,默认为 empty
。
key_file
密钥文件的文件路径,默认为 empty
。
skip_verify
验证 SMTP 服务器的 SSL,默认为 false
。
from_address
发送电子邮件时使用的地址,默认为 [email protected]
。
from_name
发送电子邮件时使用的名称,默认为 Grafana
。
ehlo_identity
在 SMTP 对话中用作客户端身份的名称,默认为 <instance_name>
。
startTLS_policy
可以是 “OpportunisticStartTLS”、“MandatoryStartTLS” 或 “NoStartTLS”。默认为 empty
。
enable_tracing
在电子邮件标头中启用跟踪传播,使用 traceparent
、tracestate
和(可选)baggage
字段。默认为 false
。要启用,您必须首先在 tracing.opentelemetry.*
部分之一中配置跟踪。
[smtp.static_headers]
在它们自己的行中输入键值对,以作为传出电子邮件的标头包含在内。所有键都必须采用规范的邮件标头格式。示例:Foo=bar
、Foo-Header=bar
。
[emails]
welcome_email_on_sign_up
默认为 false
。
templates_pattern
输入以逗号分隔的模板模式列表。默认为 emails/*.html, emails/*.txt
。
content_types
输入以逗号分隔的内容类型列表,这些内容类型应包含在发送的电子邮件中。按降序偏好列出内容类型,例如 text/html, text/plain
表示 HTML 是最首选的。部件的顺序很重要,因为邮件客户端将使用发送者支持且最首选的内容类型。支持的内容类型为 text/html
和 text/plain
。默认为 text/html
。
[log]
Grafana 日志记录选项。
mode
选项为 “console”、“file” 和 “syslog”。默认为 “console” 和 “file”。使用空格分隔多个模式,例如 console file
。
level
选项为 “debug”、“info”、“warn”、“error” 和 “critical”。默认为 info
。
filters
为特定记录器设置不同级别的可选设置。例如:filters = sqlstore:debug
user_facing_default_error
使用此配置选项设置向用户显示的默认错误消息。此消息将代替敏感的后端错误显示,这些错误应该被混淆处理。默认消息为 Please inspect the Grafana server log for details.
。
[log.console]
仅当在 [log]
模式下使用 “console” 时适用。
level
选项为 “debug”、“info”、“warn”、“error” 和 “critical”。默认值继承自 [log]
级别。
format
日志行格式,有效选项为 text、console 和 json。默认为 console
。
[log.file]
仅当在 [log]
模式下使用 “file” 时适用。
level
选项为 “debug”、“info”、“warn”、“error” 和 “critical”。默认值继承自 [log]
级别。
format
日志行格式,有效选项为 text、console 和 json。默认为 text
。
log_rotate
启用自动日志轮换,有效选项为 false
或 true
。默认为 true
。启用后,使用 max_lines
、max_size_shift
、daily_rotate
和 max_days
配置日志轮换的行为。
max_lines
轮换前每个文件的最大行数。默认为 1000000
。
max_size_shift
轮换前文件的最大大小。默认为 28
,这意味着 1 << 28
,256MB
。
daily_rotate
启用文件的每日轮换,有效选项为 false
或 true
。默认为 true
。
max_days
保留日志文件的最大天数。默认为 7
。
[log.syslog]
仅当在 [log]
模式下使用 “syslog” 时适用。
level
选项为 “debug”、“info”、“warn”、“error” 和 “critical”。默认值继承自 [log]
级别。
format
日志行格式,有效选项为 text、console 和 json。默认为 text
。
network and address
Syslog 网络类型和地址。可以是 UDP、TCP 或 UNIX。如果留空,则使用默认的 UNIX 端点。
facility
Syslog facility。有效选项为 user、daemon 或 local0 到 local7。默认为空。
tag
Syslog 标签。默认情况下,使用进程的 argv[0]
。
[log.frontend]
enabled
Faro javascript 代理已初始化。默认为 false
。
custom_endpoint
自定义 HTTP 端点,用于将 Faro 代理捕获的事件发送到该端点。默认值 /log-grafana-javascript-agent
将事件记录到 stdout。
log_endpoint_requests_per_second_limit
Grafana 后端日志摄取端点 /log-grafana-javascript-agent
每秒强制执行的请求数限制,以延长周期。默认为 3
。
log_endpoint_burst_limit
Grafana 后端日志摄取端点 /log-grafana-javascript-agent
在短时间内接受的最大请求数。默认为 15
。
instrumentations_all_enabled
通过使用 getWebInstrumentations
启用所有 Faro 默认检测。覆盖其他检测标志。
instrumentations_errors_enabled
启用错误检测。仅影响 Grafana Javascript Agent。
instrumentations_console_enabled
启用控制台检测。仅影响 Grafana Javascript Agent。
instrumentations_webvitals_enabled
启用 webvitals 检测。仅影响 Grafana Javascript Agent。
instrumentations_tracing_enabled
启用跟踪检测。仅影响 Grafana Javascript Agent。
api_key
如果 custom_endpoint
需要身份验证,您可以在此处设置 API 密钥。仅与 Grafana Javascript Agent 提供程序相关。
[quota]
将配额设置为 -1
以使其无限制。
enabled
启用使用配额。默认为 false
。
org_user
限制每个组织允许的用户数。默认为 10。
org_dashboard
限制每个组织允许的仪表板数量。默认为 100。
org_data_source
限制每个组织允许的数据源数量。默认为 10。
org_api_key
限制每个组织可以输入的 API 密钥数量。默认为 10。
org_alert_rule
限制每个组织可以输入的警报规则数量。默认为 100。
user_org
限制用户可以创建的组织数量。默认为 10。
global_user
设置用户的全局限制。默认为 -1(无限制)。
global_org
设置可以创建的组织数量的全局限制。默认为 -1(无限制)。
global_dashboard
设置可以创建的仪表板数量的全局限制。默认为 -1(无限制)。
global_api_key
设置可以输入的 API 密钥的全局限制。默认为 -1(无限制)。
global_session
设置一次可以登录的用户数量的全局限制。默认为 -1(无限制)。
global_alert_rule
设置可以创建的警报规则数量的全局限制。默认为 -1(无限制)。
global_correlations
设置可以创建的相关性数量的全局限制。默认为 -1(无限制)。
alerting_rule_evaluation_results
限制每个警报规则的查询评估结果数。如果警报规则的条件查询产生的结果超出此限制,则评估将导致错误。默认为 -1(无限制)。
[unified_alerting]
有关 Grafana 警报的更多信息,请参阅 Grafana 警报。
enabled
启用或禁用 Grafana 警报。默认值为 true
。
从仪表板和面板迁移的警报规则将通过 annotations
包含返回链接。
disabled_orgs
要禁用 Grafana 8 统一警报的组织 ID 的逗号分隔列表。
admin_config_poll_interval
指定轮询管理员配置更改的频率。默认值为 60s
。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
alertmanager_config_poll_interval
指定轮询 Alertmanager 配置更改的频率。默认值为 60s
。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
ha_redis_address
应连接到的 Redis 服务器地址。
注意
有关 Redis 的更多信息,请参阅 使用 Redis 启用警报高可用性。
ha_redis_username
应用于 Redis 服务器身份验证的用户名。
ha_redis_password
应用于 Redis 服务器身份验证的密码。
ha_redis_db
Redis 数据库。默认值为 0
。
ha_redis_prefix
用作在 Redis 服务器上创建的每个键或通道的前缀,作为警报 HA 的一部分。
ha_redis_peer_name
将用作标识符的集群对等节点的名称。如果未提供,将随机生成一个。
ha_redis_max_conns
同时 Redis 连接的最大数量。
ha_listen_address
侦听 IP 地址和端口以接收其他 Grafana 实例的统一警报消息。该端口同时用于 TCP 和 UDP。假设其他 Grafana 实例也运行在同一端口上。默认值为 0.0.0.0:9094
。
ha_advertise_address
显式 IP 地址和端口以通告其他 Grafana 实例。该端口同时用于 TCP 和 UDP。
ha_peers
将形成 HA 集群的初始实例(格式为 host:port)的逗号分隔列表。配置此设置将为警报启用高可用性模式。
ha_peer_timeout
等待实例通过 Alertmanager 发送通知的时间。在 HA 中,每个 Grafana 实例都将被分配一个位置(例如 0、1)。然后,我们将此位置乘以超时时间,以指示每个实例应等待多长时间才能发送通知,以考虑复制延迟。默认值为 15s
。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
ha_label
标签是一个可选字符串,包含在每个数据包和流中。它唯一标识集群,并防止在具有多个集群的环境中发送 gossip 消息时出现跨通信问题。
ha_gossip_interval
发送 gossip 消息的间隔。通过降低此值(更频繁),gossip 消息在集群中传播得更快,但会增加带宽使用量。默认值为 200ms
。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
ha_reconnect_timeout
尝试重新连接到丢失的对等节点的时间长度。在 Kubernetes 集群中运行 Grafana 时,将此持续时间设置为小于 15m
。
该字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30s
或 1m
。
ha_push_pull_interval
gossip 完全状态同步之间的间隔。将此间隔设置得较低(更频繁)将提高较大集群的收敛速度,但会增加带宽使用量。默认值为 60s
。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
execute_alerts
启用或禁用警报规则执行。默认值为 true
。警报 UI 仍然可见。
evaluation_timeout
设置从数据源获取数据时的警报评估超时时间。默认值为 30s
。
超时字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
max_attempts
设置在放弃评估之前尝试评估警报规则的最大次数。默认值为 1
。
min_interval
设置在规则评估之间强制执行的最小间隔。默认值为 10s
,等于调度程序间隔。如果规则频率低于此值或不是调度程序间隔 (10s) 的倍数,则将调整规则。较高的值有助于资源管理,因为随着时间的推移,我们将安排较少的评估。
间隔字符串是可能带符号的十进制数字序列,后跟单位后缀(ms、s、m、h、d),例如 30 秒或 1 分钟。
注意。 此设置优先于每个单独的规则频率。如果规则频率低于此值,则强制执行此值。
[unified_alerting.screenshots]
有关屏幕截图的更多信息,请参阅 通知中的图像。
capture
在通知中启用屏幕截图。此选项需要远程 HTTP 图像渲染服务。有关更多配置选项,请参阅 [rendering]
。
capture_timeout
捕获屏幕截图的超时时间。如果在超时时间内无法捕获屏幕截图,则会在不包含屏幕截图的情况下发送通知。最大持续时间为 30 秒。此超时时间应小于所有评估组的最小间隔,以避免警报规则评估的背压。
max_concurrent_screenshots
可以同时拍摄的最大屏幕截图数量。此选项与 concurrent_render_request_limit
不同,因为 max_concurrent_screenshots
设置可以同时为所有触发警报拍摄的并发屏幕截图数量,而 concurrent_render_request_limit 设置所有 Grafana 服务中并发屏幕截图的总数。
upload_external_image_storage
将屏幕截图上传到本地 Grafana 服务器或远程存储,例如 Azure、S3 和 GCS。有关更多配置选项,请参阅 [external_image_storage]
。如果此选项为 false,则屏幕截图将持久化到磁盘,最长为 temp_data_lifetime
。
[unified_alerting.reserved_labels]
有关 Grafana 保留标签的更多信息,请参阅 Grafana 警报中的标签
disabled_labels
应禁用的 Grafana 警报引擎添加的保留标签的逗号分隔列表。
例如:disabled_labels=grafana_folder
[unified_alerting.state_history.annotations]
当警报状态历史记录后端配置为注释时(请参阅设置 [unified_alerting.state_history].backend),本节控制评估警报规则时自动创建的注释的保留
max_age
配置警报注释的存储时长。默认为 0,表示永久保留。此设置应表示为持续时间。例如 6 小时(小时)、10 天(天)、2 周(周)、1 个月(月)。
max_annotations_to_keep
配置 Grafana 存储的最大警报注释数量。默认值为 0,表示保留所有警报注释。
[annotations]
cleanupjob_batchsize
配置注释清理作业的批处理大小。此设置用于仪表板、API 和警报注释。
tags_length
强制执行任何新引入的注释允许的最大标签数量。此值可以在 500 到 4096 之间(含 500 和 4096)。默认值为 500。将其设置为更高的值会影响性能,因此不建议这样做。
[annotations.dashboard]
仪表板注释意味着注释与创建它们的仪表板相关联。
max_age
配置仪表板注释的存储时长。默认为 0,表示永久保留。此设置应表示为持续时间。示例:6 小时(小时)、10 天(天)、2 周(周)、1 个月(月)。
max_annotations_to_keep
配置 Grafana 存储的最大仪表板注释数量。默认值为 0,表示保留所有仪表板注释。
[annotations.api]
API 注释意味着注释是使用 API 创建的,与任何仪表板无关。
max_age
配置 Grafana 存储 API 注释的时长。默认为 0,表示永久保留。此设置应表示为持续时间。示例:6 小时(小时)、10 天(天)、2 周(周)、1 个月(月)。
max_annotations_to_keep
配置 Grafana 保留的最大 API 注释数量。默认值为 0,表示保留所有 API 注释。
[explore]
有关此功能的更多信息,请参阅 Explore。
enabled
启用或禁用 Explore 部分。默认为 enabled
。
defaultTimeOffset
在时间选择器上设置距现在的默认时间偏移量。默认为 1 小时。此设置应表示为持续时间。示例:1 小时(小时)、1 天(天)、1 周(周)、1 个月(月)。
[help]
配置帮助部分。
enabled
启用或禁用帮助部分。默认为 enabled
。
[profile]
配置 Profile 部分。
enabled
启用或禁用 Profile 部分。默认为 enabled
。
[news]
news_feed_enabled
启用新闻源部分。默认为 true
[query]
concurrent_query_limit
设置混合数据源面板中可以并发执行的查询数量。默认为 CPU 数量。
[query_history]
在 Explore 中配置查询历史记录。
enabled
启用或禁用查询历史记录。默认为 enabled
。
[short_links]
围绕短链接功能配置设置。
expire_time
从未访问过的短链接被视为已过期或过时,将在清理时删除。以天为单位设置过期时间。默认为 7
天。最大值为 365
天,设置高于最大值将改为设置 365
。设置 0
意味着大约每 10 分钟清理一次短链接。负值(例如 -1
)将禁用过期。
Caution
没有过期时间的短链接会增加数据库的大小,并且无法删除。
[metrics]
有关详细说明,请参阅 内部 Grafana 指标。
enabled
启用指标报告。默认为 true。可通过 HTTP API <URL>/metrics
获得。
interval_seconds
将指标发送到外部 TSDB 时的刷新/写入间隔。默认为 10
。
disable_total_stats
如果设置为 true
,则禁用总统计信息生成(stat_totals_*
指标)。默认为 false
。
total_stats_collector_interval_seconds
设置总统计信息收集器间隔。默认为 1800 秒(30 分钟)。
basic_auth_username and basic_auth_password
如果两者都设置,则访问指标端点需要基本身份验证。
[metrics.environment_info]
向 grafana_environment_info
指标添加维度,这可以公开有关 Grafana 实例的更多信息。
; exampleLabel1 = exampleValue1
; exampleLabel2 = exampleValue2
[metrics.graphite]
如果您想将内部 Grafana 指标发送到 Graphite,请使用这些选项。
address
通过设置地址启用。格式为 <Hostname or ip>
:端口。
prefix
Graphite 指标前缀。默认为 prod.grafana.%(instance_name)s.
[grafana_net]
请参阅 [grafana_com] 配置,因为这是新的首选配置名称。grafana_net 配置仍然被接受并解析为 grafana_com 配置。
[grafana_com]
url
默认为 https://grafana.org.cn。Grafana Cloud 的默认身份验证身份提供程序。
[tracing.jaeger]
[已弃用 - 请改用 tracing.opentelemetry.jaeger 或 tracing.opentelemetry.otlp]
配置 Grafana 的 Jaeger 客户端以进行分布式跟踪。
您还可以使用标准 JAEGER_*
环境变量来配置 Jaeger。有关完整列表,请参阅 https://jaeger.golang.ac.cn/docs/1.16/client-features/ 末尾的表格。环境变量将覆盖此处提供的任何设置。
address
报告 span 的 host:port 目标。(例如:localhost:6831
)
可以使用环境变量 JAEGER_AGENT_HOST
和 JAEGER_AGENT_PORT
设置。
always_included_tag
要包含在所有新 span 中的标签的逗号分隔列表,例如 tag1:value1,tag2:value2
。
可以使用环境变量 JAEGER_TAGS
设置(对于环境变量,请使用 =
而不是 :
)。
sampler_type
默认值为 const
。
指定采样器类型:const
、probabilistic
、ratelimiting
或 remote
。
有关不同跟踪类型的详细信息,请参阅 https://jaeger.golang.ac.cn/docs/1.16/sampling/#client-sampling-configuration。
可以使用环境变量 JAEGER_SAMPLER_TYPE
设置。
要覆盖此设置,请在 tracing.opentelemetry
部分中输入 sampler_type
。
sampler_param
默认值为 1
。
这是采样器配置参数。根据 sampler_type
的值,它可以是 0
、1
或介于两者之间的十进制值。
- 对于
const
采样器,0
或1
分别表示始终false
/true
- 对于
probabilistic
采样器,介于0
和1.0
之间的概率 - 对于
rateLimiting
采样器,每秒 span 数 - 对于
remote
采样器,param 与probabilistic
相同,并指示从母舰接收到实际采样率之前的初始采样率
可以使用环境变量 JAEGER_SAMPLER_PARAM
设置。
在 tracing.opentelemetry
部分中设置 sampler_param
将覆盖此设置。
sampling_server_url
sampling_server_url 是提供采样策略的采样管理器 URL。
在 tracing.opentelemetry
部分中设置 sampling_server_url
将覆盖此设置。
zipkin_propagation
默认值为 false
。
控制是否使用 Zipkin 的 span 传播格式(使用 x-b3-
HTTP 标头)。默认情况下,使用 Jaeger 的格式。
可以使用环境变量和值 JAEGER_PROPAGATION=b3
设置。
disable_shared_zipkin_spans
默认值为 false
。
将此设置为 true
会关闭共享 RPC span。当在您的基础设施中的其他地方使用 Zipkin 时,保留此可用性是最常见的设置。
[tracing.opentelemetry]
配置 OpenTelemetry 提供程序之间共享的常规参数。
custom_attributes
要包含在所有新 span 中的属性的逗号分隔列表,例如 key1:value1,key2:value2
。
可以使用环境变量 OTEL_RESOURCE_ATTRIBUTES
设置或覆盖(对于环境变量,请使用 =
而不是 :
)。服务名称可以使用属性或环境变量 OTEL_SERVICE_NAME
设置或覆盖。
sampler_type
默认值为 const
。
指定采样器类型:const
、probabilistic
、ratelimiting
或 remote
。
sampler_param
默认值为 1
。
根据 sampler_type
的值,采样器配置参数可以是 0
、1
或介于 0
和 1
之间的任何十进制值。
- 对于
const
采样器,使用0
表示从不采样,或使用1
表示始终采样 - 对于
probabilistic
采样器,您可以使用介于0.0
和1.0
之间的十进制值 - 对于
rateLimiting
采样器,输入每秒 span 数 - 对于
remote
采样器,使用介于0.0
和1.0
之间的十进制值来指定从采样服务器收到第一次更新之前使用的初始采样率
sampling_server_url
当 sampler_type
为 remote
时,这指定采样服务器的 URL。这可以被所有跟踪提供程序使用。
使用支持 Jaeger 远程采样 API 的采样服务器,例如 jaeger-agent、jaeger-collector、opentelemetry-collector-contrib 或 Grafana Alloy。
[tracing.opentelemetry.jaeger]
配置 Grafana 的 Jaeger 客户端以进行分布式跟踪。
address
报告 span 的 host:port 目标。(例如:localhost:14268/api/traces
)
propagation
传播指定文本映射传播格式。支持值 jaeger
和 w3c
。在值之间添加逗号 (,
) 以指定多种格式(例如,"jaeger,w3c"
)。默认值为 w3c
。
[tracing.opentelemetry.otlp]
配置 Grafana 的 otlp 客户端以进行分布式跟踪。
address
报告 span 的 host:port 目标。(例如:localhost:4317
)
propagation
传播指定文本映射传播格式。支持值 jaeger
和 w3c
。在值之间添加逗号 (,
) 以指定多种格式(例如,"jaeger,w3c"
)。默认值为 w3c
。
[external_image_storage]
这些选项控制如何公开图像,以便可以在 Slack 或电子邮件消息等服务上共享。
provider
选项为 s3、webdav、gcs、azure_blob、local)。如果留空,则 Grafana 将忽略上传操作。
[external_image_storage.s3]
endpoint
可选端点 URL(主机名或完全限定的 URI)以覆盖默认生成的 S3 端点。如果您想保留默认值,只需将其留空。如果您指定端点,则仍必须提供 region
值。
path_style_access
将此设置为 true 以强制 S3 请求中的路径样式寻址,即 http://s3.amazonaws.com/BUCKET/KEY
,而不是默认值,即尽可能使用虚拟托管存储桶寻址 (http://BUCKET.s3.amazonaws.com/KEY
)。
注意
此选项特定于 Amazon S3 服务。
bucket_url
(为了向后兼容,仅当未配置存储桶或区域时才有效)S3 的存储桶 URL。AWS 区域可以在 URL 中指定,或者默认为 ‘us-east-1’,例如
bucket
S3 的存储桶名称。例如 grafana.snapshot。
region
S3 的区域名称。例如 ‘us-east-1’、‘cn-north-1’ 等。
path
bucket 内的可选额外路径,用于应用到期策略。
access_key
访问密钥,例如 AAAAAAAAAAAAAAAAAAAA。
访问密钥需要对 S3 存储桶具有 ‘s3:PutObject’ 和 ‘s3:PutObjectAcl’ 操作的权限。
secret_key
密钥,例如 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA。
[external_image_storage.webdav]
url
Grafana 向其发送带有图像的 PUT 请求的 URL。
username
基本身份验证用户名。
password
基本身份验证密码。
public_url
要发送给通知中用户的可选 URL。如果字符串包含序列 {{file}}
,则它将被替换为上传的文件名。否则,文件名将附加到 URL 的路径部分,保留任何查询字符串不变。
[external_image_storage.gcs]
key_file
与 Google 服务帐户关联的 JSON 密钥文件的可选路径,用于进行身份验证和授权。如果未提供值,它将尝试使用 应用程序默认凭据。服务帐户密钥可以从 https://console.developers.google.com/permissions/serviceaccounts 创建和下载。
服务帐户应具有“Storage Object Writer”角色。存储桶的访问控制模型需要是“设置对象级和存储桶级权限”。当未启用签名 URL 时,Grafana 本身将使图像公开可读。
bucket
Google Cloud Storage 上的存储桶名称。
path
bucket 内的可选额外路径。
enable_signed_urls
如果设置为 true,Grafana 将为上传到 Google Cloud Storage 的图像创建 签名 URL。
signed_url_expiration
设置签名 URL 过期时间,默认为七天。
[external_image_storage.azure_blob]
account_name
存储帐户名称。
account_key
存储帐户密钥
container_name
用于存储具有随机名称的“Blob”图像的容器名称。需要预先创建 Blob 容器。仅支持公共容器。
sas_token_expiration_days
SAS token 有效期的天数。如果指定,SAS token 将附加到图像 URL。允许在私有容器中存储图像。
[external_image_storage.local]
此选项无需任何配置。
[rendering]
用于配置远程 HTTP 图像渲染服务的选项,例如使用 https://github.com/grafana/grafana-image-renderer。
renderer_token
身份验证令牌将发送到渲染器并由其验证。渲染器将拒绝任何没有与渲染器上配置的令牌匹配的身份验证令牌的请求。
server_url
远程 HTTP 图像渲染服务的 URL,例如 https://127.0.0.1:8081/render,将使 Grafana 能够使用 HTTP 请求向外部服务渲染面板和仪表板为 PNG 图像。
callback_url
如果远程 HTTP 图像渲染服务在与 Grafana 服务器不同的服务器上运行,您可能需要将其配置为 Grafana 可访问的 URL,例如 http://grafana.domain/。
concurrent_render_request_limit
并发渲染请求限制影响何时使用 /render HTTP 端点。同时渲染许多图像可能会使服务器过载,此设置可以通过仅允许一定数量的并发请求来帮助防止这种情况。默认为 30
。
default_image_width
配置渲染图像的宽度。默认宽度为 1000
。
default_image_height
配置渲染图像的高度。默认高度为 500
。
default_image_scale
配置渲染图像的缩放比例。默认缩放比例为 1
。
[panels]
enable_alpha
如果您想测试尚未准备好普遍使用的 alpha 面板,请设置为 true
。默认为 false
。
disable_sanitize_html
注意
此配置在 Grafana Cloud 实例中不可用。
如果设置为 true,Grafana 将允许在文本面板中使用 script 标签。不建议这样做,因为它会启用 XSS 漏洞。默认为 false。
[plugins]
enable_alpha
如果您想测试尚未准备好普遍使用的 alpha 插件,请设置为 true
。默认为 false
。
allow_loading_unsigned_plugins
输入插件标识符的逗号分隔列表,以标识要加载的插件,即使它们是未签名的。具有修改签名的插件永远不会加载。
我们不建议使用此选项。有关更多信息,请参阅 插件签名。
plugin_admin_enabled
仅对 Grafana 管理员可用,允许直接从 Grafana UI 安装/卸载/更新插件。默认设置为 true
。设置为 false
将隐藏安装/卸载/更新控件。
有关更多信息,请参阅 插件目录。
plugin_admin_external_manage_enabled
如果您想启用插件的外部管理,请设置为 true
。默认为 false
。这仅适用于 Grafana Cloud 用户。
plugin_catalog_url
企业插件的自定义安装/了解更多 URL。默认为 https://grafana.org.cn/grafana/plugins/。
plugin_catalog_hidden_plugins
输入插件标识符的逗号分隔列表,以在插件目录中隐藏。
public_key_retrieval_disabled
禁用下载用于验证插件签名的公钥。默认为 false
。如果禁用,它将使用硬编码的公钥。
public_key_retrieval_on_startup
强制在启动时下载用于验证插件签名的公钥。默认为 false
。如果禁用,则每 10 天检索一次公钥。需要将 public_key_retrieval_disabled
设置为 false 才能生效。
disable_plugins
输入插件标识符的逗号分隔列表,以避免加载(包括核心插件)。这些插件将在目录中隐藏。
preinstall
输入要预安装的插件标识符的逗号分隔列表。这些插件将在启动时安装,使用 Grafana 目录作为源。预安装的插件无法从 Grafana 用户界面卸载;需要先从此列表中删除它们。
要将插件固定到特定版本,请使用格式 plugin_id@version
,例如 [email protected]
。如果未指定版本,则安装最新版本。插件会在启动时自动更新到 Grafana 插件目录中可用的最新版本(除了新的主要版本)。
要使用自定义 URL 下载插件,请使用格式 plugin_id@version@url
,例如 [email protected]@https://example.com/grafana-piechart-panel-1.6.0.zip
。
默认情况下,Grafana 预安装一些建议的插件。请查看默认配置文件以获取插件列表。
preinstall_async
默认情况下,插件以异步方式作为后台进程预安装。这意味着 Grafana 将启动更快,但插件可能不会立即可用。如果您需要为配置安装插件,请将此选项设置为 false
。这将导致 Grafana 在启动之前等待插件安装完成(如果插件无法安装则会失败)。
preinstall_disabled
此选项禁用所有预安装的插件。默认为 false
。要禁用特定插件的预安装,请使用 disable_plugins
选项。
[live]
max_connections
max_connections
选项指定每个 Grafana 服务器实例到 Grafana Live WebSocket 端点的最大连接数。默认为 100
。
如果您指定的数字高于默认值,请参阅 Grafana Live 配置文档,因为这可能需要一些操作系统和基础设施调整。
0 禁用 Grafana Live,-1 表示无限制连接。
allowed_origins
allowed_origins
选项是以逗号分隔的附加来源列表(WebSocket 连接建立期间 HTTP 升级请求的 Origin
标头),Grafana Live 将接受这些来源。
如果未设置(默认),则源与 root_url 匹配,这对于大多数情况应该足够了。
源模式支持通配符 “*”。
例如
[live]
allowed_origins = "https://*.example.com"
ha_engine
实验性
Grafana Live 的高可用性 (HA) 引擎名称。默认情况下,未设置。唯一可能的值是 “redis”。
有关更多信息,请参阅 配置 Grafana Live HA 设置。
ha_engine_address
实验性
所选高可用性 (HA) Live 引擎的地址字符串。对于 Redis,它是 host:port
字符串。示例
[live]
ha_engine = redis
ha_engine_address = 127.0.0.1:6379
[plugin.plugin_id]
此部分可用于配置特定于插件的设置。将 plugin_id
属性替换为 plugin.json
中存在的插件 ID。
此部分中描述的属性适用于所有插件,但您必须为每个插件单独设置它们。
tracing
如果为 true
,则将跟踪上下文传播到插件后端并启用跟踪(如果后端支持)。
as_external
如果已安装,则加载核心插件的外部版本。
实验性功能。需要启用功能开关 externalCorePlugins
。
[plugin.grafana-image-renderer]
有关更多信息,请参阅 图像渲染。
rendering_timezone
指示无头浏览器实例在 Grafana 未提供时使用默认时区,例如,在渲染警报的面板图像时。有关支持的时区 ID 列表,请参阅 ICUs metaZones.txt。如果未设置,则回退到 TZ 环境变量。
rendering_language
指示无头浏览器实例在 Grafana 未提供时使用默认语言,例如,在渲染警报的面板图像时。请参阅 HTTP 标头 Accept-Language 以了解如何格式化此值,例如 ‘fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5’。
rendering_viewport_device_scale_factor
指示无头浏览器实例在 Grafana 未提供时使用默认设备缩放因子,例如,在渲染警报的面板图像时。默认为 1
。使用更高的值将生成更详细的图像(更高的 DPI),但需要更多磁盘空间来存储图像。
rendering_ignore_https_errors
指示无头浏览器实例是否在导航期间忽略 HTTPS 错误。默认情况下,HTTPS 错误不会被忽略。由于存在安全风险,我们不建议您忽略 HTTPS 错误。
rendering_verbose_logging
指示无头浏览器实例是否在渲染图像时捕获并记录详细信息。默认为 false
,并且仅捕获并记录错误消息。
启用后,也会捕获并记录调试消息。
要将详细信息包含在 Grafana 服务器日志中,您必须将渲染日志级别调整为 debug,配置 [log].filter = rendering:debug。
rendering_dumpio
指示无头浏览器实例是否将其调试和错误消息输出到远程渲染服务的运行进程中。默认为 false
。
在进行故障排除时,将其设置为 true
可能很有用。
rendering_timing_metrics
注意: 从 grafana-image-renderer v3.9.0+ 版本开始可用
指示无头浏览器实例是否记录每个渲染步骤持续时间的指标。默认为 false
。
在优化渲染模式设置以提高插件性能或进行故障排除时,将其设置为 true
可能很有用。
rendering_args
要传递给无头浏览器实例的其他参数。默认为 --no-sandbox,--disable-gpu
。Chromium 标志列表可以在 (https://peter.sh/experiments/chromium-command-line-switches/) 中找到。用逗号分隔多个参数。
rendering_chrome_bin
您可以配置插件以使用不同的浏览器二进制文件,而不是预打包版本的 Chromium。
请注意,不建议这样做。如果安装的 Chrome/Chromium 版本与插件不兼容,您可能会遇到问题。
rendering_mode
指示如何创建无头浏览器实例。默认为 default
,将在每个请求上创建一个新的浏览器实例。
模式 clustered
将确保只有最大数量的浏览器/隐身页面可以并发执行。
模式 reusable
将只有一个浏览器实例,并在每个请求上创建一个新的隐身页面。
rendering_clustering_mode
当 rendering_mode = clustered 时,您可以指示可以并发执行多少个浏览器或隐身页面。默认为 browser
,并将使用浏览器实例进行集群。
模式 context
将使用隐身页面进行集群。
rendering_clustering_max_concurrency
当 rendering_mode = clustered 时,您可以定义可以并发执行的最大浏览器实例/隐身页面数。默认为 5
。
rendering_clustering_timeout
注意
在 grafana-image-renderer v3.3.0 及更高版本中可用。
当 rendering_mode = clustered 时,您可以指定渲染请求在超时之前可以持续的时间。默认为 30
秒。
rendering_viewport_max_width
限制可以请求的最大视口宽度。
rendering_viewport_max_height
限制可以请求的最大视口高度。
rendering_viewport_max_device_scale_factor
限制可以请求的最大视口设备缩放因子。
grpc_host
更改 gRPC 服务器的监听主机。默认主机为 127.0.0.1
。
grpc_port
更改 gRPC 服务器的监听端口。默认端口为 0
,并将自动分配一个未使用的端口。
[enterprise]
有关 Grafana Enterprise 的更多信息,请参阅 Grafana Enterprise。
[feature_toggles]
enable
要启用的功能的键,用空格分隔。
FEATURE_TOGGLE_NAME = false
某些稳定功能的功能开关默认处于启用状态。使用此设置禁用名为 FEATURE_TOGGLE_NAME 的默认启用功能开关,例如 exploreMixedDatasource = false
。
[feature_management]
此部分中的选项配置实验性的功能开关管理页面功能,该功能通过 featureToggleAdminPage
功能开关启用。Grafana Labs 在尽力而为的基础上提供支持,并且在功能正式发布之前可能会发生重大更改。
有关更多信息,请参阅 配置功能开关。
allow_editing
允许您在功能管理页面中切换功能开关状态。默认为 false
。
update_webhook
设置管理功能开关更新的控制器的 URL。如果未设置,则功能管理页面中的功能开关将为只读。
注意
功能开关更新的 API 尚未定义。
hidden_toggles
从功能管理页面隐藏其他特定功能开关。默认情况下,unknown
、experimental
和 private preview
阶段的功能开关在 UI 中是隐藏的。使用此选项可以隐藏 public preview
、general availability
和 deprecated
阶段的开关。
read_only_toggles
用于禁用功能管理页面中其他特定功能开关的更新。默认情况下,只有 general availability
和 deprecated
阶段的功能开关可以更新。使用此选项可以禁用这些阶段的开关的更新。
[date_formats]
此部分控制用于时间范围、图形和日期输入框的日期格式的系统范围默认值。
格式模式使用 Moment.js 格式化令牌。
full_date
时间范围选择器和渲染完整日期的其他位置使用的完整日期格式。
intervals
这些间隔格式用于在图形中仅显示部分日期或时间。例如,如果 Y 轴刻度标签之间只有分钟,则使用 interval_minute
格式。
默认值
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
use_browser_locale
设置为 true
以使日期格式自动从您的浏览器位置派生。默认为 false
。这是一项实验性功能。
default_timezone
用作用户首选项的默认时区。可以是 browser
(浏览器本地时区)或来自 IANA 时区数据库的时区名称,例如 UTC
或 Europe/Amsterdam
。
default_week_start
设置一周的默认开始日,有效值为:saturday
、sunday
、monday
或 browser
(使用浏览器区域设置来定义一周的第一天)。默认为 browser
。
[expressions]
enabled
设置为 false
以禁用表达式并在 Grafana UI 中隐藏它们。默认为 true
。
[geomap]
此部分控制 Geomap 插件的默认设置。
default_baselayer_config
用于定义默认底图的 json 配置。有四个底图选项可供选择:carto
、esriXYZTiles
、xyzTiles
、standard
。例如,要将 cartoDB light 设置为默认底图
default_baselayer_config = `{
"type": "xyz",
"config": {
"attribution": "Open street map",
"url": "https://tile.openstreetmap.org/{z}/{x}/{y}.png"
}
}`
enable_custom_baselayers
设置为 false
以禁用加载其他自定义底图并在 Grafana UI 中隐藏它们。默认为 true
。
[rbac]
有关更多信息,请参阅 基于角色的访问控制。
[navigation.app_sections]
将应用程序插件(由其 ID 引用)及其所有页面移动到特定的导航部分。格式:<pluginId> = <sectionId> <sortWeight>
[navigation.app_standalone_pages]
将单个应用程序插件页面(由其 path
字段引用)移动到特定的导航部分。格式:<pageUrl> = <sectionId> <sortWeight>
[public_dashboards]
此部分配置 共享仪表板 功能。
enabled
设置为 false
以禁用共享仪表板功能。这会阻止用户创建新的共享仪表板并禁用现有的仪表板。