自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

運(yùn)維監(jiān)控必看:必懂的 InfluxDB 使用指南,關(guān)鍵時(shí)刻能用上

運(yùn)維
InfluxDB 是一個(gè)由 InfluxData 開發(fā)的開源時(shí)序型數(shù)據(jù)庫(kù)。它由 Go 寫成,著力于高性能地查詢與存儲(chǔ)時(shí)序型數(shù)據(jù)。

?InfluxDB是什么

InfluxDB 是一個(gè)由 InfluxData 開發(fā)的開源時(shí)序型數(shù)據(jù)庫(kù)。它由 Go 寫成,著力于高性能地查詢與存儲(chǔ)時(shí)序型數(shù)據(jù)。InfluxDB 被廣泛應(yīng)用于存儲(chǔ)系統(tǒng)的監(jiān)控?cái)?shù)據(jù),IoT 行業(yè)的實(shí)時(shí)數(shù)據(jù)等場(chǎng)景。技術(shù)特點(diǎn)包括:

  • InfluxDB在技術(shù)實(shí)現(xiàn)上充分利用了Go語(yǔ)言的特性,無(wú)需任何外部依賴即可獨(dú)立部署[5]。
  • InfluxDB提供了一個(gè)類似于SQL的查詢語(yǔ)言并且一系列內(nèi)置函數(shù)方便用戶進(jìn)行數(shù)據(jù)查詢。
  • InfluxDB存儲(chǔ)的數(shù)據(jù)從邏輯上由 Measurement, tag組以及field 組以及一個(gè)時(shí)間戳組成的:

Measurement:由一個(gè)字符串表示該條記錄對(duì)應(yīng)的含義。比如它可以是監(jiān)控?cái)?shù)據(jù)cpu_load?,也可以是測(cè)量數(shù)據(jù)average_temperature

tag組:由一組鍵值對(duì)組成,表示的是該條記錄的一系列屬性信息。同樣的 measurement 數(shù)據(jù)所擁有的 tag 組不一定相同,它是無(wú)模式的(Schema-free)。tag 信息是默認(rèn)被索引的。

field組:也是由一組鍵值對(duì)組成,表示的是該條記錄具體的value信息(有名稱)。field組中可定義的value類型包括:64位整型,64位浮點(diǎn)型,字符串以及布爾型。Field信息是無(wú)法被索引的。

時(shí)間戳:就是該條記錄的時(shí)間屬性。如果插入數(shù)據(jù)時(shí)沒有明確指定時(shí)間戳,則默認(rèn)存儲(chǔ)在數(shù)據(jù)庫(kù)中的時(shí)間戳則為該條記錄的入庫(kù)時(shí)間。

InfluxDB 支持基于 HTTP 的數(shù)據(jù)插入與查詢。同時(shí)也接受直接基于TCP或UDP協(xié)議的連接。

InfluxDB 允許用戶定義數(shù)據(jù)保存策略(Retention Policies)來(lái)實(shí)現(xiàn)對(duì)存儲(chǔ)超過(guò)指定時(shí)間的數(shù)據(jù)進(jìn)行刪除或者降采樣。

增刪改查操作

進(jìn)入influxDB命令行

influx -precision rfc3339

InfluxDB數(shù)據(jù)庫(kù)操作

  • 顯示數(shù)據(jù)庫(kù)
show databases
  • 新建數(shù)據(jù)庫(kù)
create database shhnwangjian
  • 刪除數(shù)據(jù)庫(kù)
drop database shhnwangjian
  • 使用指定數(shù)據(jù)庫(kù)
use shhnwangjian

InfluxDB數(shù)據(jù)表操作

在 InfluxDB 當(dāng)中,并沒有表(table)這個(gè)概念,取而代之的是 MEASUREMENTS,MEASUREMENTS 的功能與傳統(tǒng)數(shù)據(jù)庫(kù)中的表一致,因此我們也可以將 MEASUREMENTS 稱為 InfluxDB 中的表。

? 顯示所有表

SHOW MEASUREMENTS

? 新建表

InfluxDB中沒有顯式的新建表的語(yǔ)句,只能通過(guò)insert數(shù)據(jù)的方式來(lái)建立新表。

insert disk_free,hostname=server01 value=442221834240i
insert cpu_virtual_used_num,host=1 value=4 1556593150

其中 disk_free? 就是表名,hostname?是索引(tag),value=xx是記錄值(field),記錄值可以有多個(gè),系統(tǒng)自帶追加時(shí)間戳

或者添加數(shù)據(jù)時(shí),自己寫入時(shí)間戳

insert disk_free,hostname=server01 value=442221834240i 1435362189575692182

? 刪除表

drop measurement disk_free

數(shù)據(jù)保存策略(Retention Policies)

influxDB是沒有提供直接刪除數(shù)據(jù)記錄的方法,但是提供數(shù)據(jù)保存策略,主要用于指定數(shù)據(jù)保留時(shí)間,超過(guò)指定時(shí)間,就刪除這部分?jǐn)?shù)據(jù)。

  • 查看當(dāng)前數(shù)據(jù)庫(kù) Retention Policies
show retention policies on "db_name"
show retention policies on cdhnm
  • 創(chuàng)建新的 Retention Policies
create retention policy "rp_name" on "db_name" duration 3w replication 1 default
create retention policy test on cdhnm duration 1h replication 1 default

rp_name:策略名;

db_name:具體的數(shù)據(jù)庫(kù)名;

3w:保存3周,3周之前的數(shù)據(jù)將被刪除,influxdb具有各種事件參數(shù),比如:h(小時(shí)),d(天),w(星期);replication 1:副本個(gè)數(shù),一般為1就可以了;

default:設(shè)置為默認(rèn)策略

  • 修改 Retention Policies
alter retention policy “rp_name” on “db_name” duration 30d default
alter retention policy autogen on cdhnm duration 1h default
  • 修改數(shù)據(jù)策略
alter retention policy autogen on cdhnm duration 0h replication 1 default
  • 刪除 Retention Policies
drop retention policy “rp_name” on “db_name"
drop retention policy test on cdhnm

查詢數(shù)據(jù)

select * from  cpu_virtual_used_num

插入數(shù)據(jù)

插入數(shù)據(jù)同時(shí)創(chuàng)建表

insert disk_free,hostname=server01 value=442221834240i
insert cpu_virtual_used_num,host=470b14f0-e869-43ed-a8e6-fd634258271f,hostname=server01 value=0.3 1557023160

刪除數(shù)據(jù)

influxDB是沒有提供直接刪除數(shù)據(jù)記錄的方法,但是提供數(shù)據(jù)保存策略,主要用于指定數(shù)據(jù)保留時(shí)間,超過(guò)指定時(shí)間,就刪除這部分?jǐn)?shù)據(jù)。創(chuàng)建新的 數(shù)據(jù)庫(kù)過(guò)期策略至少一個(gè)小時(shí)

Retention Policies
create retention policy "rp_name" on "db_name" duration 3w replication 1 default
retention policy duration must be at least 1h0m0s influxdb

查詢表字段

查詢tag:show tag keys from cluster_metric

查詢field:show field keys from cluster_metric

時(shí)區(qū)問(wèn)題

在使用 InfluxDB 時(shí),發(fā)現(xiàn)由于 InfluxDB 使用的是 UTC 時(shí)間,在查詢時(shí)經(jīng)常會(huì)遇到時(shí)區(qū)的問(wèn)題

1、時(shí)間格式

InfluxDB 除了支 epoch_time?外,還支持rfc3339_date_time_string和rfc3339_like_date_time_string。

epoch_time

理論一些的解釋是從協(xié)調(diào)世界時(shí)(Thursday, 1 January 1970)開始至今過(guò)去的時(shí)間。比如我們?cè)?java 程序中使用System.currentTimeMillis()得到的就是這個(gè)時(shí)間。一般情況下為毫秒級(jí)(ms)精度,即13位Long類型。而在InfluxDB中,時(shí)間戳的精度可以達(dá)到納秒級(jí)(ns)即19位Long類型。

rfc3339_date_time_string

rfc3339時(shí)間格式是ietf協(xié)會(huì)定義的一種時(shí)間格式,這個(gè)名字是因?yàn)樗欢x在rfc3339中。感興趣的同學(xué)可以自己查看上面的連接。InfluxDB中rfc3339的時(shí)間格式是這樣的:

‘YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ

其中nnnnnnnnn是可選的,如果不寫則會(huì)被設(shè)置為000000000。注意,如果使用這種時(shí)間格式,需要使用單括號(hào)(’)將時(shí)間括起來(lái)。

rfc3339_like_date_time_string

因?yàn)閞fc3339_date_time_string的格式確實(shí)比較反人類,所以InfluxDB也支持這種人類閱讀更友好的格式:

‘YYYY-MM-DD HH:MM:SS.nnnnnnnnn

其中HH:MM:SS.nnnnnnnnn是可選的,如果不填寫會(huì)被設(shè)置為00:00:00.000000000。所以查詢時(shí)可以設(shè)置到天、小時(shí)、分鐘、秒等不同精度。這種時(shí)間格式同樣要求被單括號(hào)括起來(lái)。

2、調(diào)整時(shí)間戳精度

InfluxDB默認(rèn)東時(shí)間是納秒(ns),即19位時(shí)間戳。但是一般情況下時(shí)間精度不會(huì)這么高。所以如果使用秒級(jí)精度查詢:

select * from cpu_virtual_used_num where time >= 1435333209s and time <= 1542964713s

如果使用毫秒級(jí)精度查詢:

select * from cpu_virtual_used_num where time >= 1435333209000ms and time <= 1542964714000ms

3、調(diào)整時(shí)區(qū)

如果需要使用北京時(shí)間(東八區(qū)),可以在SQL中使用tc關(guān)鍵字:

select * from cpu_virtual_used_num where time >= '2018-11-23 14:30:39' and time <= '2019-11-23 14:32:32' tz('Asia/Shanghai')

4、UTC時(shí)間與Beijing時(shí)間轉(zhuǎn)換

Timestamp時(shí)間列

既然是時(shí)間序列數(shù)據(jù)庫(kù),influxdb 的數(shù)據(jù)都有一列名為 time 的列,里面存儲(chǔ) UTC 時(shí)間戳。

Influxdb 時(shí)間轉(zhuǎn)成北京時(shí)間:UTC time + 8 hours = Beijing time

sql語(yǔ)句

influx -precision rfc3339 
show retention policies on cdhnm
alter retention policy autogen on cdhnm duration 1h default
create retention policy test on cdhnm duration 1h replication 1 default
drop retention policy test on cdhnm
insert cpu_virtual_used_num,host=470b14f0-e869-43ed-a8e6-fd634258271f,hostname=server01 value=0.9 1557045292000000000
select * from cpu_virtual_used_num where time >= '2018-11-23 14:30:39' and time <= '2019-11-23 14:32:32' tz('Asia/Shanghai')
delete from cpu_virtual_used_num

啟動(dòng)服務(wù)

切換到root用戶
命令:su
輸入密碼:123456

啟動(dòng):

sudo service influxdb start

重啟:

service influxdb restart

切換到普通用戶:

命令:exit

責(zé)任編輯:武曉燕 來(lái)源: 高效運(yùn)維
相關(guān)推薦

2024-01-07 19:48:12

2014-08-05 17:16:12

WiFi 華為

2023-12-26 01:19:50

Linux網(wǎng)絡(luò)診斷

2018-12-20 10:40:12

Redis架構(gòu)運(yùn)維

2013-12-16 10:58:40

2016-05-10 10:23:02

垂直Saas

2022-08-15 09:00:23

數(shù)據(jù)庫(kù)日志

2020-02-12 16:45:00

黑客網(wǎng)絡(luò)安全Windows

2023-08-11 07:13:58

人工智能首席信息官平臺(tái)服務(wù)

2018-12-28 09:11:28

運(yùn)維監(jiān)控開源

2022-09-29 09:07:08

DataGrip數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)

2011-05-03 11:03:47

噴墨打印機(jī)

2022-07-11 13:43:51

Prometheus監(jiān)控

2019-05-15 11:14:22

監(jiān)控工具運(yùn)維

2020-07-02 09:55:32

運(yùn)維架構(gòu)技術(shù)

2011-03-21 14:43:42

2012-12-26 12:41:14

Android開發(fā)WebView

2009-12-28 17:40:10

WPF TextBox

2010-09-06 14:24:28

ppp authent

2011-07-21 14:57:34

jQuery Mobi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)