下载grafana源码

grafana git 仓库下载指定的分支。

编译后端

我下载的时候,grafana的最新release是7.3.7,其需要安装go 1.15版本

生成可执行文件

进入项目根目录,依次执行下面的语句

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

编译结果如下

Version: 7.4.0-pre, Linux Version: 7.4.0, Package Iteration: 1611644824pre
rm -r ./bin/darwin-amd64/grafana-server
rm -r ./bin/darwin-amd64/grafana-server.md5
go version
go version go1.15.7 darwin/amd64
Targeting darwin/amd64
go build -ldflags -w -X main.version=7.4.0-pre -X main.commit=427be07b1e -X main.buildstamp=1610609841 -X main.buildBranch=read -o ./bin/darwin-amd64/grafana-server ./pkg/cmd/grafana-server
rm -r ./bin/darwin-amd64/grafana-cli
rm -r ./bin/darwin-amd64/grafana-cli.md5
go version
go version go1.15.7 darwin/amd64
Targeting darwin/amd64
go build -ldflags -w -X main.version=7.4.0-pre -X main.commit=427be07b1e -X main.buildstamp=1610609841 -X main.buildBranch=read -o ./bin/darwin-amd64/grafana-cli ./pkg/cmd/grafana-cli

可以看到多了个bin目录,我们看下下面多了哪些文件,其中grafana-server就是我们需要用到的服务端。

bin
└── darwin-amd64
├── grafana-cli
├── grafana-cli.md5
├── grafana-server
└── grafana-server.md5

运行后端

$ cd bin/darwin-amd64
$ ./grafana-server web

报了下面的错误

Grafana-server Init Failed: Could not find config defaults,
make sure homepath command line parameter is set or working directory is homepath

可以看看官网的提示

总之就是,动源码编译之后必须要指定homepath

$ ./grafana-server -homepath "你的grafana项目所在目录"

比如你的代码根目录是~/Documents/CODE/GO/grafana,就就上面的目录更改为相应的内容。

如此一来便启动了。

这时候访问localhost:3000,页面上会显示下面的错误

html/template: "index" is undefined

因为咱们还没有编译前端代码

编译前端代码

代码根目录执行下面语句

$ yarn start

经过好一阵子等待,出现下面的内容了,说明咱们终于装好了前端代码...

Entrypoint app = runtime.ba455d119134e9bcdaa8.js angular~app.ba455d119134e9bcdaa8.js unicons~app.ba455d119134e9bcdaa8.js moment~app.ba455d119134e9bcdaa8.js vendors~app.ba455d119134e9bcdaa8.js default~app.ba455d119134e9bcdaa8.js app.ba455d119134e9bcdaa8.js
Entrypoint dark = runtime.ba455d119134e9bcdaa8.js grafana.dark.ba455d119134e9bcdaa8.css dark.ba455d119134e9bcdaa8.js dark.fad53abc7d1fadc867ed.hot-update.js
Entrypoint light = runtime.ba455d119134e9bcdaa8.js grafana.light.ba455d119134e9bcdaa8.css light.ba455d119134e9bcdaa8.js light.fad53abc7d1fadc867ed.hot-update.js
[./public/sass/grafana.dark.scss] 39 bytes {dark} [built]
[./public/sass/grafana.light.scss] 39 bytes {light} [built]
+ 6741 hidden modules
No issues found.

登录运行

访问: http://localhost:3000/

进入登陆页面,输入默认账号 admin 默认密码 admin,提示修改密码。

更改代码后,就可以看到咱们的grafana页面啦!

mac下编译安装grafana的更多相关文章

  1. mac下编译安装grafana 4.2.0

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  2. go语言Mac下编译安装语言包

    这两天公司成立了go语言学习兴趣小组,慕名参与了学习.目前对于go是0基础,只知道它可以做高并发.效率快.编译简单.母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编 ...

  3. Mac 下编译安装 php-5.6

    1.安装 PHP 1.1 下载源码包 http://php.net/get/php-5.6.35.tar.bz2/from/a/mirror 1.2 编译&安装 ./configure --p ...

  4. Mac OSX下编译安装PostgreSQL

    原先使用的是官方提供的安装包,可是安装包会创建postgre这个用户.在登陆界面看的有点不爽,搜索了半天居然没有找到怎样在osx下编译安装的教程,并且假设是依照官方文档的编译安装办法一定会让你崩溃,本 ...

  5. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  6. Mac Pro 编译安装 Redis-3.2.3

    Redis官方下载地址:http://redis.io/download Redis安装 cd /usr/local/src/redis-3.2.3 sudo make sudo make insta ...

  7. centos7.2下编译安装&&使用-git代码库

    centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...

  8. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  9. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

随机推荐

  1. 42 张图带你撸完 MySQL 优化

    Hey guys,这里是程序员cxuan,欢迎你阅读我最新一期的文章,这篇文章是 MySQL 调优的汇总版,我加了一下日常开发过程中的调优经验,希望对各位小伙伴们有所帮助.下面开始正文. 一般传统互联 ...

  2. node.js背后的引擎V8及优化技术

    本文将挖掘V8引擎在其它方面的代码优化,如何写出高性能的代码,及V8的性能诊断工具.V8是chrome背后的javascript引擎,因此本文的相关优化经验也适用于基于chrome浏览器的javasc ...

  3. Redis主从复制那点事

    ​     我们在 Redis持久化机制你学会了吗?学习了AOF和RDB,如果Redis宕机,他们分别通过回放日志和重新读入RDB文件的方式恢复数据,从而提高可靠性.我们今天来想这么一个问题,假如我们 ...

  4. Mysql数据量较大时分页查询优化

    据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是主键,vtype是int,vtype是索引. 最后co ...

  5. [考试总结]noip模拟10

    不小心有咕掉了一段时间 这次考试咕掉的分数也是太多了 然后就是这次暴力完全没有打满 遗憾啊遗憾 T1 入阵曲 前面的题目背景故意引导我们去往矩阵快速幂的方向去想 然而半毛钱关系没有 其实就是维护前缀和 ...

  6. 在Windows7/8/10 64位操作系统下安装并注册ocx控件

    例如: 先网上下载一个MtbLine.ocx控件放入C:\Windows\SysWOW64\目录下 1.首先确保你的 Windows7 账户是管理员权限 2.下载MtbLine.ocx控件,网上可搜到 ...

  7. python使用正则+jsonpath处理接口依赖

    1.接口2的入参值依赖接口1的响应结果,如接口2的入参ids需要拿到接口1响应结果的id字段值,测试用例写在excel中,参数:{"ids":"${$..id}$&quo ...

  8. Python - 基础数据类型 set 集合

    集合的简介 集合是一个无序.不重复的序列 它的基本用法包括成员检测和消除重复元素 集合对象也支持像 联合,交集,差集,对称差分等数学运算 集合中所有的元素放在 {} 中间,并用逗号分开 集合的栗子 这 ...

  9. TCP 才不傻!

    大家好,我是小林. 之前收到个读者的问题,对于 TCP 三次握手和四次挥手的一些疑问: 第一次握手,如果客户端发送的SYN一直都传不到被服务器,那么客户端是一直重发SYN到永久吗?客户端停止重发SYN ...

  10. C++STL——vector类

    vector容器 1.1 vector容器的基本概念 Array 是静态空间,一旦配置了就不能改变,要换大一点或者小一 点的空间,可以,一切琐碎得由自己来,首先配置一块新的空间,然后将旧空间的 数据搬 ...