grafana插件动态数据

2020-10-18  本文已影响0人  Nick_4438

简介

前一篇文章,笔者探讨了如何使用grafana创建插件,以及制作配置面板,本文介绍如何把sql查询结果内的数据显示到pannel面板内。

数据准备

mysql 数据源

drop table if EXISTS  `table1`;
CREATE TABLE `table1` (
    `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
    `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE        CURRENT_TIMESTAMP COMMENT '销售记录的月份',
    `value` INT ( 11 ) DEFAULT 0 COMMENT '值',
PRIMARY KEY ( `id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8;

insert into table1 (`create_time`,`value`) VALUES 
        ("2020-10-18 00:00:00",1),
        ("2020-10-19 00:00:00",2),
        ("2020-10-20 00:00:00",60);

操作步骤

SELECT
  create_time AS "time",
  `value` AS `value`
FROM table1
--  WHERE
--  $__timeFilter(create_time)
const radii = data.series
 .map(series => series.fields.find(field => field.type === 'number'))
 .map(field => field?.values.get(field.values.length - 1));

      <svg
        className={styles.svg}
        width={width}
        height={height}
        xmlns="http://www.w3.org/2000/svg"
        xmlnsXlink="http://www.w3.org/1999/xlink"
        viewBox={`-${width / 2} -${height / 2} ${width} ${height}`}
      >
        {/* 修改后代码 */}
      <g fill={color}>
        {radii.map((radius, index) => {
          return <circle r={radius} />;
        })}
      </g>
        {/* 
        修改前代码
        <g>
        <circle style={{ fill: color }} r={100} />
        </g> */}
      </svg>

完整代码

上一篇 下一篇

猜你喜欢

热点阅读