精华内容
下载资源
问答
  • influxdb使用

    2019-03-01 14:26:19
    influxdb使用说明 ... 什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其...

    influxdb使用说明

    本博客转载自:https://www.cnblogs.com/jackyroc/p/7677508.html


    influxdb是目前比较流行的时间序列数据库。

    • 何谓时间序列数据库?
      什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

    Influxdb

    Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
    它有三大特性:

    1. 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
    2. 度量(Metrics):对实时大量数据进行计算;
    3. 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

    同时,它有以下几大特点:

    • schemaless(无结构),可以是任意数量的列;
    • min, max, sum, count, mean, median 一系列函数,方便统计;
    • Native HTTP API, 内置http支持,使用http读写;
    • Powerful Query Language 类似sql;
    • Built-in Explorer 自带管理工具。

    Influxdb安装


    注:本文使用的influxdb version是1.0.2

    在讲解具体的安装步骤之前,先说说influxdb的两个http端口:8083和8086

    • port 8083:管理页面端口,访问localhost:8083可以进入你本机的influxdb管理页面;
    • port 8086:http连接influxdb client端口,一般使用该端口往本机的influxdb读写数据。

    OS X

    brew update
    brew install influxdb

    Docker Image

    docker pull influxdb

    Ubuntu & Debian

    wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb
    sudo dpkg -i influxdb_1.0.2_amd64.deb

    RedHat & CentOS

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
    sudo yum localinstall influxdb-1.0.2.x86_64.rpm

    Standalone Linux Binaries (64-bit)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_amd64.tar.gz  
    tar xvfz influxdb-1.0.2_linux_amd64.tar.gz

    Standalone Linux Binaries (32-bit)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_i386.tar.gz
    tar xvfz influxdb-1.0.2_linux_i386.tar.gz

    Standalone Linux Binaries (ARM)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_armhf.tar.gz
    tar xvfz influxdb-1.0.2_linux_armhf.tar.gz

    How to start?
    安装完之后,如何启动呢?

    sudo service influxdb start

    到这里influxdb安装启动完成,可以访问influxdb管理页面:本地管理页面,该版本没有登录用户及密码,可以自行设置读写的用户名和密码。

    如何在命令行使用
    安装完毕之后,如何在命令行使用呢?

    influxdb在命令行中使用

    influxdb基本操作


    名词解释

    在具体的讲解influxdb的相关操作之前先说说influxdb的一些专有名词,这些名词代表什么。

    influxdb相关名词

    • database:数据库;
    • measurement:数据库中的表;
    • points:表里面的一行数据。

    influxDB中独有的一些概念

    Point由时间戳(time)、数据(field)和标签(tags)组成。

    • time:每条数据记录的时间,也是数据库自动生成的主索引;
    • fields:各种记录的值;
    • tags:各种有索引的属性。

    还有一个重要的名词:series
    所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来)
    举个简单的小栗子:
    有如下数据:

    error_time

    它的series为:

    error_time_series

    influxdb基本操作

    • 数据库与表的操作
      可以直接在web管理页面做操作,当然也可以命令行。

      #创建数据库
      create database "db_name"
      #显示所有的数据库
      show databases
      #删除数据库
      drop database "db_name"
      #使用数据库
      use db_name
      #显示该数据库中所有的表
      show measurements
      #创建表,直接在插入数据的时候指定表名
      insert test,host=127.0.0.1,monitor_name=test count=1
      #删除表
      drop measurement "measurement_name"

    • 向数据库中插入数据。

      • 通过命令行
        use testDb
        insert test,host=127.0.0.1,monitor_name=test count=1
      • 通过http接口
        curl -i -XPOST 'http://127.0.0.1:8086/write?db=testDb' --data-binary 'test,host=127.0.0.1,monitor_name=test count=1'

      读者看到这里可能会观察到插入的数据的格式貌似比较奇怪,这是因为influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?

      Line Protocol格式:写入数据库的Point的固定格式。
      在上面的两种插入数据的方法中都有这样的一部分:

      test,host=127.0.0.1,monitor_name=test count=1

      其中:

      1. test:表名;
      2. host=127.0.0.1,monitor_name=test:tag;
      3. count=1:field

      想对此格式有详细的了解参见官方文档


    • 查询数据库中的数据。

      • 通过命令行
        select * from test order by time desc
      • 通过http接口
        curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDb" --data-urlencode "q=select * from test order by time desc"

      influxDB是支持类sql语句的,具体的查询语法都差不多,这里就不再做详细的赘述了。

    • 数据保存策略(Retention Policies)
      influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

      • 查看当前数据库Retention Policies
        show retention policies on "db_name"

        retention_policies

      • 创建新的Retention Policies
        create retention policy "rp_name" on "db_name" duration 3w replication 1 default
        • rp_name:策略名;
        • db_name:具体的数据库名;
        • 3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
        • replication 1:副本个数,一般为1就可以了;
        • default:设置为默认策略
      • 修改Retention Policies
        alter retention policy "rp_name" on "db_name" duration 30d default
      • 删除Retention Policies
        drop retention policy "rp_name"
    • 连续查询(Continous Queries)
      当数据超过保存策略里指定的时间之后就会被删除,但是这时候可能并不想数据被完全删掉,怎么办?
      influxdb提供了联系查询,可以做数据统计采样。
      • 查看数据库的Continous Queries
        show continuous queries

        continuous_queries.

      • 创建新的Continous Queries
        create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
        • cq_name:连续查询名字;
        • db_name:数据库名字;
        • sum(count):计算总和;
        • table_name:当前表名;
        • new_table_name:存新的数据的表名;
        • 30m:时间间隔为30分钟
      • 删除Continous Queries
        drop continous query cp_name on db_name
    • 用户管理
      可以直接在web管理页面做操作,也可以命令行。
      #显示用户  
      show users
      #创建用户
      create user "username" with password 'password'
      #创建管理员权限用户create user "username" with password 'password' with all privileges
      #删除用户
      drop user "username"
    展开全文
  • InfluxDB

    千次阅读 2017-08-02 11:42:35
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...

    前言

    influxdb是目前比较流行的时间序列数据库。
    何谓时间序列数据库?
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

    Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。

    它有三大特性:
    1. 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
    2. 度量(Metrics):对实时大量数据进行计算;
    3. 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

    同时,它有以下几大特点:

    • schemaless(无结构),可以是任意数量的列;
    • min, max, sum, count, mean, median 一系列函数,方便统计;
    • Native HTTP API, 内置http支持,使用http读写;
    • Powerful Query Language 类似sql;
    • Built-in Explorer 自带管理工具。

    在讲解具体的安装步骤之前,先说说influxdb的两个http端口:8083和8086

    • port 8083:管理页面端口,访问localhost:8083可以进入你本机的influxdb管理页面;
    • port 8086:http连接influxdb client端口,一般使用该端口往本机的influxdb读写数据

    安装

    • 下载influxdb

    URL:

    • 解压
      tar -xf /home/zhangjian/tools/influxdb-0.13.0.tar.gz
    • 配置环境变量
      vim /etc/profile
      export INFLUXDB_HOME=/home/zhangjian/tools/influxdb-0.13
      export PATH= PATH: INFLUXDB_HOME/bin
    • 启动服务端
      Influxd
    • 启动客户端
      influx

    influxdb基本操作

    名词解释
    在具体的讲解influxdb的相关操作之前先说说influxdb的一些专有名词,这些名词代表什么。

    influxdb相关名词

    database:数据库;
    measurement:数据库中的表;
    points:表里面的一行数据。
    influxDB中独有的一些概念
    Point由时间戳(time)、数据(field)和标签(tags)组成。
    time:每条数据记录的时间,也是数据库自动生成的主索引;
    fields:各种记录的值;
    tags:各种有索引的属性。
    还有一个重要的名词:series

    所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来)

    数据库与表的操作

    可以直接在web管理页面做操作,当然也可以命令行。

    • 创建数据库
      create database “db_name”
    • 显示所有的数据库
      show databases
    • 删除数据库
      drop database “db_name”
    • 使用数据库
      use db_name
    • 显示该数据库中所有的表
      show measurements
    • 创建表,直接在插入数据的时候指定表名
      insert test,host=127.0.0.1,monitor_name=test count=1
    • 删除表
      drop measurement “measurement_name”
    • 新增
      • 通过命令行
        use testDb
        insert test,host=127.0.0.1,monitor_name=test count=1
      • 通过http接口
        curl -i -XPOST ‘http://127.0.0.1:8086/write?db=testDb’ –data-binary ‘test,host=127.0.0.1,monitor_name=test count=1’
        观察到插入的数据的格式貌似比较奇怪,这是因为influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?
        Line Protocol格式:写入数据库的Point的固定格式。
        在上面的两种插入数据的方法中都有这样的一部分:
        test,host=127.0.0.1,monitor_name=test count=1
        其中:
        • test:表名;
        • host=127.0.0.1,monitor_name=test:tag;
        • count=1:field
    • 查询
      • 通过命令行
        select * from test order by time desc
      • 通过http接口
        curl -G ‘http://localhost:8086/query?pretty=true’ –data-urlencode “db=testDb” –data-urlencode “q=select * from test order by time desc”
        influxDB是支持类sql语句的,具体的查询语法都差不多,这里就不再做详细的赘述了。

    数据保存策略(Retention Policies)
    influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

    • 查看当前数据库Retention Policies
      show retention policies on “db_name”

    • 创建新的Retention Policies
      create retention policy “rp_name” on “db_name” duration 3w replication 1 default
      rp_name:策略名;
      db_name:具体的数据库名;
      3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
      replication 1:副本个数,一般为1就可以了;
      default:设置为默认策略

    • 修改Retention Policies
      alter retention policy “rp_name” on “db_name” duration 30d default

    • 删除Retention Policies
      drop retention policy “rp_name”

    • 连续查询(Continous Queries)
      当数据超过保存策略里指定的时间之后就会被删除,但是这时候可能并不想数据被完全删掉,怎么办?
      influxdb提供了联系查询,可以做数据统计采样。

      • 查看数据库的Continous Queries
        show continuous queries
      • 创建新的Continous Queries
        create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
        cq_name:连续查询名字;
        db_name:数据库名字;
        sum(count):计算总和;
        table_name:当前表名;
        new_table_name:存新的数据的表名;
        30m:时间间隔为30分钟
      • 删除Continous Queries
        drop continous query cp_name on db_name

    用户管理
    可以直接在web管理页面做操作,也可以命令行。

    • 显示用户
      show users
    • 创建用户
      create user “username” with password ‘password’
    • 创建管理员权限用户
      create user “username” with password ‘password’ with all privileges
    • 删除用户
      drop user “username”

    https://www.linuxdaxue.com/influxdb-study-series-manual.html

    展开全文
  • influxdb使用说明

    2017-10-16 16:27:00
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...

    前言


    influxdb是目前比较流行的时间序列数据库。

    • 何谓时间序列数据库?
      什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

    Influxdb

    Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
    它有三大特性:

    1. 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
    2. 度量(Metrics):对实时大量数据进行计算;
    3. 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

    同时,它有以下几大特点:

    • schemaless(无结构),可以是任意数量的列;
    • min, max, sum, count, mean, median 一系列函数,方便统计;
    • Native HTTP API, 内置http支持,使用http读写;
    • Powerful Query Language 类似sql;
    • Built-in Explorer 自带管理工具。

    Influxdb安装


    注:本文使用的influxdb version是1.0.2

    在讲解具体的安装步骤之前,先说说influxdb的两个http端口:8083和8086

    • port 8083:管理页面端口,访问localhost:8083可以进入你本机的influxdb管理页面;
    • port 8086:http连接influxdb client端口,一般使用该端口往本机的influxdb读写数据。

    OS X

    brew update
    brew install influxdb

    Docker Image

    docker pull influxdb

    Ubuntu & Debian

    wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb
    sudo dpkg -i influxdb_1.0.2_amd64.deb

    RedHat & CentOS

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
    sudo yum localinstall influxdb-1.0.2.x86_64.rpm

    Standalone Linux Binaries (64-bit)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_amd64.tar.gz  
    tar xvfz influxdb-1.0.2_linux_amd64.tar.gz

    Standalone Linux Binaries (32-bit)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_i386.tar.gz
    tar xvfz influxdb-1.0.2_linux_i386.tar.gz

    Standalone Linux Binaries (ARM)

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_armhf.tar.gz
    tar xvfz influxdb-1.0.2_linux_armhf.tar.gz

    How to start?
    安装完之后,如何启动呢?

    sudo service influxdb start

    到这里influxdb安装启动完成,可以访问influxdb管理页面:本地管理页面,该版本没有登录用户及密码,可以自行设置读写的用户名和密码。

    如何在命令行使用
    安装完毕之后,如何在命令行使用呢?


    influxdb在命令行中使用

    influxdb基本操作


    名词解释

    在具体的讲解influxdb的相关操作之前先说说influxdb的一些专有名词,这些名词代表什么。

    influxdb相关名词
    • database:数据库;
    • measurement:数据库中的表;
    • points:表里面的一行数据。
    influxDB中独有的一些概念

    Point由时间戳(time)、数据(field)和标签(tags)组成。

    • time:每条数据记录的时间,也是数据库自动生成的主索引;
    • fields:各种记录的值;
    • tags:各种有索引的属性。

    还有一个重要的名词:series
    所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来)
    举个简单的小栗子:
    有如下数据:


    error_time

    它的series为:


    error_time_series

    influxdb基本操作

    • 数据库与表的操作
      可以直接在web管理页面做操作,当然也可以命令行。

      #创建数据库
      create database "db_name"
      #显示所有的数据库
      show databases #删除数据库 drop database "db_name" #使用数据库 use db_name #显示该数据库中所有的表 show measurements #创建表,直接在插入数据的时候指定表名 insert test,host=127.0.0.1,monitor_name=test count=1 #删除表 drop measurement "measurement_name"

    • 向数据库中插入数据。

      • 通过命令行
        use testDb
        insert test,host=127.0.0.1,monitor_name=test count=1
      • 通过http接口
        curl -i -XPOST 'http://127.0.0.1:8086/write?db=testDb' --data-binary 'test,host=127.0.0.1,monitor_name=test count=1'

      读者看到这里可能会观察到插入的数据的格式貌似比较奇怪,这是因为influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?

      Line Protocol格式:写入数据库的Point的固定格式。
      在上面的两种插入数据的方法中都有这样的一部分:

      test,host=127.0.0.1,monitor_name=test count=1

      其中:

      1. test:表名;
      2. host=127.0.0.1,monitor_name=test:tag;
      3. count=1:field

      想对此格式有详细的了解参见官方文档


    • 查询数据库中的数据。

      • 通过命令行
        select * from test order by time desc
      • 通过http接口
        curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDb" --data-urlencode "q=select * from test order by time desc"

      influxDB是支持类sql语句的,具体的查询语法都差不多,这里就不再做详细的赘述了。

    • 数据保存策略(Retention Policies)
      influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

      • 查看当前数据库Retention Policies
        show retention policies on "db_name"

        retention_policies
      • 创建新的Retention Policies
        create retention policy "rp_name" on "db_name" duration 3w replication 1 default
        • rp_name:策略名;
        • db_name:具体的数据库名;
        • 3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
        • replication 1:副本个数,一般为1就可以了;
        • default:设置为默认策略
      • 修改Retention Policies
        alter retention policy "rp_name" on "db_name" duration 30d default
      • 删除Retention Policies
        drop retention policy "rp_name"
    • 连续查询(Continous Queries)
      当数据超过保存策略里指定的时间之后就会被删除,但是这时候可能并不想数据被完全删掉,怎么办?
      influxdb提供了联系查询,可以做数据统计采样。
      • 查看数据库的Continous Queries
        show continuous queries

        continuous_queries.
      • 创建新的Continous Queries
        create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
        • cq_name:连续查询名字;
        • db_name:数据库名字;
        • sum(count):计算总和;
        • table_name:当前表名;
        • new_table_name:存新的数据的表名;
        • 30m:时间间隔为30分钟
      • 删除Continous Queries
        drop continous query cp_name on db_name
    • 用户管理
      可以直接在web管理页面做操作,也可以命令行。
      #显示用户  
      show users
      #创建用户
      create user "username" with password 'password' #创建管理员权限用户create user "username" with password 'password' with all privileges #删除用户 drop user "username"

    转载于:https://www.cnblogs.com/jackyroc/p/7677508.html

    展开全文
  • InfluxDB使用总结与性能优化

    万次阅读 2017-07-28 18:16:35
    如果项目的功能模块中用到对时间特性比较敏感的数据,例如性能监控,趋势走向等需求时,InfluxDB将会是一个不错的选择,虽然其很强很彪悍,但只有在使用的过程中遵循一定规范与原则,才能发挥其良好的特性。...

    如果项目的功能模块中用到对时间特性比较敏感的数据,例如性能监控,趋势走向等需求时,InfluxDB将会是一个不错的选择,虽然其很强很彪悍,但只有在使用的过程中遵循一定规范与原则,才能发挥其良好的特性。

    本文会先介绍一些InfluxDB的基本概念,然后列出一些在设计Schema时应该注意的问题,最后列出一些常见的优化方式。

    基本介绍

    概念

    • Database: 数据库名,在 InfluxDB 中可以创建多个数据库,不同数据库中的数据文件是隔离存放的,存放在磁盘上的不同目录。
    • Retention Policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略 autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据。插入和查询数据时如果不指定存储策略,则使用默认存储策略,且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。
    • Measurement: 对于传统数据库的表,例如 cpu_usage 表示 cpu 的使用率。
    • Tag sets: tags 在 InfluxDB 中会被建立索引,且放在内存中。如果某种数据经常用来被作为查询条件,可以考虑设为Tag
    • Field: 记录值,是查询的主要对象,例如value值等
    • Point:代表一条记录
    • Series:tag key 与tag value的唯一组合
    • Timestamp: 每一条数据都需要指定一个时间戳,在 TSM 存储引擎中会特殊对待,以为了优化后续的查询操作。

    操作

    由于Tag与Field的不同特性,在编写SQL进行查询时,Tag与Field支持不同的操作,总结如下:

    • Tag
      • 只能使用Tag进行Group
      • 只能使用Tag进行正则表达式操作
    • Field
      • 只能使用Field进行函数操作,例如sum()
      • 只能使用Field进行比较操作
      • 如果需要使用int,float,boolean类型进行存储,只能使用Field

    Schema 设计总结

    • 不要把数据放到measurement名称中。
      例如 不要让measurement名称看起来是这样的:
    cpu.server1.us_west

    应该改成

    cpu,host=server1,region=us_west
    • 不要把数据放到Tag value中
      例如 不要让measurement名称看起来是这样的:
    cpu,host=server1.us_west

    应该改成

    cpu,host=server1,region=us_west
    • 不要使用取值范围很广的数据作为tag,例如uuid,hash等等
      如果实在有这方面的需求,考虑一下几点建议
      • 切成多个shard,并分到多个实例上
      • 使用tag 前缀进行区分
      • 使用field
      • 使用集群
    • Tag Key不要与Field的名称相同
    • Tags的数量不要太少
    • database的数量不要太多
      当database的数量达到千万级别时,会出现打开文件过多,占用内存过多等问题。

    优化

    常见的优化方式如下

    1. 控制series的数量

    Series会被索引且存在内存中,如果量太大会对资源造成过多损耗,且查询效率也得不到保障。
    可以通过以下方式查询series的数量:

     influx -database 'cloudportal' -execute 'show series' -format 'csv'|wc -l

    通过以下方式查询tag values的数量:

    influx -database 'cloudportal' -execute 'SHOW TAG VALUES FROM six_months.collapsar_flow WITH KEY = dip' -format 'csv'|wc -l

    数量是否合适可以参考以下标准:
    - 机器配置

    类型CPURAMIOPS
    Low2-4 cores2-4G500
    Moderate4-6 cores8-32G500-1000
    High8+ cores32+G1000+

    - 配置对应的Series数量

    机器配置每秒写Field每秒查询数量Series数量
    Low<5 K<5<100k
    Moderate< 250 K<25<1million
    High>250 K>25>1million

    2. 控制Tag Key,与Tag Value值的大小
    3. 使用批量写
    如果使用HTTP一次写一条记录,或许还没有太大的负担,但是如果用HTTPS的进行一条一条的写,在加密/解密上的资源损耗会非常的大。如果不能使用HTTP,则推荐使用UDP协议
    4. 使用Continuous Queries 进行数据汇聚
    对于查询时间范围较大且数据粒度要求不是非常高的数据,可以考虑使用CQ进行数据汇总,并对汇总结果进行查询
    5. 使用恰当的时间粒度
    在数据存储的时候默认使用纳秒。而对于很多业务操作而言,可能只需要精确到秒级别。这种情况对于存储资源以及查询性能都会有一定的影响。想法如果业务需要毫秒级别的精确程度,而存的时候使用了秒级别的数据,此时查询又会出现数据的丢失
    6. 存储的时候尽量对Tag进行排序
    7. 无关的数据写不同的database
    8. 根据数据情况,调整shard的duration
    默认7天创建一个,如果查询的时间范围较大,会打开多个shard文件,对于数据量不大,且查询范围可能较大的数据,可以将shard duration时间设置的长一点
    9. 存储分离
    将WAL目录与data目录分别映射到不同的磁盘上,以减少读写操作的相互影响

    展开全文
  • influxdb

    2018-03-23 10:09:00
    下载influxdb: #wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm 安装: #sudo yum localinstall influxdb-0.13.0.x86_64.rpm 运行: #systemctl start influxdb.service 进入...
  • influxdb使用说明及安装部署

    千次阅读 2018-12-28 21:35:02
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Tim...
  • 07_Influxdb+Grafana监控CPU

    2020-09-23 09:43:06
    采集(使用Python脚本进行采集) 入库(Python脚本采集完插入Influxdb数据库) 展现(Grafana读取Influxdb的数据进行展现) Python操作Influxdb数据库得先安装扩展 yum install epel-release -y #安装epel yum源 ...
  • 使用vmstat查看系统维度的CPU负载 使用top查看进程维度的CPU负载 https://blog.csdn.net/lufeisan/article/details/53150971 使用 vmstat 查看系统纬度的 CPU 负载: 可以通过 vmstat 从系统维度查看 CPU ...
  • InfluxDB数据库

    2018-03-30 11:35:36
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...
  • Influxdb基础

    2020-12-18 11:17:47
    InfluxDB是目前流行的时间序列数据库(TSDB,常见 TSDB:Influxdb、opentsdb、timeScaladb、Druid 等),时间序列数据库最简单的定义是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等,...
  • 随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了。 监控服务器状态是运维必不可少的一部分, 通常...
  • influxdb入门

    2020-09-15 19:46:02
    了解influxdb 参考https://www.cnblogs.com/wzbk/p/10569683.html 1、数据格式 在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value)。 虚拟的 key 包括以下几个部分...
  • Python简单使用InfluxDB

    万次阅读 2018-01-28 22:03:21
    之前已经在自己的MQTT服务器上安装好了InfluxDB时序数据库,接下来写个Python程序测试下. 安装 API详情参阅这里 打开powershell,执行pip install influxdb安装模块 程序 程序API详细参考这里 # coding=utf-8 ...
  • influxDB简介

    2019-03-26 11:10:54
    InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value)。格式如下: 1 cpu_usage,host=server01,region=us-west value=0.641434055562000000000 ...
  • influxdb介绍

    2019-09-21 20:53:20
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...
  • 通过nodejs 监听到cpu使用率和内存使用率。 在vue项目中使用socket.io包获取监听的数据 nodejs后台部分 安装 npm install os-utils 引入包,监听的端口为 1111 使用io.sockets监听事件。注意:socket是连接那次的...
  • 使用Python监控本机资源情况写入InfluxDB并使用Grafana监控,对CPU,内存,磁盘使用率,网络流量进行监控并展现。具体内容请参考我的博客,谢谢。 https://blog.csdn.net/wsdc0521/article/details/106082411
  • influxdb性能优化整理

    千次阅读 2020-04-02 11:46:57
    influxdb一般情况下比较稳定,但是随着数据量越来越大,也会出现一些性能问题,需要进行一些调优。...当时遇到的现象是,influxdb进程的CPU利用持续居高不下,查询数据的速度很慢。经过分析,最终定位到infl...
  • InfluxDB介绍

    千次阅读 2018-05-04 14:44:54
    转自:http://www.cnblogs.com/iiiiher/p/8046600.html [svc]influxdb最佳实战-监控对比 ...)[-]监控和日志的区别如何做一个监控监控的对比influxdb vs 普罗influxdb的特性和特点in...
  • influxdb简介

    2017-11-30 14:48:38
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...
  • InfluxDB-介绍

    千次阅读 2018-12-10 18:26:40
     什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...
  • InfluxDB 入门

    2021-04-08 16:36:42
    influxdb是一个开源分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展,是 InfluxData 的核心产品。 应用:性能监控,应用程序指标,物...
  • influxdb 时序数据库

    2019-09-17 14:42:26
    什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间...
  • influxdb操作

    千次阅读 2019-03-06 16:44:29
    sudo service influxdb start 进入命令行 1 influx 1、InfluxDB数据库操作 显示数据库 1 show databases 新建数据库 1 create...
  • 时序数据库InfluxDB

    千次阅读 2017-12-22 10:53:06
    时序数据库InfluxDB
  • CPU使用率的计算【总结】

    千次阅读 2012-09-08 12:18:21
    【所谓“总结”,就是结合自身经验与他人的结论,进行汇总,略减,与分析】 【有些他人顶好的总结,可以直接取过来,好比有些...打开任务管理器,又想,这里动态显示的CPU使用率如何计算的呢?这个问题一问出来,便展
  • influxdb 在上一篇文章中,我为您提供了TICK堆栈的概述,但是在这里,我们将重点介绍InfluxDB,这是一种优化用于存储和运行时间序列数据的数据库。 我出于各种原因关心时间序列。 通过采用敏捷方法,云和DevOps,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,721
精华内容 688
关键字:

cpuinfluxdb使用率