以下紅字部分都是我在安裝過程中遇的問題及解決方法, 加粗的都是重點
准備工作確認:
系統:Windows 10 x64
軟件准備:
GO 版本:盡量使用跟官網一樣的版本,如何確認呢? 筆者是通過Github的更新記錄進行確認版本的,這點其實挺重要的,如果用高版本或者新版本,不能確保是否出現莫名其妙的坑,而且可能是大坑,https://github.com/grafana/grafana/releases, 筆者看到最新build的版本是1.12.10,於是選擇了該版本,具體的大家可以根據這個做選擇。
注意:我是通過 go.mod 文件來判斷的當前 grafana用的是哪個版本的go,
我安裝 grafana 的時候 go.mod 文件用的是 1.12 而我本地的 go 版本號是 1.13 結果執行以下命令的時候
go run build.go setup
go run build.go build
會報以下錯誤,百度都搜不到,
到后來實在沒辦法了.把go的版本降底到 1.12 ,結果編譯的時候就通過了
Git,這個應該沒有太高的要求,只是從github中Clone 源碼,筆者的版本是Git-2.23.0-64-bit.exe
NodeJs,可以選擇使用最新的穩定版本,Grafana的編譯說明有此說明For this you need nodejs (v.6+)
Nod-gyp,Grafana提及的前端編譯工具
TDD-GCC,也是使用Grafana提及的Gcc工具
軟件安裝
1)go1.12.10.windows-amd64.msi 安裝完后,添加環境變量($GOPATH)及其Path添加GO的bin路徑
確定Go的是否正常運行
2)NodeJS 和Git 默認安裝即可(安裝路徑自己喜歡),同樣確保環境變量(Path)中添加相關的Bin路徑。
3)其他軟件在下面出現的坑中述說。
獲取源碼
進入$GoPATH(G:\01-monitor\04-grafana\code\go)后運行:
#go get github.com/grafana/grafana
上面的命令從Github中獲取最新的源碼,天朝的網絡....所以筆者選擇直接從github中下載當前穩定的版本V6.4.3,解壓后放入$GoPATH
這里我是直打開 vpn 來下載的
目錄,最終的目錄是G:\01-monitor\04-grafana\code\go\src\github.com\grafana\grafana(粗體為$GOPATH目錄)
編譯源碼
后端編譯
進入Grafana的根目錄 ($GOPATH\src\github.com\grafana\grafana): 編譯時如果報這個錯誤,就是 go 版本號與 go.mod 里的版本號不符所導致的
#go run build.go setup
這里有兩個地方需要注意
1)找不到pkg
需要確認src的源碼是否是 $GOPATH\src\github.com\grafana\grafana
2)go-sqlite3編譯或者獲取失敗
原因是go-sqlite3需要GCC進行編譯,因此筆者繼續安裝TDM-GCC,可以用其他GCC編譯軟件,為了少踩坑,筆者建議選擇跟網絡一致的GCC軟件,安裝正常安裝即可,這里不詳細敘說,需要注意的是,如果你電腦安裝了多個gcc編譯軟件,你需要確認正常運行的默 認Gcc是否是你所需要的(把你所需要的在Path環境變量中放在前面)
這里有個小插曲,我裝 GCC 的時候,一直都裝不上,不知道為何,結果我突發其想是不是被牆了,開了VPN 之后,下載飛快,哈哈哈,我的 gcc 裝的是 x86_64-6.2.0-posix-seh-rt_v5-rev1 安裝工具下載地址 下載頁面 具體安裝教程
確認GCC的版本:
續運行
go run build.go setup
看到上面的畫面,恭喜可以拖走了,繼續下面的命令
#go run build.go build
編譯成功之后會在當前的目錄下 $GOPATH\src\github.com\grafana\grafana 會生成 bin 文件夾,下面有 window_amd64 文件夾,下面有以下幾個文件
就此,Grafana的后端編譯完成, 下面進行前端的編譯
前端編譯
1)安裝node-gyp 前端編譯工具
windows 需要管理員運行cmd或powershell,然后運行下面的命令,檢查 npm dependencies
# npm --add-python-to-path='true' --debug install --global windows-build-tools
此過程或安裝python2.7 和windows build tools, 筆者機上一起順利
2)正式開始編譯
#npm install -g yarn
#yarn install --pure-lockfile
這里有幾個坑需要填平才能繼續
坑1
運行 set-ExecutionPolicy RemoteSigned
坑2
#yarn config set ignore-engines true //繼續運行 #yarn install --pure-lockfile,
經過長時間的等待(如果能vpn,盡量vpn)
上面出現的錯誤,筆者也沒明白,但是目前 沒有影響筆者的后面插件源碼修改之路
#yarn start
出現上面,恭喜你,成功了
修改grafana/conf/defaults.ini
http_port = 3000
運行(大家看看生成的bin和grafana的根目錄的層次關系,就明白筆者的運行為啥那么多層了,grafana默認使用當前目錄的/conf/default.ini)
注意:這里官網是不建議直接修改 defaults.ini 來進行配置的, 官方文檔
Windows下可以直接拷貝 sample.ini 文件一份然后重命名為 custom.init 然后再在里面配置相關的配置信息
Mac or Linux 下則考的是 default.ini 文件一份然后重命名為 custom.init 然后再在里面配置相關的配置信息
另外 3000端口在 windows 下是沒有權限的,最好改成 8080
瀏覽器中打開 http://localhost:3000 默認賬戶密碼 admin/admin
然后進入到 $GOPATH\ 根目錄執行
grafana-server.exe
以下是我自加內容:
會發現怎么都運行不起,起出我是直接點擊 運行,然后 控制台一閃而過就退出了,肯定是哪里不對勁,從網上一搜索,說還是從控制台里運行這個程序,果然,報了這個錯誤
Grafana-server Init Failed: Could not find config defaults, make sure homepath command line parameter is set or working directory is homepath
這是運行的時候沒有指定 homepath 啊.然后就去查官方文檔,也沒找出個一二三來,只有這樣一段話... 地址
然后我去查找以前 Mac 上面的安裝 筆記, 初次運行的時候需要這樣執行命令
//注:啟動源碼編譯之后必須要指定homepath
./bin/grafana-service —homepath=‘grafana地址' //如: .\grafana-server.exe -homepath "D:\project\warlock-1.4.4-new\src\github.com\grafana\grafana"
然后就一切順利了....萬事大吉啦
打開 localhost:8080 顯示登錄頁面
感謝博主「mjesse88」原文鏈接:https://blog.csdn.net/mjesse88/article/details/102853515