influxdb介绍与安装

Influxdb简介

InfluxDB

一个开源的时间序列数据库

InfluxDB是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及执行分析。

  • 特性

    内置HTTP API,所以不用再写服务端代码来启动和运行。
    数据可以被标记,允许非常灵活的查询。
    类似SQL的查询语言
    安装和管理简单,数据输入和输出速度快
    它旨在实时响应查询。这意味着point数据写入即被索引并立即可供响应时间应小于100ms的查询使用。

Influxdb保存策略

  1. InfluxDB 数据保留策略 说明

    InfluxDB的数据保留策略(RP) 用来定义数据在InfluxDB中存放的时间,或者定义保存某个期间的数据。

一个数据库可以有多个保留策略,但每个策略必须是独一无二的。

  1. InfluxDB 数据保留策略 目的

    InfluxDB本身不提供数据的删除操作,因此用来控制数据量的方式就是定义数据保留策略。

因此定义数据保留策略的目的是让InfluxDB能够知道可以丢弃哪些数据,从而更高效的处理数据。

  1. InfluxDB 数据保留策略 操作
  • 查询策略

可以通过如下语句查看数据库的现有策略:

> SHOW RETENTION POLICIES ON a
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        true

可以看到,a只有一个策略,各字段的含义如下:

name–名称,此示例名称为 default

duration–持续时间,0代表无限制

shardGroupDuration–shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,应该大于这个时间的数据在查询效率上应该有所降低。

replicaN–全称是REPLICATION,副本个数

default–是否是默认策略

  • 新建策略
> CREATE RETENTION POLICY "2_hours" ON "a" DURATION 2h REPLICATION 1 DEFAULT
> SHOW RETENTION POLICIES ON a
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false
2_hours    2h0m0s        1h0m0s            1        true

通过上面的语句可以添加策略,本例在 a 库添加了一个2小时的策略,名字叫做 2_hours, duration为2小时,副本为1,设置为默认策略。

因为名为default的策略不再是默认策略,因此,在查询使用default策略的表时要显式的加上策略名 “default”。

> select * from "default".cpu limit 2
name: cpu
---------
time            cpu        host                host_id    usage_guest    usage_guest_nice    usage_idle   usage_iowait        usage_irq    usage_nice        usage_softirq    usage_steal    usage_system        usage_user
1467884670000000000    cpu-total    xxx        0        0            99.79994164175388    0            0        0.06251823446523729    0        0        0.12920435125646068    0.008335764603451727
1467884670000000000    cpu9        xxx                0        0            97.79338014069532    1.8054162487519367    0        0            0        0        0.10030090272883943    0.3009027081135398
  • 修改策略

修改策略使用如下语句修改

> ALTER RETENTION POLICY "2_hours" ON "a" DURATION 4h DEFAULT
> show retention POLICIES on a
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false
2_hours    4h0m0s        1h0m0s            1        true

可以看到,修改后的策略发生了变化。

  • 删除策略

InfluxDB中策略的删除操作如下所示:

> drop retention POLICY "2_hours" ON "a"
> show retention POLICIES on a
name    duration    shardGroupDuration    replicaN    default
default    0        168h0m0s        1        false

可以看到,名为2_hours的策略已经被删除了。

  1. 其他说明
    策略这个关键词“POLICY”在使用是应该大写,小写应该会出粗。

当一个表使用的策略不是默认策略时,在进行操作时一定要显式的指定策略名称,否则会出现错误。

安装InfluxDb

安装方式一

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.0.x86_64.rpm
sudo yum install influxdb-1.6.0.x86_64.rpm
sudo service influxdb start

安装方式二(推荐)

Red Hat和CentOS用户可以使用yum包管理器安装最新稳定版本的InfluxDB :

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

将存储库添加到yum配置后,通过运行以下命令安装并启动InfluxDB服务:

sudo yum install influxdb
sudo service influxdb start

或者,如果您的操作系统使用的是systemd(CentOS 7 +,RHEL 7+):

sudo yum install influxdb
sudo systemctl start influxdb

MAC OS X

  • OS X 10.8或者更高版本的用户,可以使用Homebrew来安装InfluxDB; 一旦brew安装了,可以用下面的命令来安装InfluxDB:
brew update
brew install influxdb
#登陆后在用launchd开始运行InfluxDB之前,先跑:
ln -sfv /usr/local/opt/influxdb/*.plist ~/Library/LaunchAgents
#然后运行InfluxDB:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
#如果你不想用或是不需要launchctl,你可以直接在terminal里运行下面命令来启动InfluxDB:
influxd -config /usr/local/etc/influxdb.conf

进入influxdb

添加一个账号密码

shell>influx
Connected to http://localhost:8086 version 1.6.0
InfluxDB shell version: 1.6.0
>CREATE USER "root" WITH PASSWORD '123456' WITH ALL PRIVILEGES    ##添加一个账号
#退出
>exit

#配置文件目录
/etc/influxdb/

系统具有每个配置文件设置的内部默认值。使用该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字段属性如果是string类型,那么在grafana是不会显示具体值的,如果想要显示鼠标指示的地方的值,需要influxdb里的值为double类型

忘记密码

解决方案:

  1. 更改配置文件,设置auth-enabled = false.

  2. 重启influxdb。

  3. 用命令行登录。

  4. 进行用户管理:创建管理员、更改密码。。

  5. 更改配置文件,设置auth-enabled = true

  6. 重启influxdb。

  7. done。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值