配置
Grafana后端有许多配置选项,可以在.ini
配置文件中指定或使用环境变量指定。
注意,需要重新启动Grafana才能使任何配置更改生效。
.ini文件中的注释
分号(;
字符)是注释掉.ini
文件中的行的标准方法。
一个常见的问题是忘记取消注释custom.ini
(或grafana.ini
)文件中的一行,这会导致忽略配置选项。
配置文件位置
- 默认配置来自
$WORKING_DIR/conf/defaults.ini
- 自定义配置来自
$WORKING_DIR/conf/custom.ini
- 可以使用
--config
参数覆盖自定义配置文件路径
注意,如果你使用deb
或rpm
软件包安装了Grafana,那么你的配置文件位于/etc/grafana/grafana.ini
,此路径使用--config
文件参数在Grafanainit.d
脚本中指定。
使用环境变量
可以使用以下语法使用环境变量覆盖配置文件(下面列出)中的所有选项:
GF_<SectionName>_<KeyName>
SectionName是括号内的文本,所有都应该是大写的,.
应该替换为_
。例如,给定这些配置设置:
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = 0ldS3cretKey
然后你可以使用以下方法覆盖它:
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
instance_name
设置grafana-server实例的名称,用于记录和内部指标以及群集信息,默认为:${HOSTNAME}
,将替换为环境变量HOSTNAME
,如果它是空的或不存在,Grafana将尝试使用系统调用来获取机器名称。
[paths]
data
Grafana存储sqlite3数据库(如果使用),基于文件的会话(如果使用)和其他数据的路径,此路径通常通过init.d脚本或systemd服务文件中的命令行指定。
temp_data_lifetime
应保留data
目录中的临时镜像多长时间,默认为:24h
。支持的修饰符:h
(小时),m
(分钟),例如:168h
,30m
,10h30m
,使用0
从不清理临时文件。
logs
Grafana将存储日志的路径,此路径通常通过init.d脚本或systemd服务文件中的命令行指定,它可以在配置文件或默认环境变量文件中重写。
plugins
grafana将自动扫描并查找插件的目录。
provisioning
包含grafana在启动时应用的Provisioning配置文件的文件夹,当json文件更改时,将重新加载仪表盘。
[server]
http_addr
要绑定的IP地址,如果为空将绑定到所有接口。
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
另一种方法是将一个像Nginx或Apache这样的网络服务器放在Grafana面前,让他们向Grafana提出代理请求。
protocol
http
或https
注意早于3.0的Grafana版本容易受到POODLE的攻击,所以我们强烈建议升级到3.x或为ssl终端使用反向代理。
domain
此设置仅用作root_url
设置的一部分(参见下文),如果你使用GitHub或Google OAuth,则很重要。
enforce_domain
如果主机header与域不匹配,则重定向到正确的域,防止DNS重新绑定攻击,默认值为false。
root_url
这是用于从Web浏览器访问Grafana的完整URL,如果您使用Google或GitHub OAuth身份验证(以使回调网址正确),这一点很重要。
注意如果Grafana前面有一个反向代理通过子路径公开它,则此设置也很重要,在这种情况下,将子路径添加到此URL设置的末尾。
static_root_path
前端文件(HTML,JS和CSS文件)所在目录的路径,默认为public
,这就是为什么需要在将工作目录设置为安装路径的情况下执行Grafana二进制文件的原因。
cert_file
证书文件的路径(如果协议设置为https)。
cert_key
证书密钥文件的路径(如果协议设置为https)。
router_logging
为Grafana设置为true以记录所有HTTP请求(而不仅仅是错误),这些被记录为Info级别事件到grafana日志。
[database]
Grafana需要一个数据库来存储用户和仪表盘(以及其他东西),默认情况下,它配置为使用sqlite3
,这是一个嵌入式数据库(包含在主Grafana二进制文件中)。
url
使用以下URL或其他字段配置数据库示例:
mysql://user:secret@host:port/database
type
无论是mysql
,postgres
还是sqlite3
,都是你的选择。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。