在系统服务部署过后,线上运行服务的稳定性是系统好坏的重要体现,监控系统状态至关重要,经过调研了解,时序数据库influxDB在此方面表现优异。
influxDB介绍
时间序列数据是以时间字段为每行数据的标示,比如股票市场的价格,环境中的温度,主机的CPU使用率等。但是又有什么数据是不包含timestamp的呢?几乎所有的数据都可以打上一个timestamp字段。时间序列数据更重要的一个属性是如何去查询它。在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据。同时查询的结果里也总是会包含timestamp字段。
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。
它有三大特性:
Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)
Metrics(度量):你可以实时对大量数据进行计算
Eevents(事件):它支持任意的事件数据
特点:
schemaless(无结构),可以是任意数量的列
min, max, sum, count, mean, median 一系列函数,方便统计
Native HTTP API, 内置http支持,使用http读写
Powerful Query Language 类似
sql
操作介绍
远程连接
1 | influx -host xx.xx.xx.xx -port xxxx(默认8086) -username xx -password xx -database xx |
创建及使用数据库
1 2 3 | create database "test"; --创建数据库 show databases; --查看数据库 use test; --选取数据库 |
增删改查
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | SHOW MEASUREMENTS --查询当前数据库中含有的表 SHOW FIELD KEYS --查看当前数据库所有表的字段 SHOW series from pay --查看key数据 SHOW TAG KEYS FROM "pay" --查看key中tag key值 SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值对应的值 SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis' DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag_value>' --删除key SHOW CONTINUOUS QUERIES --查看连续执行命令 SHOW QUERIES --查看最后执行命令 KILL QUERY <qid> --结束命令 SHOW RETENTION POLICIES ON mydb --查看保留数据 查询数据 SELECT * FROM /.*/ LIMIT 1 --查询当前数据库下所有表的第一行记录 select * from pay order by time desc limit 2 select * from db_name."POLICIES name".measurement_name --指定查询数据库下数据保留中的表数据 POLICIES name数据保留 删除数据 delete from "query" --删除表所有数据,则表就不存在了 drop MEASUREMENT "query" --删除表(注意会把数据保留删除使用delete不会) DELETE FROM cpu DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z' DELETE WHERE time < '2000-01-01T00:00:00Z' DROP DATABASE “testDB” --删除数据库 DROP RETENTION POLICY "dbbak" ON mydb --删除保留数据为dbbak数据 DROP SERIES from pay where tag_key='' --删除key中的tag SHOW SHARDS --查看数据存储文件 DROP SHARD 1 SHOW SHARD GROUPS SHOW SUBSCRIPTIONS |
6、数据保留命令
查看保留期 SHOW RETENTION POLICIES ON mydb
修改保留期 ALTER RETENTION POLICY default ON online DEFAULT
删除保留期 DROP RETENTION POLICY <retentionpolicy> ON <database>
创建保留期 REATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT
rp_name
:策略名
db_name
:具体的数据库名
30d
:保存30天,30天之前的数据将被删除
它具有各种时间参数,比如:h(小时),w(星期)m minutes h hours d days w weeks INF infinite
REPLICATION 1
:副本个数,这里填1就可以了
DEFAULT
设为默认的策略
目前,我们已经influxdb
+grafana
应用到数据库监控、Kafka数据流监控、服务页面数据统计监控等,炫酷的页面给你不一样的体验,试试吧!
原文出处:https://www.cnblogs.com/qiaohaoforever/p/10252952.html
作者:正版乔
共同学习,写下你的评论
评论加载中...
作者其他优质文章