Grafana 插件开发——环境搭建

  • Post author:
  • Post category:其他




环境搭建

Grafana官方使用的是Grunt系统构建工具,Grunt及其插件是基于nodejs运行的,首先安装nodejs



Nodejs 安装



Nodejs官网

下载linux版本的安装包

nodejs下载

解压到/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配置主要的编译任务如下:

复制源文件

将ts编译生成js

backend-datasource有Makefile和Gruntfile.js, 使用一下命令进行编译

$ npm install -g yarn
$ yarn install --pure-lockfile
$ make

Makefile配置主要的编译任务如下:

调用grunt

编译后端服务程序到dist中

然后将整个工程放到

/var/lib/grafana/plugins/

下,然后重启grafana服务即可

$ service grafana-server restart



版权声明:本文为mr_black_man原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。