Configuration
Grafana后端有很多配置選項,可以在.ini
配置文件或者通過環(huán)境變量指定。
.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參數指定的握恳。
使用環(huán)境變量
所有如下在配置文件中的選項都可以使用環(huán)境變量覆蓋,環(huán)境變量遵循如下規(guī)則:
GF_<SectionName>_<KeyName>
SectionName(選項名)是在括號(中括號[])中的文本捺僻。所有信息都需要大寫乡洼,.應該使用_替代。例如如下的配置:
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = oldS3cretKey
那么就可以使用如下的環(huán)境變量覆蓋這些配置:
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}
,即實例名稱這可以使用系統(tǒng)變量HOSTNAME
來替換锹雏。如果獲得是是空值或者不存在,Grafana將嘗試使用系統(tǒng)調用來獲取機器名稱术奖。
[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服務文件在命令行中指定然走。可以通過配置文件或者默認環(huán)境變量文件中覆蓋戏挡。
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執(zhí)行時需要把工作目錄設置為安裝目錄的原因。
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;"""