opentsdb

时间序列数据库(TSDB)初识与选择(InfluxDB、OpenTSDB、Druid、Elastic

放肆的年华 提交于 2020-03-06 10:07:50
背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。 以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。 “所有一切如泪水般消失在时间之中,时间正在死去“,以前我们利用互联网解决现实的问题。现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势性,预测其走势。 于是,我们开始存储大量时间相关的数据(如日志,用户行为等),并总结出这些数据的结构特点和常见使用场景,不断改进和优化,创造了一种新型的数据库分类——时间序列数据库(Time Series Database). 时间序列模型 时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。 每个时序点结构如下: timestamp: 数据点的时间,表示数据发生的时间。 metric: 指标名,当前数据的标识,有些系统中也称为name。 value: 值,数据的数值,一般为double类型,如cpu使用率,访问量等数值,有些系统一个数据点只能有一个value,多个value就是多条时间序列。有些系统可以有多个value值

时间序列数据库(TSDB)初识与选择

拥有回忆 提交于 2020-03-05 23:53:43
背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。 以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。 “所有一切如泪水般消失在时间之中,时间正在死去“ ,以前我们利用互联网解决现实的问题。现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势性,预测其走势。 于是,我们开始存储大量时间相关的数据(如日志,用户行为等),并总结出这些数据的结构特点和常见使用场景,不断改进和优化,创造了一种新型的数据库分类——时间序列数据库(Time Series Database). 时间序列模型 时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。 每个时序点结构如下: timestamp: 数据点的时间,表示数据发生的时间。 metric: 指标名,当前数据的标识,有些系统中也称为name。 value: 值,数据的数值,一般为double类型,如cpu使用率,访问量等数值,有些系统一个数据点只能有一个value,多个value就是多条时间序列。有些系统可以有多个value值

OpenTSDB中的一个奇怪现象

我的梦境 提交于 2020-03-01 08:28:58
功能: 有个采集点,后端会周期性的采集指标数据,以及指标实例(TimeSeries)对应的元数据信息。 因此也就是要定期的更新TSMeta。 程序刚启动运行都很OK, 可是第二天看日志发现,很多Interal Server Error.! 不明所以!,所以就进入测试吧。 ....此处省略大量的字!! ... 最后发现了一个现象,因为我的元数据信息基本都存放在TSMeta的 custom这个属性中,custom也是个map类型的, 其中有个定义的字段名称为ifNumber,也就是map的key值。 那么问题来了, 第一次更新TSMeta的时候 都OK, 元数据信息也都更新到库里面去了,而当第二次更新该TSMeta的时候就会报错“Interal Server Error”! 而当我把ifNumber这个命名改为其他命名的时候,就又一切都OK了。! 难倒是命名原因?? 最后我测试了 **If**, **Fi**... 等等命名也都会出现同样的问题, 我就有些凌乱了。 !! 最终解决方案: (1) 把ifNumber这个命名给改了, (2) 想OpenTSDB 的Github中提交了个issue https://github.com/OpenTSDB/opentsdb/issues/514 附上测试代码: 关于该问题 已经提交到了OpenTSDB 源码的讨论话题中: https:/

安装openTSDB

爱⌒轻易说出口 提交于 2020-02-27 20:17:07
1. 安装JDK 2. 安装HBASE 安装单机版hbase hbase官方文档中的安装步骤 ,首先下载hbase的安装镜像,官方地址下载较慢,可以从国内地址下载: https://mirrors.ustc.edu.cn/apache/hbase/ , 注意下载的是bin.tar.gz,而不是src.tar.gz, 前者是已经编译好可直接运行,后者是一系列源码文件,需要自己编译。 1.下载后用以下命令解压 tar -xzvf hbase-2.2.0-bin.tar.gz 2.进入解压后的文件夹,对 conf/hbase-env.sh 进行编辑,主要对下面两条进行配置。 #机器上的jdk路径,若不清楚可使用 whereis java来查看 export JAVA_HOME=/usr/local/env/jdk1.8.0_211 #使用hbase自带的zookeerper,这里必须进行配置,因为opentsdb是通过zookeeper连接hbase export HBASE_MANAGES_ZK=true 对 conf/hbase-site.xml 文件进行配置,将 <configuration>里面的内容拷贝到文件相应位置即可。 < configuration > < property > < name > hbase.rootdir </ name > < value > file

OpenTSDB介绍

爱⌒轻易说出口 提交于 2020-01-19 21:43:34
OpenTSDB 2.0, the scalable, distributed time series database可扩展、分布式时间序列数据库 1、背景 一些老的监控系统,它常常会出现这样的问题: 1)中心化数据存储进而导致单点故障。 2)有限的存储空间。 3)数据会因为时间问题而变得不准确。 4)不易于定制图形。 5)不能扩展采集数据点到100亿级别。 6)不能扩展metrics到K级别。 7)不支持秒级别的数据。 OpenTSDB解决上面的问题: 1、它用 hbase存储所有的时序 (无须采样)来构建一个分布式、可伸缩的时间序列数据库。 2、它支持 秒级数据采集所有metrics ,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。 3、OpenTSDB可以从 大规模的集群( 包括集群中的网络设备、操作系统、应用程序)中 获取相应的metrics并进行存储、索引以及服务 从而使得这些数据更容易让人理解,如web化,图形化等。 对于运维工程师而言,OpenTSDB可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。 对于管理者而言,OpenTSDB可以衡量系统的SLA,理解复杂系统间的相互作用,展示资源消耗情况。集群的整体作业情况,可以用以辅助预算和集群资源协调。 对于开发者而言,OpenTSDB可以展示集群的主要性能瓶颈

Prometheus 0002

二次信任 提交于 2020-01-14 11:22:34
Prometheus vs Zabbix Zabbix 使用的是 C 和 PHP, Prometheus 使用 Golang, 整体而言 Prometheus 运行速度更快一点。 Zabbix 属于传统主机监控,主要用于物理主机,交换机,网络等监控,Prometheus 不仅适用主机监控,还适用于 Cloud, SaaS, Openstack,Container 监控。 Zabbix 在传统主机监控方面,有更丰富的插件。 Zabbix 可以在 WebGui 中配置很多事情,但是 Prometheus 需要手动修改文件配置。 Prometheus vs Graphite Graphite 功能较少,它专注于两件事,存储时序数据, 可视化数据,其他功能需要安装相关插件,而 Prometheus 属于一站式,提供告警和趋势分析的常见功能,它提供更强的数据存储和查询能力。 在水平扩展方案以及数据存储周期上,Graphite 做的更好。 Prometheus vs InfluxDB InfluxDB 是一个开源的时序数据库,主要用于存储数据,如果想搭建监控告警系统, 需要依赖其他系统。 InfluxDB 在存储水平扩展以及高可用方面做的更好, 毕竟核心是数据库。 Prometheus vs OpenTSDB OpenTSDB 是一个分布式时序数据库,它依赖 Hadoop 和 HBase

Writing OpenTSDB to Bigtable with HTTP POST not working (using Kubernetes(

烂漫一生 提交于 2020-01-12 11:15:50
问题 Updated with more information I am trying to set up OpenTSDB on Bigtable, following this guide: https://cloud.google.com/solutions/opentsdb-cloud-platform Works well, all good. Now I was trying to open the opentsdb-write service with a LoadBalancer (type). Seems to work well, too. Note: using a GCP load balancer. I am then using insomnia to send a POST to the ./api/put endpoint - and I get a 204 as expected (also, using the ?details shows no errors, neither does the ?sync ) (see http:/

Install grafana without elasticseach

这一生的挚爱 提交于 2019-12-25 06:55:23
问题 I’m trying to install grafana to work with OpenTSDB datasource. I’d like to know, what should I do to install it without elasticsearch? 回答1: I'm using grafana with Influxdb and I'm not using elasticsearch. 回答2: Grafana 2 is out in beta and I've been using that in production for a while. Grafana 2 now has its own data store, which either uses MySQL or SQLite. But you can always use Elasticsearch as well. You can read more about it here Update: Stable version of Grafana 2 is now out, and it

prometheus 网络线路监控

若如初见. 提交于 2019-12-11 17:38:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Grafana Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,OpenTSDB,Elasticsearch,Cloudwatch,Prometheus,InfluxDB,小米监控 等。 安装 分别安装grafana、prometheus、blackbox_exporter,安装文档参考官网。 配置 prometheus 配置和运行 在prometheus的配置文件 prometheus.yml 中增加一个新的job - job_name: 'ping_all' scrape_interval: 5s metrics_path: /probe params: module: [icmp] #ping static_configs: - targets: ['114.114.114.114', '8.8.8.8'] labels: group: '一线城市-电信网络监控' - targets: ['14.215.177.38'] labels: group: '一线城市-联通网络监控' - targets: ['14.18.175.154'] labels: group: '一线城市-移动网络监控' grafana 配置和运行 运行grafana 在 grafana中增加

Kairosdb error metric[0](name=abcd).tag[xyz].value may not be empty

亡梦爱人 提交于 2019-12-11 12:42:01
问题 I am inserting data in kairosdb using the command: reference bin/kairosdb.sh import -f export.txt but in the kairosdb.log file I am getting following error: 08-10|13:54:33.443 [main] INFO [Main.java:267] - KairosDB service started 08-10|13:54:33.443 [main] INFO [Main.java:268] - ------------------------------------------ 08-10|14:00:38.236 [main] INFO [TelnetServerModule.java:42] - Configuring module TelnetServerModule 08-10|14:00:39.259 [main] INFO [CassandraHostRetryService.java:48] -