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转换数据格式