可以通过telnet协议(4242端口)或REST协议(8080端口)将数据提交到KairosDB,端口可以在kairosdb.properties文件中修改。
通过telnet提交数据
数据格式为:文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
put <metric name> <time stamp> <value> <tag> <tag>... /n
Metric name: 指标名称只能是字母数字-_. 。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
Time stamp:时间戳可以是毫秒或秒。秒是为了和OpenTSDB兼容。Cassandra支持毫秒数据存储。注意:REST API只支持毫秒时间戳。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
Tag:一系列的key=value键值对。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
注意:发送的数据后面必须跟一个换行符。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
例如:文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
#!/bin/bash # Current time in milliseconds now=$(($(date +%s%N)/1000000)) metric=load_value_test value=42 host=10.92.4.4 echo "put $metric $now $value host=A" | nc -w 30 $host 4242
通过REST提交数据
提交的URL地址为:http://localhost:8080/api/v1/datapoints文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
[{ "name": "archive.file.tracked", "timestamp": 1349109376, "type": "long", "value": 123, "tags":{"host":"test"} }, { "name": "archive.file.search", "timestamp": 999, "type: "double", "value": 32.1, "tags":{"host":"test"} }]
在REST API情况下,时间戳始终被视为自1970年1月1日的毫秒。如果写入HBase会被截断到秒。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
后面再说REST API。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
Graphite协议
KairosDB 支持Graphite 协议。具体参见:https://graphite.readthedocs.org/en/latest/feeding-carbon.html文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
这可以让你整合KairosDB到现有的应用程序中将数据推送到Graphite。文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/
KairosDB的carbon协议插件:https://github.com/kairosdb/kairos-carbon文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/ 文章源自运维生存时间-https://www.ttlsa.com/kairosdb/pushing-data-into-kairosdb/

评论