环境搭建
Grafana官方使用的是Grunt系统构建工具,Grunt及其插件是基于nodejs运行的,首先安装nodejs
Nodejs 安装
从
Nodejs官网
下载linux版本的安装包
解压到/usr/local目录下
$ mv node-v12.11.1-linux-x64.tar.xz /usr/local
$ cd /usr/local
$ tar -xvf node-v12.11.1-linux-x64.tar.xz
$ rm node-v12.11.1-linux-x64.tar.xz
$ mv node-v12.11.1-linux-x64 nodejs
通过建立软连接变为全局
$ ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
$ ln -s /usr/local/nodejs/bin/node /usr/local/bin/
检查是否安装成功
$ node -v
v12.11.1
使用国内的镜像源进行加速
$ npm config set registry https://registry.npm.taobao.org
如需使用yarn,可以使用npm安装yarn,具体步骤如下:
$ npm install -g yarn
$ ln -s /usr/local/nodejs/bin/yarn /usr/local/bin/
$ yarn config set registry https://registry.npm.taobao.org
下载模板工程
panel开发:
https://github.com/grafana/piechart-panel
datasource开发:
https://github.com/grafana/simple-json-datasource
app开发:
https://github.com/grafana/kubernetes-app
backend-datasource开发:
https://github.com/grafana/simple-json-backend-datasource
使用git clone将代码下载到本地,下面环境搭建在工程目录下进行操作。
Grunt-cli 安装
使用nodejs的包管理工具npm进行加载,
-g
表示全局,不添加该选项只会安装在当前目录中
$ npm install -g grunt-cli
Grunt 安装
$ npm install grunt --save-dev
检查是否安装成功
$ grunt -version
grunt-cli v1.3.2
grunt v1.0.4
Grunt 插件安装
使用命令
npm install
安装插件,npm会根据当前目录的
package.json
进行插件安装,后期开发中可以使用npm安装你需要的插件或者依赖,npm会在
package.json
中自动填写上你所安装的插件或依赖及其版本。
$ npm install
可能出现的问题
Unexpected end of JSON input while parsing near ‘…”
解决办法
$ npm install --registry=https://registry.npm.taobao.org --loglevel=silly
$ npm cache clean --force
$ npm install
可能出现的问题
Error: Node Sass does not yet support your current environment:…
解决办法
$ npm uninstall --save node-sass
$ npm install --save node-sass
此插件的主要功能为将sass文件编译生成css文件,如果不使用node-sass,可以在Gruntfile把该任务删掉,然后把module.json里对应的模块删掉
编译运行
主要的编译配置文件为
Gruntfile.js
和
Makefile
, 性质相似,都是配置编译流程;
app、panel、datasource只有Gruntfile.js, 使用以下命令进行编译:
$ grunt clean
$ grunt
Gruntfile.js配置主要的编译任务如下:
backend-datasource有Makefile和Gruntfile.js, 使用一下命令进行编译
$ npm install -g yarn
$ yarn install --pure-lockfile
$ make
Makefile配置主要的编译任务如下:
然后将整个工程放到
/var/lib/grafana/plugins/
下,然后重启grafana服务即可
$ service grafana-server restart