ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

记一次grafana二次开发

2020-06-20 20:04:53  阅读:1086  来源: 互联网

标签:bin node 一次 grafana go export 二次开发 PATH


最近因为有个变态需求,需要改一下grafana的规则,原有的一个conditions不满足需求,所以对此部分的源码进行了修改。

在github上面download下来grafana源码,然后就是一系列的改动,本文记录一下grafana的环境搭建。

1:在Mac上面搭建环境

安装golang,安装nodejs,这个网上都是教程

在idea中导入项目

在Terminal中先开始启动前端

yarn config set ignore-engines true
yarn install --pure-lockfile
yarn start

后端代码启动:

我这里debug模式启动,直接在pkg/cmd/grafana-server/main.go 进行debug,官网还有一些教程给了很多种启动方式,我个人还是觉得这种会比较快

改动之后打包

go run build.go build package

在项目中 dist 目录下面就是打好的包

因为没有docker,所以部署都是自己打包部署,要把包部署到服务器上,还需要在一个centos的服务器上面打包

2:centos7上打包部署

 1.安装nodejs

下载nodejs
wget https://nodejs.org/dist/v12.18.1/node-v12.18.1-linux-x64.tar.xz

配置环境
sudo vim /etc/profile

加下面这段东西
export PATH=$PATH:/usr/local/node-v12.18.1-linux-x64/bin

生效环境
source /etc/profile

创建链接
ln -s /usr/local/node-v12.18.1-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v12.18.1-linux-x64/bin/npm /usr/local/bin/npm

   2. 安装golang

下载包
wget  https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz

配置环境
sudo vim /etc/profile

加入下面的代码
export GOROOT=/opt/wlj/go
export GOPATH=/opt/wlj/gopath
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin

生效环境
source /etc/profile

配置env
go env -w GOPROXY=https://goproxy.io/,direct
go env -w GO111MODULE=on

3. 创建文件夹

在 $GOPATH 下面创建/src/github.com/grafana/grafana 目录,全路径就是/opt/wlj/gopath/src/github.com/grafana/grafana

把Mac上面的代码上传到这个目录下面

4. 编译

在/opt/wlj/gopath/src/github.com/grafana/grafana 路径下

前端:

yarn install --pure-lockfile

后端:

go run build.go build package

5. 启动

打包完了之后在dist目录下面找到包,解压到要部署的地方

在文件夹中启动

nohup ./bin/grafana-server web &

6. 访问

localhost:3000

需要修改一些配置信息,可以在conf/defaults.ini中修改数据库,SMTP等信息

标签:bin,node,一次,grafana,go,export,二次开发,PATH
来源: https://blog.csdn.net/xijian0521/article/details/106858580

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有