Mac M1编译Grafana源码并安装使用


从 grafana 官网上查看了 mac 电脑安装 grafana 的文档,发现文档上并没有 mac m1 芯片的安装方式,即使下载了 grafana 的执行文件到本地后,执行时会提示 bad cpu type in executable 的错误,网上百度一番后发现流程文档很少,因此考虑自己下载源码后在 mac m1 电脑上自行编译、安装。

1、下载源代码

访问 https://github.com/grafana/grafana/releases 页面,下载指定版本的源码,注意:本文下载的源码版本为 9.3.1

2、安装 go 环境(已安装忽略)

3、配置 goproxy 代理(可选)

为防止下载模块访问慢或者失败,建议配置 goproxy,加速你的源码构建。

阿里配置:

1export GOPROXY=https://mirrors.aliyun.com/goproxy/

七牛云配置:

1export GOPROXY=https://goproxy.cn

4、编译后端代码

  • 执行 go run build.go setup 命令时,提示 server.Initialize 报错

编译源码

输入 make gen-go 命令生成所需要的文件,但提示 verifying github.com/parca-dev/parca@v0.12.1: checksum mismatch 的错误:

下载模块时md5值不一致

**解决方案:**更改代码根目录下的 go.sum 文件里的 github.com/parca-dev/parca v0.12.1 h1 对应的值 ,更改前:

更改模块的md5值

更改后:

更改md5值后成功编译

再次执行 make gen-go 命令后便能成功生成所需要的文件,如下图所示:

make gen-go生成所需文件

重新执行 go run build.go setup 命令成功生成 grafana-server 文件:

生成grafana-server文件

  • 最后执行 go run build.go build,生成 /bin/darwin-arm64 目录及可执行文件:

构建生成可执行文件

5、安装 NodeJS 环境(可选,已安装忽略)

6、编译前端代码

安装 yarn 命令(可选,已安装可忽略)

1npm install -g yarn

执行 yarn start 命令编译前端代码,编译过程如下所示:

编译前端代码

7、登陆访问

进入 /bin/darwin-arm64 目录,执行 ./grafana-server 命令启动 grafana 出现如下提示:

启动grafana命令错误

根据错误提示,需在执行命令时,加上 homepath 参数指定当前 grafana 的根目录: ./grafana-server --homepath=/Users/liew/Env/grafana 便可正常启动。

正常启动grafana

打开浏览器,输入 http://localhost:3000/ 进入登陆页面,输入默认账号/密码 admin/admin

登陆界面

主页