InfluxDB部署以及运行Cadvisor

网友投稿 358 2022-10-19

InfluxDB部署以及运行Cadvisor

docker监控神器cadvisor的部署

01. 安装influxdb1.7

mkdir -p /home/influxdb/cd /home/influxdbwget xf influxdb-1.7.8_linux_amd64.tar.gz cd /home/influxdb/influxdb-1.7.8-1/mkdir data log meta walcd /home/influxdb/influxdb-1.7.8-1/etc/influxdbcp influxdb.conf influxdb.conf.bak

02. 目录解释

/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文件

03. 修改配置文件

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

cd /home/influxdb/influxdb-1.7.8-1/logsnohup /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进行客户端 - 服务器的通信;

05. 登录

cd /home/influxdb/influxdb-1.7.8-1/usr/bin[root@es_data02 bin]# ./influxConnected to version 1.7.8InfluxDB shell version: 1.7.8> show databases;name: databasesname----_internal#默认用户名密码为root[root@es_data02 bin]# ./influx -username root -password rootConnected to version 1.7.8InfluxDB shell version: 1.7.8>

06. 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的数据集合。

07. 增删改查

#创建数据库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: databasesname----_internal> use cadvior;> show MEASUREMENTS;name: measurementsname----cpu_usage_per_cpucpu_usage_systemcpu_usage_totalcpu_usage_userfs_limitfs_usageload_averagememory_usagememory_working_setrx_bytesrx_errorstx_bytestx_errors#查询内存使用> select * from memory_usage order by time desc limit 5;name: memory_usagetime container_name machine value---- -------------- ------- -----1570606022314528492 /system.slice/systemd-user-sessions.service e1510f5156f6 01570606022165528044 /system.slice/rhel-import-state.service e1510f5156f6 01570606022130190231 /system.slice e1510f5156f6 1646714881570606022030381573 /user.slice e1510f5156f6 5184921601570606021889689198 /system.slice/telegraf.service e1510f5156f6 1859584

08. 集成Cadvisor

docker pull google/cadvisor:latestdocker 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:latestdocker 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=/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

作者:HaydenGuo

每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。

只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:剑指Offer之Java算法习题精讲数组与字符和等差数列
下一篇:G021-CON-CKA-DOC-01 急速入门,构建你的第一个 docker 学习环境
相关文章

 发表评论

暂时没有评论,来抢沙发吧~