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 | export NODE_HOME="/usr/local/node-v10.16.0-linux-x64" |
使修改后的文件生效
1 | source /etc/profile |
更新npm的配置源,国内环境, vi ~/.npmrc
1 | sass_binary_site = https://npm.taobao.org/mirrors/node-sass/ |
安装git
1 | yum install -y git |
编译源码
下载源码
源码下载有两种方式,一种是我们之间使用git将源码下载到我们的$GOPATH/src/github.com/grafana
目录下:
1 | cd $GOPATH/src/github.com/grafana |
另外一种方式:
1 | go get github.com/grafana/grafana |
后端环境
1 | cd $GOPATH/src/github.com/grafana/grafana |
前端环境
1 | npm install -g yarn |
运行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镜像启动。