栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

grafana 8.x 源代码运行(window)

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

grafana 8.x 源代码运行(window)

文章目录
        • 一、环境:
        • 二、安装环境
          • 1、mingw 安装
          • 2、gcc 和 g++ 区别
          • 3、添加 go 模块代理
          • 4、环境变量
        • 三、编译后端
        • 四、启动前端
        • 五、启动后端
          • 1、解决办法
          • 2、修改默认端口号
        • 六、说明
        • 七、前端解决方案
        • 八、后端解决方案

grafana 参考开发文档 https://github.com/grafana/grafana/blob/v8.1.5/contribute/developer-guide.md,建议选择对应版本的对应开发文档,不同版本可能有变化

文章写的比较简单,都启动成功才记录的,所以少了很多截图,如果有其他错误可以去 grafana 的问题中查找,一般都能找到 https://github.com/grafana/grafana/issues

一、环境:

node:16.4.0
go:1.71
mingw:9.0
grafana:8.0.0 或 grafana:8.1.5(这两个版本按如下步骤成功,grafana:8.2.0失败后面有说明)
window 10

版本说明

  • go 语言版本需要查看你下载的 grafana 源代码的 go.mod 版本,高于这个指定版本即可,
  • mingw 安装 64 位的,不然会报错(当然你也可以使用官网推荐的 TDM-GCC https://jmeubank.github.io/tdm-gcc/)
  • 文中所说的 go 和 golang 是一个东西
二、安装环境

node、go下载安装配置环境变量比较简单就不说了,grafana 源码从 github 直接拉去就行,下面说说 gcc 的安装

1、mingw 安装

grafana 开发文档中讲的是 linux /mac 系统安装比较简单,window 的代替方案为安装适用于 Linux 的 Windows 子系统 (WSL)(开发文档有说明),也可以在 window 上安装 docker 使用Linux容器。

安装 mingw 的目的是安装 c/c++ 编译环境,安装地址 https://sourceforge.net/projects/mingw-w64/,安装完成配置环境变量,打开 cmd 使用 mingw-get install g++ 安装 c/c++ 编译环境(该安装教程自行网上搜索,安装比较慢,WiFi容易失败,或者使用下面链接)

由于是外网,下载比较慢,如果你是科网学上那挺快的,或者你可以使用百度网盘提取,其中里面已经包含 gcc ,下载即用,记得添加环境变量,将 bin 目录添加到 path 中,使用 gcc -v 可以查看版本号证明环境正常
百度网盘链接:https://pan.baidu.com/s/1vk9eJ-a2Ma3SNMNilHoMvQ 提取码:8v42

2、gcc 和 g++ 区别

gcc用于编译C程序,而g++ 用于编译C ++程序。 因为,C程序也可以通过g ++编译,因为它是扩展的,或者可以说是C编程语言的高级编译器。

3、添加 go 模块代理

环境变量中添加 GOPROXY=https://goproxy.cn,也可以使用 https://goproxy.io,grafana 服务端是 go 语言开发的,编译构建时 需要下载很多模块,配置代理比较快。

4、环境变量
  • go
    • GOPATH=I:goProject 存放 go 安装的相关模块,类似 node 的安装包,Java 的 maven 依赖
    • GOROOT=H:golang 代表 go 的安装目录
    • GOPROXY=https://goproxy.cn 表示 go 模块安装的代理
    • path=H:golangbin 表示 go 的启动命令
  • mingw
    • path=H:MinGWmingw64bin
三、编译后端

进入源码目录,如:I:goProjectgrafana-8.0.0,执行如下命令

go run build.go setup
go run build.go build

使用 go run build.go setup 命令时可能会遇到以下错误(grafana:8.2.0 报的错误,更换为 grafana:8.0.0 或 grafana:8.1.5 成功),注意在安装时如果打印任何错误退出程序最终可能不能正常运行

这种是正常结束的

四、启动前端

建议 yarn 配置淘宝镜像

# 查看当前镜像
yarn config get registry
# 配置淘宝镜像
yarn config set registry https://registry.npm.taobao.org/

使用如下命令安装依赖启动

# 如果要修改锁定文件,则以错误退出代码中止
yarn install --immutable
# 不生成锁文件
# yarn install --pure-lockfile

yarn start

前端安装依赖使用 yarn install --immutable 访问首页,可能会报错误 html/template: “index” is undefined,不过官网推荐使用该命令。我使用 yarn install --pure-lockfile 启动正常

五、启动后端

注意:
启动 bin/windows-amd64/grafana-server.exe 时,会爆一个错误

1、解决办法

方法一:
将 bin/windows-amd64 目录下的所有文件复制到 bin 目录下,则启动正常
方法二:
启动时指定 homepath 路径 grafana-server.exe -homepath “I:goProjectgrafana-8.1.5”

2、修改默认端口号

官方地址 https://grafana.com/docs/grafana/latest/installation/windows/

注意:默认的 Grafana 端口是3000. 此端口在 Windows 上可能需要额外的权限。如果它没有出现在默认端口中,您可以尝试更改为其他端口,不要更改 defaults.ini 文件。

修改方法:

  • 进入conf目录,复制 sample.ini 到 custom.ini
  • 编辑custom.ini并取消 http_port 注释(;是 ini 文件中的注释字符)
  • 将其更改为类似8080的端口。

六、说明

截至 2021-10-26,我测试了 grafana 8.0.0 和 grafana 8.1.5 版本如上操作正常,当我使用 grafana 8.2.0 时遇到错误

该错误在 grafana 的源码问题中可以找到,但针对 window 暂时没找到好的解决方法https://github.com/grafana/grafana/issues?q=undefined%3A+server.Initialize

我最终将降版本使用 8.0.0 和 8.1.5 都可以正常运行,没有出现该错误

七、前端解决方案

假如你只做 grafana 的前端二次开发,觉得后端这些搭建比较麻烦,你只想修改 grafana 的前端代码,可以不构建后端代码,使用如下方法

你可以下载 grafana 的程序安装包(不是源码),在下载一份源码文件,只需要安装上面说的步骤构建前端,然后修改程序安装包的 grafana-8.1.5confdefaults.ini 文件,修改如下位置,指定前端代码路径,其实你也可以直接删除程序安装包的 public 目录,将自己的源码 public 复制进去,就可以不修改配置文件

最后,你只需要启动源码的前端(使用 yarn start),运行 grafana 服务器(/bin/grafana_server.exe),访问 127.0.0.1:3000 即可成功

八、后端解决方案

如果你只做后端的二次开发,只需要将前端 yarn build 打包即可,不需要 yarn start 启动前端,只需要启动 bin/grafana-server.exe 即可,启动时会去加载配置文件中配置的静态资源

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号