下载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. CSAPP:datalab实验记录

    CSAPP:datalab实验记录 bitXor /* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Lega ...

  2. 【洛谷1339 [USACO09OCT]】热浪Heat Wave 图论+最短路

    AC代码 #include<bits/stdc++.h> using namespace std; const int MAXN=62000+10,INF=999999; struct E ...

  3. mysql jdbc8.0连接mysql

  4. 第2天 第一个程序&IDEA安装&Java基础语法

    第一个程序 Hello,World! 随便新建一个文件夹,存放代码 新建一个Java文件 文件后缀名为java Hello.java [注意点]系统可能没有显示后缀名,必须手动打开 编写代码 publ ...

  5. Python开发篇——如何在Flask下编写JWT登录

    首先,HTTP 是无状态的协议(对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息)--每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求 ...

  6. vue函数式组件详解

    本篇将详细介绍vue组件化之函数式组件,会用到以下api: Vue.component().Vue.extend().$createElement.patch(). 从事vue开发的小伙伴,平时组件化 ...

  7. (opencv08)cv.resize()调整图像大小

    (opencv08)cv.resize()调整图像大小 img = cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=N ...

  8. 右键发送 (sendto),创建快捷方式到自定义的位置,不仅仅是复制,就像 发送到 桌面快捷方式 一样

    TL;DR 在 SendTo 文件夹里加上一文件夹的快捷方式后,在右键发送到这个文件夹的是这些文件的一个副本,实际上是一个复制的过程,有时候我们只希望是快捷方式,那就得另想办法了. 方案如下: 创建一 ...

  9. javascript的入门学习

    目录 JavaScript的学习 什么是javascript,如下简称JS 正式使用js js的两种引入方式 head标签与body标签的区别 js定义变量 可以分为如下四种类型: 有3种特殊的数据类 ...

  10. 从门外汉到腾讯Android高级研发——一个半路出家菜鸟的艰难逆袭之路

    我是在去年3月份加入腾讯公司,目前是腾讯公司某技术部门里面的一个小负责人,年薪月薪大税后概30K,谈不上多么厉害,但在回想自己半路出家学习编程,从一个销售到现在终于进入中国互联网顶尖公司,还是有些许感 ...