InfluxDB®是一款专门处理高写入和查询负载的时序数据库,无需外部依赖,用于存储大规模的时序数据并进行实时分析,包括来自DevOps监控、应用指标和IoT传感器上的数据。
20190423版本问题
InfluxDB从v1.3开始取消自带的web页面,要web页面的可以安装v1.2.4版。
目前为止,v1.7.6是最新稳定版, 《1.x的文档》
v2.0 alpha ,《2.0的文档》
本文安装的是 v1.7.6
Docker Image 安装 1 2 3 4 5 6 7 8 9 $ docker pull influxdb $ docker run -d -p 8083:8083 -p8086:8086 --expose 8090 --expose 8099 --name influxDbService influxdb $ docker exec -it {CONTAINER ID} bash $ influxd version InfluxDB v1.7.6 (git: 1.7)
Ubuntu 1. apt-get安装 v1.7安装文档
1 2 3 4 5 6 7 8 9 10 11 12 # 加入 InfluxData repository $ wget -qO- 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# 安装启动 $ sudo apt-get update && sudo apt-get install influxdb $ sudo service influxdb start # 或者用systemctl启动 $ sudo systemctl unmask influxdb.service $ sudo systemctl start influxdb
2. DEB包安装 1 2 $ wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.6_amd64.deb $ sudo dpkg -i influxdb_1.7.6_amd64.deb
CentOS RPM包安装 1. YUM安装 1 2 3 4 5 6 7 8 9 10 11 12 13 $ 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 $ sudo yum install influxdb $ sudo service influxdb start # 或者 $ sudo systemctl start influxdb
2. RPM包安装 1 2 $ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6.x86_64.rpm $ sudo yum localinstall influxdb-1.7.6.x86_64.rpm
Windows 1 2 https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6_windows_amd64.zip unzip influxdb-1.7.6_windows_amd64.zip
macOS 1 2 $ brew update $ brew install influxdb
Grafana数据可视化 可视化的监控展示服务,提供包括折线图,饼图,仪表盘等多种监控数据可视化UI,支持多种不同的时序数据库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。
系统默认用户名和密码为admin/admin,第一次登录要求修改密码。设置好数据源,就可以配置各种呈现表图来展示数据。
注意:Grafana是用来展示数据的,不是做增删改查的工具。
Download Grafana
1. docker 1 $ docker run -d --name=grafana -p 3000:3000 grafana/grafana
2. ubuntu 1 2 $ wget https://dl.grafana.com/oss/release/grafana_6.1.4_amd64.deb $ sudo dpkg -i grafana_6.1.4_amd64.deb
3. centos 1 2 $ wget https://dl.grafana.com/oss/release/grafana-6.1.4-1.x86_64.rpm $ sudo yum localinstall grafana-6.1.4-1.x86_64.rpm
命令行操作数据库 《文档手册地址》 都是一些创建数据之类的命令行操作,但也可以通过InfluxDB的HTTP API进行客户端 - 服务器通信,端口8086。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 $ influx -precision rfc3339 Connected to http://localhost:8086 version 1.7.6 InfluxDB shell version: 1.7.6 Enter an InfluxQL query > > show databases name: databases name ---- _internal > create database mydb > show databases name: databases name ---- _internal mydb > use mydb Using database mydb # measurements相当于mysql的表 > show measurements # 插入数据并指定(创建)measurements > insert disk_free,hostname=server01 value=12121212 > show measurements name: measurements name ---- disk_free
编程库 在 github.com/influxdata 可以找到你的语言的 library,比如Java的 Java Client Library ,可以看到有些library已经有了 1.x 和 2.x 的版本区分了,这个要注意一下。
Golang的客户端库已经迁移了,不在 influxdata/influxdb
下了,详细可以看 issues 。
Go这样引用:
1 2 3 import "github.com/influxdata/influxdb1-client/v2" go get github.com/influxdata/influxdb1-client/v2