返回顶部
首页 > 资讯 > 数据库 >00-InfluxDB入门介绍
  • 289
分享到

00-InfluxDB入门介绍

2024-04-02 19:04:59 289人浏览 泡泡鱼
摘要

01-InfluxDB入门介绍 02-influxdb的权限管理 03-Influxdb的备份与恢复 介绍 influxdb是使用Go编写的基于时间序列的数据库,用于存储大量带有时间戳的数

  • 01-InfluxDB入门介绍

  • 02-influxdb的权限管理

  • 03-Influxdb的备份与恢复

介绍

   influxdb是使用Go编写的基于时间序列的数据库,用于存储大量带有时间戳的数据,报错devops监控日志数据,应用程序的指标、数据分析数据等等。通过influxdb自动保存数据,你不需要删除和清理,只需要定义一段时间DB会帮你自动清理。

特点

  1. 每秒钟可以处理几百万个数据点。
  2. 长时间内产生大量数据它也会为你进行压缩处理使空间最小化。可以保存近期高精度数据和长期采样数据,也就是之前说的持续查询和保留策略,保证了自动化采样和旧数据自动过期。
  3. 支持多样的数据提取插件,例如:graphite,collected,openTSD。

其它信息
influxdb默认端口8086,默认是Http协议接口,使用起来简单方便

安装

下载安装包:wget 'http://dl.influxdata.com/influxdb/nightlies/influxdb-nightly_darwin_amd64.tar.gz'
解压安装包:tar zxf influxdb-nightly_darwin_amd64.tar.gz
启动influxdb:cd influxdb-1.7.0~n201811230800-0/ && ./usr/bin/influxd
登录数据库:./usr/bin/influx
查看帮助:

> help
Usage:
        connect <host:port>   connects to another node specified by host:port
        auth                  prompts for username and passWord
        pretty                toggles pretty print for the JSON fORMat
        chunked               turns on chunked responses from server
        chunk size <size>     sets the size of the chunked responses.  Set to 0 to reset to the default chunked size
        use <db_name>         sets current database
        format <format>       specifies the format of the server responses: json, csv, or column
        precision <format>    specifies the format of the timestamp: rfc3339, h, m, s, ms, u or ns
        consistency <level>   sets write consistency level: any, one, quorum, or all
        history               displays command history
        settings              outputs the current settings for the shell
        clear                 clears settings such as database or retention policy.  run 'clear' for help
        exit/quit/ctrl+d      quits the influx shell

        show databases        show database names
        show series           show series information
        show measurements     show measurement information
        show tag keys         show tag key information
        show field keys       show field key information

        A full list of influxql commands can be found at:
        https://docs.influxdata.com/influxdb/latest/query_language/spec/

登录Influxdb

    influx -precision rfc3339
            -precision rfc3339  #精准的指定参数,rfc3339时间格式

数据库操作

现在influxdb已经搭建完成,可以进行入门操作,建库、建表写数据。当写入一个时间序列数据时候他可能包含0到多个点,每个数据都对应一个监控样本(例如cpu_load、温度)至少包括一个键值对(cplu_load=5);
在这里可以认为:

  • measurement就是一个表它提供时间索引
  • fields就是表中的列
  • tags是表中索引

    在这里和Mysql不同是,你可以有几百万个measurements,而且n不需要提前定义表结构、也不会存储空值;

1.创建一个数据库
CREATE DATABASE {NAME};

> create database order_record;
> show databases;
name: databases
name
----
_internal
order_record
这时候我们发现数据库有一个表“_internal”,其实这个表是influxdb数据库的一些指标存储库。有点类似mysql数据库的mysql库。

2.写数据
注意在写数据的时候如果不添加时间戳,系统会默认添加一个时间
<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

> use order_record;
Using database order_record
> INSERT cpu,host=serverA,region=us_west value=0.64
> SELECT "host", "region", "value" FROM "cpu"
name: cpu
time                        host    region  value
----                        ----    ------  -----
2018-11-23T16:01:29.995044Z serverA us_west 0.64

3.数据读
同mysql一样如果你想空值内容输出行数,可以用 [limit 1~n;],同样influxdb的sql也支持go语言格式的正则。

> select * from cpu;
name: cpu
time                        host    region  value
----                        ----    ------  -----
2018-11-23T16:01:29.995044Z serverA us_west 0.64
> INSERT stock,symbol=AAPL bid=127.46,ask=127.48
> INSERT temperature,Machine=unit42,type=assembly external=25,internal=37 1434067467000000000
> SELECT "host", "region", "value" FROM "cpu"
name: cpu
time                        host    region  value
----                        ----    ------  -----
2018-11-23T16:01:29.995044Z serverA us_west 0.64
每个表输出一行
SELECT * FROM /.*/ LIMIT 1

4.查看当前数据库的分片

> SHOW SHARDS
name: _internal
id database  retention_policy shard_group start_time           end_time             expiry_time          owners
-- --------  ---------------- ----------- ----------           --------             -----------          ------
1  _internal monitor          1           2018-11-24T00:00:00Z 2018-11-25T00:00:00Z 2018-12-02T00:00:00Z

name: zabbix
id database retention_policy shard_group start_time           end_time             expiry_time          owners
-- -------- ---------------- ----------- ----------           --------             -----------          ------
5  zabbix   autogen          5           1969-12-29T00:00:00Z 1970-01-05T00:00:00Z 1970-01-05T00:00:00Z
4  zabbix   autogen          4           1970-01-12T00:00:00Z 1970-01-19T00:00:00Z 1970-01-19T00:00:00Z
3  zabbix   autogen          3           2018-11-19T00:00:00Z 2018-11-26T00:00:00Z 2018-11-26T00:00:00Z

http api调用influxdb

0.接口介绍

接口路径 描述
/debug/pprof debug排查问题使用
/debug/requests 使用这个请求监听最近是否有请求
/debug/vars 查询influxdb收集到静态信息
/ping 检测influxdb状态
/query 查询数据接口(同时可以创建ku)
/write 写入数据接口(一个已存在数据库)

状态码介绍:

  • 2xx:服务请求正常
  • 4xx:代表请求语法有问题
  • 5xx:服务端出问题,导致超时等故障

1.创建数据库

        curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
HTTP/1.1 200 OK
Content-Type: application/json
Request-Id: 5edd88a8-ef90-11e8-83cd-a0999b0f94e3
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.0~n201811230800
X-Request-Id: 5edd88a8-ef90-11e8-83cd-a0999b0f94e3
Date: Sat, 24 Nov 2018 02:26:38 GMT
Transfer-Encoding: chunked
{"results":[{"statement_id":0}]}

2.写入数据

    curl -i  -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.65 1434055564000000000'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 1ae386c4-ef91-11e8-83D8-a0999b0f94e3
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.0~n201811230800
X-Request-Id: 1ae386c4-ef91-11e8-83d8-a0999b0f94e3
Date: Sat, 24 Nov 2018 02:31:53 GMT

3.写入多个数据点

 curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67

cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 574f52a0-ef91-11e8-83d9-a0999b0f94e3
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.0~n201811230800
X-Request-Id: 574f52a0-ef91-11e8-83d9-a0999b0f94e3
Date: Sat, 24 Nov 2018 02:33:34 GMT

4.从文件导入数据库
从文件导入时候建议不要超过5000条,如果超过请对文件进行切割,因为http api的接口5s会超时,请求数据过多会导致数据无法确认是否成功。
文件cpu_data.txt内容如下:

cpu_load_short,host=server02 value=111
cpu_load_short,host=server02,region=us-west value=0.222 1543027130702900257
cpu_load_short,direction=in,host=server01,region=us-west value=111.222 1543027129702900257
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary @cpu_data.txt

HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 4b2ed710-ef92-11e8-83e3-a0999b0f94e3
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.0~n201811230800
X-Request-Id: 4b2ed710-ef92-11e8-83e3-a0999b0f94e3
Date: Sat, 24 Nov 2018 02:40:24 GMT

您可能感兴趣的文档:

--结束END--

本文标题: 00-InfluxDB入门介绍

本文链接: https://lsjlt.com/news/40614.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 00-InfluxDB入门介绍
    01-InfluxDB入门介绍 02-influxdb的权限管理 03-Influxdb的备份与恢复 介绍 influxdb是使用GO编写的基于时间序列的数据库,用于存储大量带有时间戳的数...
    99+
    2024-04-02
  • GNS3入门介绍
    第一次遇到GNS3,对它并没有多大的兴趣,因为思科模拟器用过几个,觉得都差不多,再牛的模拟器应该也牛不过cisco官方的packet tracer吧,在做备份IOS实验时发现好像目前只有这个名不见经传的GNS3有这个能力,让我不觉的多看了它...
    99+
    2023-01-31
    入门
  • 疯狂python,00后入门Python
    相信很多80 90后都听说过疯狂英语,现在00后专属的疯狂Python也来啦!提起Python大家肯定不陌生,但是疯狂Python是什么? 《疯狂Python》,是知名畅销书作家李刚老师继《疯狂Java》之后的又一力作! 《疯狂P...
    99+
    2023-01-31
    入门 疯狂 python
  • MongoDB入门(介绍、安装)
    一.什么是MongoDB? MongoDB is a document database with the scalability and flexibility that you want with the querying a...
    99+
    2017-08-27
    MongoDB入门(介绍 安装)
  • typeScript入门基础介绍
    目录一、安装 TS二、Vscode 自动编译 ts三、入门 TS基础数据类型接口类TS 的特点: 始于 javaScript 归于 javaScript 。强大的类型系统。先进的 j...
    99+
    2024-04-02
  • python入门之python介绍
    python基础之Python优点    1.简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。    2.易学:Python极其容易上手,...
    99+
    2023-01-31
    入门 python
  • PHP入门指南:PHP和InfluxDB
    PHP是一种广泛使用的脚本语言,可用于构建动态Web应用程序。在许多项目中,数据存储是一个必不可少的部分,因此许多开发人员使用不同的数据库解决方案来存储和管理数据。在本篇文章中,我们将介绍PHP和InfluxDB数据库的基础知识,以及如何使...
    99+
    2023-05-22
    PHP 入门指南 InfluxDB
  • Flink入门(一)——Apache Flink介绍
    Apache Flink是什么? ​ 在当代数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题。随着雅虎对hadoop的开源,越来越多的大数据处理技术开始涌入...
    99+
    2019-02-14
    Flink入门(一)——Apache Flink介绍
  • Pygame transform模块入门介绍
    目录简介函数说明简介 pygame模块用于变换Surface,Surface变换是一种移动或调整像素大小的操作。所有这些函数都是对一个Surface进行操作, 并将结果返回一个新的S...
    99+
    2024-04-02
  • EVE-NG简单入门介绍
    此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等。一.导入镜像Dynamips是由法国人Chris Fill...
    99+
    2023-06-05
  • MyBatis入门介绍(超简单)
    MyBatis 简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支...
    99+
    2023-05-31
    mybatis 入门 batis
  • Node.js和Express简单入门介绍
    仅仅入门如何用Node.js和Express搭建一个web服务器,没有说明太多概念性的东西。 一、 Nodejs简介 ​ ==Node是JavaScript语言的服务器运行环境。== ̴...
    99+
    2022-06-04
    入门 简单 Node
  • Redis安装入门简明介绍
    Redis数据库安装: 在ubuntu下: 1.下载数据库 wget http://download.redis.io/releases/redis-4.0.9.tar.gz [最后是版本,根据需要调整...
    99+
    2024-04-02
  • C#语言入门基础介绍
    目录一、.NET 体系结构二、Hello world三、类型和变量四、程序结构前言: C#(读作“See Sharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 ...
    99+
    2024-04-02
  • linux基础之Shell Script入门介绍
    linux基础之Shell Script 1 Shell Scipt使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程 1.1 程序书写 #!/bin/bash# Program:# ...
    99+
    2022-06-04
    入门 基础 linux
  • Kubernetes(K8S)入门基础内容介绍
    Introduction basic of kubernetes 我们要学习 Kubernetes,就有首先了解 Kubernetes 的技术范围、基础理论知识库等,要学习 Kube...
    99+
    2024-04-02
  • Golang开发gRPC服务入门介绍
    目录1、安装protoc2、安装protoc的Golang gRPC插件3、编写proto文件4、生成gRPC代理代码5、编写gRPC服务端程序6、编写gRPC客户端程序7、运行程序...
    99+
    2024-04-02
  • PHP入门介绍及语言基础
    🌱博客主页:大寄一场. 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注 目录 前言 一、变量和数据类型 二、运算符和表达式 三、条件语句 四、循环语句 前言 PHP是一种非常流...
    99+
    2023-09-06
    php 开发语言
  • Python 入门基础1 --语言介绍
    本节目录: 一、编程语言介绍 二、python解释器介绍 三、安装python解释器 四.运行python程序的两种方式 五、变量 六、后期补充内容 一、编程语言介绍   1.机器语言:     直接用二进制编...
    99+
    2023-01-30
    入门 语言 基础
  • C++ 测试框架GoogleTest入门介绍
    目录引言简单介绍初体验 引言 开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发者自测通过的,所以经常会听到开发者提起单元测试的话题。那么今天我就带大伙一起来看...
    99+
    2023-05-14
    C++ 测试框架GoogleTest C++ 测试框架入门
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作