构建Grafana的CentOS编译环境

Grafana是用进行编写的,我们如果想在CentOS中编译其源码,那可以follow以下的步骤:

编译环境搭建

go环境搭建

Go环境搭建,可以参考前一篇笔记内容,进行环境搭建和配置。或者简单的执行以下命令进行安装:

1
yum install go -y

安装 node.js

下载安装包

1
wget https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.gz

解压缩

1
tar -C /usr/local/ -zxvf node-v10.16.0-linux-x64.tar.gz

配置环境变量/etc/profile

1
2
export NODE_HOME="/usr/local/node-v10.16.0-linux-x64"
export PATH=$PATH:$NODE_HOME/bin

使修改后的文件生效

1
2
3
source /etc/profile
node -v
npm -v

更新npm的配置源,国内环境, vi ~/.npmrc

1
2
3
sass_binary_site = https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl = https://npm.taobao.org/mirrors/phantomjs/
registry = http://registry.npm.taobao.org

安装git

1
yum install -y git

编译源码

下载源码

源码下载有两种方式,一种是我们之间使用git将源码下载到我们的$GOPATH/src/github.com/grafana目录下:

1
2
cd $GOPATH/src/github.com/grafana
git clone https://github.com/grafana/grafana.git

另外一种方式:

1
2
go get github.com/grafana/grafana
cd $GOPATH/src/github.com/grafana/grafana

后端环境

1
2
3
cd $GOPATH/src/github.com/grafana/grafana
go run build.go setup
go run build.go build

前端环境

1
2
3
npm install -g yarn
yarn install --pure-lockfile
npm run build

运行Grafana

1
./bin/grafana-server

自定义Grafana功能

Grafana集成企业微信报警通知

网上有个朋友开发来企业微信的Notifier实现,不过没有被官方accept,所以我们只能自行编译实现。具体可以查看链接

1
https://github.com/wangriyu/docker-grafana/tree/master/wechat-notifier

打开链接将其中的两份代码复制到 $GOPATH/src/grafana/grafana/pkg/services/alerting/notifiers

然后再行编译即可,当然也可以像https://github.com/wangriyu/docker-grafana 一样,构建为Docker镜像启动。

参考