前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >influxdb部署以及运行cadvisor

influxdb部署以及运行cadvisor

作者头像
HaydenGuo
修改2019-12-15 13:29:08
7530
修改2019-12-15 13:29:08
举报
文章被收录于专栏:东隅已逝东隅已逝

安装influxdb1.7

代码语言:javascript
复制
mkdir -p /home/influxdb/
cd /home/influxdb
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8_linux_amd64.tar.gz
tar xf influxdb-1.7.8_linux_amd64.tar.gz 
cd /home/influxdb/influxdb-1.7.8-1/
mkdir data log meta wal
cd /home/influxdb/influxdb-1.7.8-1/etc/influxdb
cp influxdb.conf influxdb.conf.bak

目录解释

/usr/bin

代码语言:javascript
复制
influxd    influxdb服务器
influx      influxdb命令行客户端
influx_inspect  查看工具
influx_stress  压力测试工具
influx_tsm  数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)

/var/lib/influxdb/

代码语言:javascript
复制
data  存放最终存储的数据,文件以.tsm结尾
meta  存放数据库元数据
wal  存放预写日志文件

/var/log/influxdb

代码语言:javascript
复制
influxd.log  日志文件

/etc/influxdb

代码语言:javascript
复制
influxdb.conf  配置文件

/var/run/influxdb/

代码语言:javascript
复制
influxd.pid  PID文件

修改配置文件

代码语言:javascript
复制
[root@es_data02 influxdb]# egrep -v "^#|^$|#" influxdb.conf
[meta]
  dir = "/home/influxdb/influxdb-1.7.8-1/meta"
[data]
  dir = "/home/influxdb/influxdb-1.7.8-1/data"
  wal-dir = "/home/influxdb/influxdb-1.7.8-1/wal"
  series-id-set-cache-size = 100
[coordinator]
[retention]
   enabled = true
   check-interval = "30m"
[shard-precreation]
[monitor]
[http]
[logging]
[subscriber]
[[graphite]]
[[collectd]]
[[opentsdb]]
[[udp]]
[continuous_queries]
[tls]

启动

代码语言:javascript
复制
cd /home/influxdb/influxdb-1.7.8-1/logs
nohup  /home/influxdb/influxdb-1.7.8-1/usr/bin/influxd -config /home/influxdb/influxdb-1.7.8-1/etc/influxdb/influxdb.conf &

注:默认情况下,InfluxDB使用以下网络端口:

  • 8083用于InfluxDB的管理面板(1.3版本之后无web界面);
  • 8086用于通过InfluxDB的HTTP API进行客户端 - 服务器的通信;

登录

代码语言:javascript
复制
cd /home/influxdb/influxdb-1.7.8-1/usr/bin
[root@es_data02 bin]# ./influx
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.8
> show databases;
name: databases
name
----
_internal

#默认用户名密码为root
[root@es_data02 bin]# ./influx -username root -password root
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.8
>

InfluxDB重要概念

database: 数据库 如之前创建的数据库cadvisor。

timestamp: 时间戳,因为InfluxDB是时序数据库,它的数据里面都有一列名为time的列,存储记录生成时间。 如 rx_bytes 中的 time 列,存储的就是时间戳。

fields: 包括field key,field value和field set几个概念。 field key是字段名,在rx_bytes表中,字段名为 value。 field value是字段值,如 17858781633,1359398等。 而field set是字段集合,由field key和field value构成 如rx_bytes中的字段集合如下: value = 17858781633 value

tags: 包括tag key, tag value, tag set几个概念。 tag key是标签名,在rx_bytes表中container_name,game,machine,namespace,type都是标签。 tag value就是标签的值了。 tag set就是标签集合,由tag key和tag value构成。 InfluxDB中标签是可选的,不过标签是有索引的。 如果查询中经常用的字段,建议设置为标签而不是字段。标签相当于传统数据库中有索引的列。

retention policy: 数据保留策略,cadvisor的保留策略为cadvisor_retention,存储30天,副本为1。一个数据库可以有多个保留策略。

measurement: 类似传统数据看的表,是字段,标签以及time列的集合。

series: 共享同一个retention policy,measurement以及tag set的数据集合。

增删改查

代码语言:javascript
复制
#创建数据库cadvisor
> create database cadvisor;    

#创建用户和设置密码
> CREATE USER cadvisor WITH PASSWORD 'cadvisor';

#授权数据库给指定用户
> GRANT ALL PRIVILEGES ON cadvisor TO cadvisor;

#创建默认的数据保留策略,设置保存时间30天,副本为1
> CREATE RETENTION POLICY "cadvisor_retention" ON "cadvisor" DURATION 30d REPLICATION 1 DEFAULT;

#显示表
> show databases;
name: databases
name
----
_internal
> use cadvior;
> show MEASUREMENTS;
name: measurements
name
----
cpu_usage_per_cpu
cpu_usage_system
cpu_usage_total
cpu_usage_user
fs_limit
fs_usage
load_average
memory_usage
memory_working_set
rx_bytes
rx_errors
tx_bytes
tx_errors

#查询内存使用
> select * from memory_usage order by time desc limit 5;
name: memory_usage
time                container_name                              machine      value
----                --------------                              -------      -----
1570606022314528492 /system.slice/systemd-user-sessions.service e1510f5156f6 0
1570606022165528044 /system.slice/rhel-import-state.service     e1510f5156f6 0
1570606022130190231 /system.slice                               e1510f5156f6 164671488
1570606022030381573 /user.slice                                 e1510f5156f6 518492160
1570606021889689198 /system.slice/telegraf.service              e1510f5156f6 1859584

集成cadvisor

代码语言:javascript
复制
docker pull google/cadvisor:latest
docker run -d --name cadvisor -p 8080:8080 --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_user=root -storage_driver_password=root -storage_driver_host=192.168.1.8:8086 

启动cAdvisor容器,并使用influxdb为存储(cadvisor数据库名, 数据访问账号密码root, 地址为本地8086端口,别用127.0.0.1.连不上)

代码语言:javascript
复制
docker pull google/cadvisor:latest
docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
-storage_driver=influxdb \
-storage_driver_db=cadvisor \
-storage_driver_user=root \
-storage_driver_password=root \
-storage_driver_host=172.16.131.211:8086

或者

代码语言:javascript
复制
docker run -d --name cadvisor -p 8080:8080 --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro 172.16.131.211/monitor/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_user=root -storage_driver_password=root -storage_driver_host=172.16.35.6:8086
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有暗香盈袖c 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装influxdb1.7
  • 目录解释
  • 修改配置文件
  • 启动
  • 登录
  • InfluxDB重要概念
  • 增删改查
  • 集成cadvisor
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档