您现在的位置是:首页 > 文章详情

Influxdb的部署以及运行cadvisor

日期:2020-01-31点击:400

环境为CentOS7.4

1.安装influxdb1.7

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

2.目录解释

  • /usr/bin/
influxd //influxdb服务器 influx //influxdb命令行客户端 influx_inspect //查看工具 influx_stress //压力测试工具 influx_tsm //数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)
  • /var/lib/influxdb/
data //存放最终存储的数据,文件以.tsm结尾 meta //存放数据库元数据 wal //存放预写日志文件
  • /var/log/influxdb/
influxd.log //日志文件
  • /etc/influxdb/
influxdb.conf //配置文件
  • /var/run/influxdb/
influxd.pid //PID文件

3.修改配置文件

[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]

4.启动

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 使用以下网络端口:
  1. TCP 端口 8083 用于 InfluxDB 的管理面板(1.3版本之后无web界面);
  2. TCP 端口 8086 用于通过 InfluxDB 的 HTTP API 进行客户端到服务器的通信;

5.登录

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 >

6.InfluxDB重要概念

  • database

数据库
如之前创建的数据库 cadvisor

  • timestamp

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

  • fields:

包括 field keyfield valuefield set 几个概念。
field key 是字段名,在 rx_bytes 表中,字段名为 value
field value 是字段值,如 178587816331359398 等。
field set 是字段集合,由 field keyfield value构成
rx_bytes 中的字段集合如下:

value = 17858781633 value
  • tags

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

  • retention policy:

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

  • measurement

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

  • series

共享同一个 retention policymeasurement 以及 tag set 的数据集合。

7.增删改查

  • 创建数据库 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

8.集成cadvisor

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 连不上)
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

或者

docker run -d --name cadvisor -p 8080:8080 --volume=/:/rootfs:ro --volume
原文链接:https://yq.aliyun.com/articles/743352
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章