InfluxDB(官方使用说明)

安装InfluxDB OSS

此页面提供有关安装,启动和配置InfluxDB的说明。

InfluxDB OSS安装要求

root为了成功完成,需要安装InfluxDB软件包或具有管理员权限。

InfluxDB OSS网络端口

InfluxDB默认使用以下网络端口:

  • TCP端口8086用于通过InfluxDB的HTTP API进行客户端 - 服务器通信
  • TCP端口8088用于RPC服务以进行备份和还原

除了上面的端口,InfluxDB还提供了多个可能需要自定义端口的插件。可以通过配置文件修改所有端口映射,配置文件位于/etc/influxdb/influxdb.conf默认安装位置。

网络时间协议(NTP)

InfluxDB使用主机的UTC本地时间为数据分配时间戳并用于协调目的。使用网络时间协议(NTP)同步主机之间的时间; 如果主机的时钟与NTP不同步,写入InfluxDB的数据的时间戳可能不准确。

安装InfluxDB OSS

对于不想安装任何软件并准备使用InfluxDB的用户,您可能需要查看我们的 托管主机InfluxDB产品

Ubuntu和DebianRed Hat&CentOSSLES&openSUSEFreeBSD / PC-BSDmacOS

有关如何从文件安装Debian软件包的说明,请参阅 下载页面

Debian和Ubuntu用户可以使用apt-get包管理器安装最新的稳定版本的InfluxDB 。

对于Ubuntu用户,使用以下命令添加InfluxData存储库:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

对于Debian用户,添加InfluxData存储库:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

然后,安装并启动InfluxDB服务:

sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start

或者,如果您的操作系统使用的是systemd(Ubuntu 15.04 +,Debian 8+):

sudo apt-get update && sudo apt-get install influxdb
sudo systemctl unmask influxdb.service
sudo systemctl start influxdb

配置InfluxDB OSS

系统具有每个配置文件设置的内部默认值。使用该influxd config命令查看默认配置设置。

本地配置文件(/etc/influxdb/influxdb.conf)中的大多数设置都被注释掉了; 所有注释掉的设置将由内部默认值确定。本地配置文件中的任何未注释的设置都会覆盖内部默认值。请注意,本地配置文件不需要包含每个配置设置。

有两种方法可以使用您的配置文件启动InfluxDB:

  • 使用以下-config 选项将进程指向正确的配置文件:

    influxd -config /etc/influxdb/influxdb.conf
  • 将环境变量设置为INFLUXDB_CONFIG_PATH配置文件的路径并启动该过程。例如:
    echo $INFLUXDB_CONFIG_PATH
    /etc/influxdb/influxdb.conf
    
    influxd
    

InfluxDB首先检查-config选项,然后检查环境变量。

有关更多信息,请参阅配置文档。

数据和WAL目录权限

确保存储数据和预写日志(WAL)的目录对于运行该influxd服务的用户是可写的。

注意:如果数据和WAL目录不可写,则influxd服务将无法启动。

有关datawal目录路径的信息,请参阅配置InfluxDB文档的数据设置部分。

在AWS上托管InfluxDB OSS

InfluxDB的硬件要求

我们建议使用两个SSD卷,一个用于influxdb/wal另一个用于influxdb/data。根据您的负载,每个卷应具有大约1k-3k的预配置IOPS。该influxdb/data卷应该有更多的磁盘空间低IOPS和influxdb/wal容量应该有更少的磁盘空间,具有较高的IOPS。

每台机器应至少有8G RAM。

我们已经看到了R4类机器的最佳性能,因为它们提供的内存比C3 / C4类和M4类都要多。

配置InfluxDB OSS实例

此示例假定您使用的是两个SSD卷并且已正确装入它们。此示例还假定每个卷都安装在/mnt/influx/mnt/db。有关如何执行此操作的详细信息,请参阅有关如何向您的实例添加卷的Amazon文档。

配置文件

您必须为每个InfluxDB实例更新配置文件。

...

[meta]
  dir = "/mnt/db/meta"
  ...

...

[data]
  dir = "/mnt/db/data"
  ...
wal-dir = "/mnt/influx/wal"
  ...

...

[hinted-handoff]
    ...
dir = "/mnt/db/hh"
    ...

InfluxDB OSS权限

在InfluxDB数据和配置中使用非标准目录时,还要确保正确设置文件系统权限:

chown influxdb:influxdb /mnt/influx
chown influxdb:influxdb /mnt/db

----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------

InfluxDB OSS入门

安装 InfluxDB后,您就可以开始做一些很棒的事了。在本节中,我们将使用influx 命令行界面(CLI),它包含在所有InfluxDB包中,是一种轻量级且简单的与数据库交互的方式。CLI 8086默认通过端口向InfluxDB HTTP API发出请求,直接与InfluxDB通信。

注意:也可以通过生成原始HTTP请求来使用数据库。有关应用程序的 示例,请参阅编写数据查询数据curl

创建数据库

如果您已在本地安装InfluxDB,则该influx命令应通过命令行提供。执行influx将启动CLI并自动连接到本地InfluxDB实例(假设您已经启动了服务器service influxdb startinfluxd直接运行)。输出应如下所示:

$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.4.x
InfluxDB shell 1.4.x
>

笔记:

  • InfluxDB HTTP API 8086默认在端口上运行。因此,influx将连接到端口8086localhost默认。如果您需要更改这些默认值,请运行influx --help
  • -precision参数指定任何返回的时间戳的格式/精度。在上面的示例中,rfc3339告诉InfluxDB以RFC3339格式YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)返回时间戳。

现在,命令行已准备好以Influx查询语言(又称InfluxQL)语句的形式获取输入。要退出InfluxQL shell,请键入exit并单击return。

全新安装的InfluxDB没有数据库(除了系统_internal),因此创建一个是我们的首要任务。您可以使用CREATE DATABASE <db-name>InfluxQL语句创建数据库,其中<db-name>是您要创建的数据库的名称。只要字符串是双引号,数据库的名称就可以包含任何unicode字符。如果名称包含ASCII字母,数字或下划线且不以数字开头,则也可以不加引号。

在本指南中,我们将使用数据库名称mydb

> CREATE DATABASE mydb
>

注意:按 Enter键后,将出现一个新提示,并且不显示任何其他提示。在CLI中,这意味着语句已执行且没有要显示的错误。如果出现问题,将始终显示错误。没有消息就是好消息!

现在mydb已经创建了数据库,我们将使用该SHOW DATABASES语句显示所有现有数据库:

> SHOW DATABASES
name: databases
---------------
name
_internal
mydb

>

注:该_internal数据库中创建和使用InfluxDB存储内部运行指标。稍后再查看以了解InfluxDB如何在幕后执行。

SHOW DATABASES与之不同,大多数InfluxQL语句必须针对特定数据库运行。您可以使用每个查询显式命名数据库,但CLI提供了一个便捷语句,USE <db-name>它将自动为将来的所有请求设置数据库。例如:

> USE mydb
Using database mydb
>

现在,将来的命令只会针对mydb数据库运行。

编写和探索数据

现在我们有了一个数据库,InfluxDB已准备好接受查询和写入。

首先,在数据存储区上的简短入门。InfluxDB中的数据按“时间序列”进行组织,其中包含测量值,如“cpu_load”或“temperature”。时间序列为零到多points,每个离散的度量样本一个。点由time(时间戳),a measurement(例如“cpu_load”),至少一个键值field(测量值本身,例如“值= 0.64”或“温度= 21.2”)和零到多键组成-value tags包含有关该值的任何元数据(例如“host = server01”,“region = EMEA”,“dc = Frankfurt”)。

从概念上讲,您可以将a measurement视为一个SQL表,其中主索引始终是时间。 tags并且fields是表中的有效列。 tags被索引,而fields不是。不同之处在于,使用InfluxDB,您可以进行数百万次测量,您不必预先定义模式,也不会存储空值。

使用线路协议将点写入InfluxDB,其遵循以下格式:

<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

以下几行都是可以写入InfluxDB的点的示例:

cpu,host=serverA,region=us_west value=0.64
payment,device=mobile,product=Notepad,method=credit billed=33,licenses=3i 1434067467100293230
stock,symbol=AAPL bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000

注意:有关线路协议的更多信息,请参见“ 语法”页面。

要使用CLI将单个时间序列数据点插入InfluxDB,请输入INSERT后跟一个点:

> INSERT cpu,host=serverA,region=us_west value=0.64
>

测量名称为cpu和标记的点hostregion现在已经写入数据库,测量value值为0.64

现在我们将查询刚才写的数据:

> SELECT "host", "region", "value" FROM "cpu"
name: cpu
---------
time		    	                     host     	region   value
2015-10-21T19:28:07.580664347Z  serverA	  us_west	 0.64

>

注意:在编写我们的观点时,我们没有提供时间戳。如果没有为某个点提供时间戳,InfluxDB会在获取该点时分配本地当前时间戳。这意味着您的时间戳会有所不同。

让我们尝试存储另一种类型的数据,在同一测量中有两个字段:

> INSERT temperature,machine=unit42,type=assembly external=25,internal=37
>

要使用查询返回所有字段和标记,您可以使用*运算符:

> SELECT * FROM "temperature"
name: temperature
-----------------
time		                        	 external	  internal	 machine	type
2015-10-21T19:28:08.385013942Z  25	        	37     		unit42  assembly

>

警告:在大型数据库上使用*不带LIMIT子句可能会导致性能问题。您可以使用Ctrl+C取消响应时间过长的查询。

InfluxQL有许多功能和关键字,这里没有涉及,包括对Go风格的正则表达式的支持。例如:

> SELECT * FROM /.*/ LIMIT 1
--
> SELECT * FROM "cpu_load_short"
--
> SELECT * FROM "cpu_load_short" WHERE "value" > 0.9

这就是将数据写入InfluxDB并进行查询所需要知道的全部内容。要了解有关InfluxDB写入协议的更多信息,请查看写入数据指南。要进一步探索查询语言,请查看查询数据指南。有关InfluxDB概念的更多信息,请查看“ 关键概念”页面。

 

原文地址:https://www.cnblogs.com/zouhao/p/9865073.html

时间: 2024-11-02 04:22:43

InfluxDB(官方使用说明)的相关文章

iterm2 官方使用说明翻译

文本选择 --------------- 1.通过鼠标选择 2.不用鼠标选择,按cmd+f 打开搜索框,输入你像copy的文本开始字段,然后搜索到给定的字段,按tab向后逐词增加选定,shift+tab向前逐词选定 窗口切分 ------------------- iterm2可以把一个tab切分成很多窗口,每个窗口都是一个不同的终端会话.通过cmd+d 或 cmd+shift+d 可以把窗口进行垂直和水平的切分,你也可以通过cmd+opt+方向键进行各个窗口的移动,另外你也可以通过cmd+sh

联想教育应用使用说明(7.6版本号)——第4章 网络控制工具的使用

第4章网络控制工具的使用 第1章联想教育应用方案功能简单介绍http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署http://blog.csdn.net/u013634961/article/details/39616325 第3章联想教育应用的日常维护与使用 http://blog.csdn.net/u013634961/article/details/39804509 第4章网络控制工具的使用 http

联想教育应用使用说明(7.6版本号)——第5章 常见的问题与解答

第5章常见的问题与解答 第1章联想教育应用方案功能简单介绍http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署http://blog.csdn.net/u013634961/article/details/39616325 第3章联想教育应用的日常维护与使用 http://blog.csdn.net/u013634961/article/details/39804509 第4章网络控制工具的使用 http:

联想教育应用使用说明(7.6版本)——第4章 网络控制工具的使用

第4章网络控制工具的使用 第1章联想教育应用方案功能简介http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署http://blog.csdn.net/u013634961/article/details/39616325 第3章联想教育应用的日常维护与使用 http://blog.csdn.net/u013634961/article/details/39804509 第4章网络控制工具的使用 http:/

联想教育应用使用说明(7.6版本)——第5章 常见的问题与解答

第5章常见的问题与解答 第1章联想教育应用方案功能简介http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署http://blog.csdn.net/u013634961/article/details/39616325 第3章联想教育应用的日常维护与使用 http://blog.csdn.net/u013634961/article/details/39804509 第4章网络控制工具的使用 http://

联想教育应用使用说明(7.6版本)——目录

联想教育应用使用说明 目 录 特别说明:本说明来自联想官方使用说明, 但图片是作者一张一张上传的,实属不易! 第1章联想教育应用方案功能简介  http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署 第3章联想教育应用的日常维护与使用 第4章网络控制工具的使用 第5章常见的问题与解答 联想教育应用方案注意事项 1.每个系统不能超过8个分区:在硬盘保护分区设置过程中, 每个系统包含的分区数不能超过8个(包括系统

Influxdb的存储引擎

创建Influxdb数据库时,我们可以看到下面选项,每个选项的含义就是本文要描述的: Influxdb内部数据的存储可以使用不同的存储引擎.当前0.8.7版本支持的是LevelDB, RocksDB, HyperLevelDB, 和 LMDB. 这几个数据库都是kv类型的数据库,相关信息如下: LevelDB 是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了. LevelDB 是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒

建立Heapster Influxdb Grafana集群性能监控平台

依赖于kubenets dns服务地址:https://note.youdao.com/web/#/file/WEB42cf75c02ae113136ff664f3f137cb67/note/WEB0eec19f3667471969b3354b7128fda9c/ 图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster .Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: InfluxDB . ElasticSe

Docker+JMeter+InfluxDB+Grafana从容器内部发起压测

1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <[email protected]># 作者 ENV http_proxy ""ENV https_proxy "" RUN mkdir /test && \ chmod -R 777 /test# 创建/test目录,用于存放jmx脚本.jtl结果文件.html测试报告文件 ENV JMET