咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

InfluxDB安装

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