Configuration
Grafana后端有很多配置选项,可以在.ini
配置文件或者通过环境变量指定。
.ini文件的注释
分号(;)是.ini
文件中标准的注释行的方式。
一个常见的问题就是忘记在custom.ini
或者grafana.ini
文件中取消注释行,这会导致配置项被忽略,不起作用。
配置文件位置
-
默认配置文件是在$WORKING_DIR/conf/defaults.ini
-
用户配置文件是在$WORKING_DIR/conf/custom.ini
-
用户配置文件中的配置信息可以被启动参数 --config参数覆盖。
注意 如果使用deb或者rpm包安装Grafana,那么配置文件位于/etc/grafana/grafana.ini。这个路径是在Grafana的init.d脚本中使用--config参数指定的。
使用环境变量
所有如下在配置文件中的选项都可以使用环境变量覆盖,环境变量遵循如下规则:
GF_<SectionName>_<KeyName>
SectionName(选项名)是在括号(中括号[])中的文本。所有信息都需要大写,.应该使用_替代。例如如下的配置:
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = oldS3cretKey
那么就可以使用如下的环境变量覆盖这些配置:
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN+USER=admin
export GF_AUTH_GOOGLE_CLIENT_SECRET=oldS3cretKey
instance_name
设置grafana-server实例的名称。在日志记录、内置度量、集群信息中会被使用到。默认值是${HOSTNAME}
,即实例名称这可以使用系统变量HOSTNAME
来替换。如果获得是是空值或者不存在,Grafana将尝试使用系统调用来获取机器名称。
[paths]
data
Grafana存储sqlite3数据库文件的位置(如果已使用),sessions文件(如果已使用)以及其他数据。该路径通常在init.d脚本或者systemd服务文件在命令行中指定。
temp_data-lifetime
在data
目录中的临时副本需要保存多久。默认是24h
。支持的模式有h
(hours),m
(minutes),例如168h
,30m
,10h30m
。使用0
表示永久保存。
logs
Grafana存储log的路径,该路径通常在init.d脚本或者systemd服务文件在命令行中指定。可以通过配置文件或者默认环境变量文件中覆盖。
plugins
Grafana自动搜索和查找插件的目录
provisioning
包含Grafana在启动时使用的提供配置文件的文件件。当json文件变化是仪表盘将被重新加载。
[server]
http_addr
Grafana服务器将要绑定的ip地址,如果是空值则绑定所有的网卡接口。
http_port
Grafana服务器将要绑定的端口,默认是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。
protocal
http
or https
注意 Grafana 3.0之前的版本易受POODLE的影响,所以强烈建议升级到3.x或者使用反向代理来终止ssl
domain
该设置只会作为root_url
设置的一部分。如果使用了GitHub或者Google 的OAuth这这将很重要。
enforce_domain
如果主机头(host header)没有匹配域则重定向到正确的域。防止DNS重新绑定攻击。默认为false。
root_url
这是从web浏览器访问Grafana使用的完整的url。如果使用Google或者GitHub 的OAuth授权将非常重要(需要确保回调url的正确性)。
注意 如果在Grafana之前使用反向代理,并通过子路径暴露出去,该设置也很重要。此时,子路径将被添加到此url的末尾。
static_root_path
该路径指向前端文件(HTML,JS, CSS)的目录默认指向public
目录,这就是为什么二进制Grafana执行时需要把工作目录设置为安装目录的原因。
cert_file
证书文件的路径(如果protocal
设置为https
)
cert_key
证书秘钥文件的路径(如果protocal
设置为https
)
router_logging
设置为true则记录Grafana所有的http请求(不仅仅是错误)。这也就是说grafana日志的level设置为info。
[database]
Grafana需要一个数据库来粗出用户、仪表盘等其他信息。默认配置是使用sqlite3
,是一个嵌入式数据库(包含在Grafana的二进制文件中)。
url
使用url或者下面的其他字段来配置数据库。例如:
mysql://user:secret@host:port/database
type
可以为mysql
,postgres
或者sqlite3
。自行决定
path
只适用于sqlite3
数据库。数据库文件的存储路径。
host
只适用于mysql或者postgres。包括ip地址或者域名和端口号。例如,mysql和grafana在同一台机器上运行:
host = 127.0.0.1:3306
name
Grafana数据库的名称。一般使用grafana
或者其他名字。
user
数据库用户(不适用于sqlite3
)
password
数据库用户的密码(不适用于sqlite3)。如果密码包含#或者;则必须使用双引号,如
"""#123456;"""
网友评论