安裝
KairosDB 需要運行在java1.6及以上版本。以及設置java環境變量。
KairosDB 下載地址:https://github.com/kairosdb/kairosdb/releases
1. 將KairosDB解壓到你想位於的目錄下
2. 編輯conf/kairosdb.properties文件,更改 kairosdb.service.datastore屬性,決定你要使用的數據庫。默認是內存H2數據庫,這個比較慢。
3. 執行./kairosdb run啓動KairosDB。
更改系統文件句柄限制
更改數據存儲
KairosDB 後端數據存儲可以有多個選擇。在默認情況下KairosDB使用內存H2數據庫來存儲數據點數據。要更改存儲方式編輯kairosdb.properties 文件修改kairosdb.service.datastore屬性。
使用H2
這是默認情況下,在開發環境下,可以這麼來配置。生產環境下不建議。
配置選項
kairosdb.datastore.h2.database_path | H2數據庫目錄 |
刪除數據庫目錄和重新啓動KairosDB會導致數據丟失。
使用Cassandra
對Cassandra的默認配置是使用寬行。每一行設置爲包含3周的數據,原因是如果你每毫秒寫一個指標,3周的數據量剛剛超過10億列。而Cassandra有一個20億列的限制。
行的大小有點小的疑惑。當查詢數據時,越多的數據位於當行上執行的效率高。這並不意味着Cassandra只能保存3周的數據,而是意味着在寫入到新行前將3周的數據寫入到同一行。 這個可以看看Cassandra模式。
更改read_repair_chance,這個值告訴Cassandra多久需要進行讀修復。讀修復默認是1,也就100%改變。推薦值爲0.1,10%的改變。登錄cassandra-cli執行下面的命令更改:
配置選項
kairosdb.datastore.cassandra.host_name | Cassandra 的主機名或IP |
kairosdb.datastore.cassandra.port | Cassandra 服務端口號 |
kairosdb.datastore.cassandra.replication_factor | 當數據寫入Cassandra時複製因子 |
kairosdb.datastore.cassandra.row_width | 在一行裏的毫秒數。默認爲7257600000,也就是12周。加載數據後更改此值會導致意想不到的結果。 |
kairosdb.datastore.cassandra.write_delay | 將數據寫入到Cassandra,後臺線程等待的時間。允許批量插入數據到存儲。 |
kairosdb.datastore.cassandra.single_row_read_size | 當讀單行時的列數。在性能與內存之間平衡。當查詢行健索引和最初多獲取後的持續查詢時使用。 |
kairosdb.datastore.cassandra.multi_row_read_size | 一個查詢讀取初始多個get的列數。如果數據有極少的標記,該值設置大些。如果你的指標有很多標記組合低於該值,可能會遇到內存不足的問題。 |
使用HBase
需要手動創建表。創建表的腳本位於源碼目錄下./src/scripts/create_hbase_table.sh
注意:HBase目前只支持秒級別數據。
配置選項
kairosdb.datastore.hbase.timeseries_table | 時間序列表名 |
kairosdb.datastore.hbase.uinqueids_table | 唯一ID表名 |
kairosdb.datastore.hbase.zoo_keeper_quorum | zoo keeper quorum主機名 |
kairosdb.datastore.hbase.zoo_keeper_base_dir | |
kairosdb.datastore.hbase.auto_create_metrics | 自動創建指標 |
使用遠程數據存儲
將遠程的KairosDB服務器作爲本地的KairosDB實例的存儲並將數據發送到遠程。數據以JSON格式存儲在目錄下。可配置的後臺線程將壓縮數據並將數據點上傳到遠程KairosDB實例上。
配置選項
kairosdb.datastore.remote.data_dir | 數據點目錄,默認當前目錄。 |
kairosdb.datastore.remote.remote_url | 將數據發送到KairosDB 實例的URL,如: http://10.10.10.10:8080 |
kairosdb.datastore.remote.schedule | Quartz cron schedule 上傳收集數據的頻率 |
啓動和關閉服務
通過kairosdb.sh腳本來完成。
在前臺啓動服務:
在後臺啓動服務:
停止服務:
# ./kairosdb.sh stop
採集數據
簡單的收集些數據。
可視化界面
KairosDB自帶了一個可視化界面,不過與OpenTSDB的可視化界面對比,感覺比較糟糕。
訪問地址:http://10.0.101.145:8080/index.html