InfluxDB

一、InfluxDB简介

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

它有三大特性:

1. Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)
2. Metrics(度量):你可以实时对大量数据进行计算
3. Eevents(事件):它支持任意的事件数据

特点

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

API

InfluxDB 支持两种api方式

  • HTTP API
  • Protobuf API

二、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 install influxdb

#Redhat6
service influxdb start

#Redhat7
systemctl start influxdb

三、InfluxDB 命令行简单操作

# influx -precision rfc3339
Connected to http://localhost:8086 version 1.2.0
InfluxDB shell version: 1.2.0
> CREATE DATABASE mydb
> show databases;
name: databases
name
----
_internal
mydb

> use mydb
Using database mydb
> insert cpu,host=192.168.62.200,region=kbsonlong value=0.8
> select host,region,value from cpu
name: cpu
time                           host           region    value
----                           ----           ------    -----
2017-03-02T05:44:55.584864069Z 192.168.62.200 kbsonlong 0.8

>  INSERT temperature,machine=unit42,type=assembly external=25,internal=37
> SELECT * FROM "temperature"
name: temperature
time                           external internal machine type
----                           -------- -------- ------- ----
2017-03-02T05:45:31.933478802Z 25       37       unit42  assembly

> SELECT * FROM "cpu" WHERE "value" > 0.7
name: cpu
time                           host           region    value
----                           ----           ------    -----
2017-03-02T05:44:55.584864069Z 192.168.62.200 kbsonlong 0.8

>

四、配置Web管理界面

InfluxDB管理界面默认端口为8083,默认没有开启。

# netstat -ntlp|grep 808
tcp        0      0 :::8086                     :::*                        LISTEN      2654/influxd
tcp        0      0 :::8088                     :::*                        LISTEN      2654/influxd        

# vim /etc/influxdb/influxdb.conf

找到[admin]选项 修改enabled = false 为enabled = true

重启InfluxDB服务

# service influxdb restart
Stopping influxdb...
influxdb process was stopped [ OK ]
Starting influxdb...
influxdb process was started [ OK ]

# netstat -ntlp|grep 808
tcp        0      0 :::8083                     :::*                        LISTEN      3115/influxd
tcp        0      0 :::8086                     :::*                        LISTEN      3115/influxd
tcp        0      0 :::8088                     :::*                        LISTEN      3115/influxd

时间: 2024-12-20 08:48:47

InfluxDB的相关文章

试用时间序列数据库InfluxDB

Hadoop集群监控需要使用时间序列数据库,今天花了半天时间调研使用了一下最近比较火的InfluxDB,发现还真是不错,记录一下学习心得. Influx是用Go语言写的,专为时间序列数据持久化所开发的,由于使用Go语言,所以各平台基本都支持.类似的时间序列数据库还有OpenTSDB,Prometheus等. OpenTSDB很有名,性能也不错,但是基于HBase,要用那个还得先搭一套HBase,有点为了吃红烧肉自己得先去杀猪,烫皮,拔毛的感觉.Prometheus相关文档和讨论太少,而Influ

influxdb用户权限篇

设置TS的authorized,提高安全性,针对指定用户拥有权限才能访问数据库的数据,TS默认用户分为普通用户和管理员用户,权限分为read,write,all privileges三种权限 添加用户可以通过终端或者WEB方式2种方式: 开启一个用户权限的过程: 1.在安装好数据库后,通过默认方式登陆数据库:[[email protected] ~]# influx 2.添加用户 CREATE USER "influxdb" WITH PASSWORD 'root123' WITH A

influxdb基本操作

进入CLI界面InfluxDB Shell (CLI) /opt/influxdb/influx 数据库 显示所有数据库 SHOW DATABASES 添加数据库 CREATE DATABASE mydb 删除数据库 DROP DATABASE mydb 用户 显示所有用户 SHOW USERS 创建用户 CREATE USER leo WITH PASSWORD 'admin' 修改用户(密码) SET PASSWORD FOR leo = 'admin' 删除用户 DROP USER leo

使用python操作InfluxDB

环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6 准备工作 启动服务器 执行如下命令: service influxdb start 示例如下: [[email protected] ~]# service influxdb start Starting influxdb... influxdb process was started [ OK ] [[email protected] ~]# 安装influxdb-python github地址: 

influxdb+grafana业务数据可视化

了解数据库的TPS.QPS是作为一个运维DBA是非常必要的,那什么是TPS.QPS呢,简单的理解是: QPS:每秒查询数,即对数据库每秒的DML的操作数 TPS:每秒事物处理,即对数据库每秒DDL操作数 通过了解他们,可以掌握一个实例的基本工作运行状态 如何对于对他们进行页面可视化,是DBA的一个装逼神器,本章主要介绍通过时序数据库(influxdb)+grafana+简单的python代码实现 时时监控它们,什么是时序数据库可以在其他章节了解,这里不做过多介绍 Let's go..... 1.

InfluxDB学习之InfluxDB常用函数(三)变换类函数

1)DERIVATIVE()函数 作用:返回一个字段在一个series中的变化率. InfluxDB会计算按照时间进行排序的字段值之间的差异,并将这些结果转化为单位变化率.其中,单位可以指定,默认为1s. 语法: SELECT DERIVATIVE(<field_key>, [<unit>]) FROM <measurement_name> [WHERE <stuff>] 其中,unit取值可以为以下几种: u --microsecondss --secon

使用telegraf+influxdb+grafana监控ceph集群

telegraf是一个收集监控项的agent,有支持收集多种数据的插件比如ceph,apache,docker,haproxy,system等,同时有支持多种输出的插件比如influxdb,graphite等. influxdb是时序数据库,多用于监控场景 grafana是很棒的绘图工具 这三者的结合有三个主要过程: 1.安装在ceph集群所有节点(包括mon和osd节点)上的telegraf通过ceph_input插件收集ceph集群信息,这里踩了两个坑,ceph_input插件报了两个错,一

InfluxDB的初步使用

InfluxDB是一个用于存储和分析时间序列数据的开源数据库,这里简单总结一下我在部署和使用过程中遇到的问题. 在其官网的介绍中:https://influxdb.com/docs/v0.9/introduction/installation.html 可知InfluxDB可以在Ubuntu,Debian,RedHat,OS X等系统上部署,我先试了一下OS X上的部署.在OS X上安装了Homebrew的前提下,部署非常方便.只需要在终端下输入: brew update brew instal

grafana 开源图标系统 &amp; InfluxDB 介绍。

1,开源图表系统grafana grafana提供的监控列表效果非常的漂亮.直接部署在nginx上面就行,使用node.js 实现的数据抓取. http://grafana.org/ demo页面: http://play.grafana.org/ 这个报表展示可以跑在 Graphite, InfluxDB & OpenTSDB. 监控的数据库上面. 其中InfluxDB 是用golang编写的比感兴趣. 2,InfluxDB InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部

InfluxDB安装及配置

这是我之前整理的InfluxDB安装及配置的笔记,这里记录下,也方便我以后查阅. 环境: CentOS6.5_x64 InfluxDB版本:1.1.0 一.安装 1.二进制安装 这里以centos6.5为例进行安装: wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm yum localinstall influxdb-1.1.0.x86_64.rpm 其它环境可以参考influxdb官方文档: h