工作中遇到的--使用azure虚拟机的influxdb+chronograf+vscode/java POI转换数据格式

1、首先建Azure虚拟机,几个关键点

  • public ip是外面访问用到的,所有都是他,或者找对应域名也ok
  • 我这里选的是用ssh登录,建立过程中有私钥,记得保存好
  • 用putty来连虚拟机的时候,要用puttygen来把私钥转换要,在连接的地方输好ip以后,在下面载入私钥(截图待补充)
  • azure自带防火墙,在networking里面白名单ip或者端口,这里面influxdb要白名单8086端口

2、安装influxdb

  • 我建的ubuntu虚拟机,命令行直接安装就行
  • 安装好以后使用influx即可进入对应终端
  • influxdb有表和数据库两个概念,不同数据库可以有相同名字的表

3、一些influxdb基本操作

  • create database name就是新建以name为名的数据库
  • 每次新打开要选好使用哪个database,比如use name,这个是使用名叫name的表
  • show databases 显示目前的各种database
  • drop database name 删除名叫name的数据库
  • precision rfc3339可以将时间戳转化成正常的年月日 时分秒显示,但是只是显示变了,本身数据没变,在其他里面调用数据还是原始格式
  • 如果使用查询语句,查的判断条件是tag,那么 select * from infra where "type"=‘mysql‘,如果查值就是 select * from infra where value=80 等号写一个。

3、chronograf

  • chronograf代替的是传统的influxdb自带的web管理界面
  • 要看chronograf是在开启chronograf.exe以后,访问http://localhost:8888
  • 注意,chronograf不是要求在虚拟机打开的哦,你在任何一台机器上都能打开,访问的是本地的8888
  • 在开启以后,需要输入你要链接的url,这时候是azure虚拟机对应ip的8086端口
  • insert数据的时候要首先选择数据库名,这里面以数据库名是test,表名infra为例
  • 注意influxdb的表不是显示独立建立的,要靠在插入的时候提到了,如果没有就独立建立
  • 如果插入的两条数据,他的表名,tag,时间戳完全相同,那么新的value值会修改原有的(注意时间戳叫time,如果有timestamp那是你自己命名的,和时间戳无关)
  • 在chronograf中插入一条数据: infra,type=mysql,otherstring=aaa value=100 1599384988000000000
  • 插入的时候对应的值不带引号的!包括tag的也不带!和查询分开!注意!另外时间戳要19位的,自动转化工具需要补0
  • 上面那条,第一个是表明,后面逗号隔开的都是tag value,也就是值,是field(当然不一定叫value) 最后是时间戳

4、其他操作

  • 给的数据是excel格式的,显然不可能手动用于insert,那么就有两种选择
    • 使用vscode调整格式
    • 使用java POI相关的包来完成
  • 如果选择vscode,那么直接把excel表复制过来,然后进入vscode列编辑模式,快捷键应该是shift+alt+鼠标左键,把整行都选上,然后整行改,最后一个时间戳不是对齐的,使用替换功能把tab换成空格之类的,完成转化
  • 或者使用java poi对应的包 代码和链接待补充

工作中遇到的--使用azure虚拟机的influxdb+chronograf+vscode/java POI转换数据格式

上一篇:Mysql之单表查询


下一篇:12.12 Oracle数据库相关面试题精简版(后续继续完善)