在系统服务部署过后,线上运行服务的稳定性是系统好坏的重要体现,监控系统状态至关重要,经过调研了解,时序数据库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 | create database "test"; --创建数据库 |
增删改查
1 | SHOW MEASUREMENTS --查询当前数据库中含有的表 |
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数据流监控、服务页面数据统计监控等,炫酷的页面给你不一样的体验,试试吧!
推荐阅读:
一个学统计的程序员
喜欢Coding
喜欢硬件
喜欢树莓派
喜欢深度学习
喜欢你