用易语言做网站抢购软件,怎样查公司注册信息查询,sem是什么电镜,鲁谷网站建设2019独角兽企业重金招聘Python工程师标准 前言#xff1a; Influxdb也是有influxdata公司(www.influxdata.com )开发的用于数据存储的时间序列数据库.可用于数据的时间排列。在整个TIG(Telegrafinfluxdbgrafana)方案中#xff0c;influxdb可算作一个中间件 前言 Influxdb也是有influxdata公司(www.influxdata.com )开发的用于数据存储的时间序列数据库.可用于数据的时间排列。在整个TIG(Telegrafinfluxdbgrafana)方案中influxdb可算作一个中间件主要负责原始数据的存储并按照时间序列进行索引构建以提供时间序列查询接口。在整个TIG方案中应该先构建的就是Influxdb。 Influxdb研究与实践 influxdb介绍 使用TSM(Time Structured Merge)存储引擎允许高摄取速度和数据压缩 使用go编写无需其他依赖 简单高性能写查询httpAPI接口 支持其他数据获取协议的插件比如graphite,collected,OpenTSDB 使用relay构建高可用https://docs.influxdata.com/influxdb/v1.0/high_availability/relay/ 扩展的类sql语言很容易查询汇总数据 tag的支持可用让查询变的更加高效和快速 保留策略有效地自动淘汰过期的数据 持续所产生的自动计算的数据会使得频繁的查询更加高效 web管理页面的支持 下载安装 githubhttps://github.com/influxdata/influxdb 源码编译 官网下载 Centos系列wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.0.0.x86_64.rpm sudo yum localinstall influxdb-1.0.0.x86_64.rpm 源码包系列wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.0.0_linux_amd64.tar.gz tar xvfz influxdb-1.0.0_linux_amd64.tar.gz docker系列docker pull influxdb 安装手册https://docs.influxdata.com/influxdb/v0.9/introduction/installation/ 配置 #cat /etc/influxdb/influxdb.conf
reporting-disabled false
[registration]
[meta]
dir /var/lib/influxdb/meta
hostname 10.0.0.2 #此hostname必须写本机否则无法连接到数据操作的API
bind-address :8088
retention-autocreate true
election-timeout 1s
heartbeat-timeout 1s
leader-lease-timeout 500ms
commit-timeout 50ms
cluster-tracing false
[data]
dir /var/lib/influxdb/data
max-wal-size 104857600 # Maximum size the WAL can reach before a flush. Defaults to 100MB.
wal-flush-interval 10m # Maximum time data can sit in WAL before a flush.
wal-partition-flush-delay 2s # The delay time between each WAL partition being flushed.
wal-dir /var/lib/influxdb/wal
wal-logging-enabled true
[hinted-handoff]
enabled true
dir /var/lib/influxdb/hh
max-size 1073741824
max-age 168h
retry-rate-limit 0
retry-interval 1s
retry-max-interval 1m
purge-interval 1h
[admin]
enabled true
bind-address :8083
https-enabled false
https-certificate /etc/ssl/influxdb.pem
[http]
enabled true
bind-address :8086
auth-enabled false
log-enabled true
write-tracing false
pprof-enabled false
https-enabled false
https-certificate /etc/ssl/influxdb.pem
[opentsdb]
enabled false
[collectd]
enabled false注意influxdb服务会启动三个端口8086为服务的默认数据处理端口主要用来influxdb数据库的相关操作可提供相关的API8083为管理员提供了一个可视化的web界面用来为用户提供友好的可视化查询与数据管理8088主要为了元数据的管理。需要注意的是influxdb默认是需要influxdb用户启动且数据存放在/var/lib/influxdb/下面生产环境需要注意这个。 启动 和telegraf启动方式一样可以使用init.d或者systemd进行管理influxdb 注意启动之后需要查看相关的端口是否正在监听并检查日志确保服务正常启动 使用 如果说使用telegraf最核心的部分在配置那么influxdb最核心的就是SQL语言的使用了。influxdb默认支持三种操作方式 登录influxdb的shell中操作: 创建数据库
create database mydb
创建用户
create user bigdata with password bigdata with all privileges
查看数据库
show databases;
数据插入
insert bigdata,hostserver001,reginHC load88
切换数据库use mydb
查看数据库中有哪些measurement(类似数据库中的表):
show measurements
查询
select * from cpu limit 2
查询一小时前开始到现在结束的
#select load from cpu where time now() - 1h
查询从历史纪元开始到1000天之间
#select load from cpu where time now() 1000d
查找一个时间区间
#select load from cpu where time 2016-08-18 and time 2016-09-19
查询一个小时间区间的数据比如在September 18, 2016 21:24:00:后的6分钟
#select load from cpu where time 2016-09-18T21:24:00Z 6m
使用正则查询所有measurement的数据
#select * from /.*/ limit 1
#select * from /^docker/ limit 3
#select * from /.*mem.*/ limit 3
正则匹配加指定tag~ !~
#select * from cpu where host !~ /.*HC.*/ limit 4
#SELECT * FROM h2o_feet WHERE (location ~ /.*y.*/ OR location ~ /.*m.*/) AND water_level 0 LIMIT 4
排序group by的用法必须得是在复合函数中进行使用
#select count(type) from events group by time(10s)
#select count(type) from events group by time(10s),type
给查询字段做tag
#select count(type) as number_of_types group by time(10m)
#select count(type) from events group by time(1h) where time now() - 3h
使用fill字段
#select count(type) from events group by time(1h) fill(0)/fill(-1)/fill(null) where time now() - 3h
数据聚合
select count(type) from user_events merge admin_events group by time(10m)使用API进行操作数据: 创建数据库:
curl -G http://localhost:8086/query --data-urlencode qcreate database mydb
插入数据
curl -XPOST http://localhost:8086/write?dbmydb -d biaoge,namexxbandy,xingqucoding age2
curl -i -XPOST http://localhost:8086/write?dbmydb --data-binary cpu_load_short,hostserver01,regionus-west value0.64 1434055562000000000
curl -i -XPOST http://localhost:8086/write?dbmydb --data-binary cpu_load_short,hostserver02 value0.67
cpu_load_short,hostserver02,regionus-west value0.55 1422568543702900257
cpu_load_short,directionin,hostserver01,regionus-west value2.0 1422568543702900257
将sql语句写入文件并通过api插入
#cat sql.txt
cpu_load_short,hostserver02 value0.67
cpu_load_short,hostserver02,regionus-west value0.55 1422568543702900257
cpu_load_short,directionin,hostserver01,regionus-west value2.0 1422568543702900257
#curl -i -XPOST http://localhost:8086/write?dbmydb --data-binary cpu_data.txt查询数据--data-urlencode epochs 指定时间序列 chunk_size20000 指定查询块大小
# curl -G http://localhost:8086/query?prettytrue --data-urlencode dbydb --data-urlencode qselect * from biaoge where xingqucoding
数据分析
#curl -G http://localhost:8086/query?prettytrue --data-urlencode dbmydb --data-urlencode qselect mean(load) from cpu
#curl -G http://localhost:8086/query?prettytrue --data-urlencode dbmydb --data-urlencode qselect load from cpu
可以看到load的值分别是42 78 15.4用mean(load)求出来的值为45,13
curl -G http://localhost:8086/query?prettytrue --data-urlencode dbydb --data-urlencode qselect mean(load) from cpu where hostserver01使用influxdb提供的web界面进行操作: 这里只是简单的介绍了influxdb的使用后期如果想在grafana中汇聚并完美地展示数据可能需要熟悉influxdb的各种查询语法。(其实就是sql语句的一些使用技巧聚合函数的使用子查询等等) 注意原创著作转载请联系作者 转载于:https://my.oschina.net/xxbAndy/blog/751329