科技改变生活 · 科技引领未来

  • 首页
  • 资讯
  • 技术
  • 百科
  • 问答
  • 学习
  • 看看
  • 站长
  • 生活
  • 快讯

首页 > 技术 > 技术快讯

监控主机多少钱一台(Docker容器监控)

时间:2022-10-09 16:10 作者:丁俊

简介容器监控三剑客:cAdvisor监控收集+InfluxDB存储数据+Grafana展示图表我们在主机上部署了很多个容器,要想监控它们该怎么办,通常我们使用原生命令dockerps或dockerstats就可以查看到容器的状态。如下:[r

简介

容器监控三剑客:cAdvisor监控收集 + InfluxDB存储数据 + Grafana展示图表

我们在主机上部署了很多个容器,要想监控它们该怎么办,通常我们使用原生命令 docker ps 或 docker stats 就可以查看到容器的状态。

如下:

[root@localhost ~]# docker ps ConTAINER ID   IMAGE                           COMMAND             CREATED          STATUS          PORTS                                                                                            NAMES 2a10d91cae48   portainer/portainer-ce:2.11.1   "/portainer"        17 minutes ago   Up 17 minutes   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp   portainer 554e72db6ef0   billygoo/tomcat8-jdk8           "catalina.sh run"   29 hours ago     Up 59 seconds   0.0.0.0:8082->8080/tcp, :::8082->8080/tcp                                                        tomcat82 9e7e05d78b86   billygoo/tomcat8-jdk8           "catalina.sh run"   29 hours ago     Up 57 seconds   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp                                                        tomcat81
[root@localhost ~]# docker stats ConTAINER ID   NAME        CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS 2a10d91cae48   portainer   0.00%     17.2MiB / 1.777GiB    0.95%     2.52MB / 6.98MB   0B / 2.02MB   5 554e72db6ef0   tomcat82    0.17%     92.44MiB / 1.777GiB   5.08%     1.1kB / 0B        165MB / 0B    42 9e7e05d78b86   tomcat81    0.15%     88.45MiB / 1.777GiB   4.86%     836B / 0B         11.6MB / 0B   42

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了。。。。但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能。

如何解决,那就要用到接下来所要讲的方案:cAdvisor+InfluxDB+Grafana

是什么

容器监控三剑客:cAdvisor监控收集 + InfluxDB存储数据 + Grafana展示图表

监控主机多少钱一台(Docker容器监控)

cAdvisor

cAdvisor 是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个Web页面用于查看容器的实时运行状态。

cAdivisor 默认存储2分钟的数据,而且只是针对单物理机。不过,cAdivisor提供了很多数据集成接口,支持InfluxDB、Redis、Kafka、Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。

cAdvisor 功能主要有两点:

  • 展示Host和容器两个层次的监控数据。
  • 展示历史变化数据。

InfluxDB

InfluxDB 使用Go语言编写的一个开源分布式时许、时间和指标数据库,无需外部依赖。

cAdvisor 默认旨在本机保存最近2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时许数据库,专门用于存储时许相关数据,很适合存储CADvisor的数据,而且,CAdvisor本身已经提供了InfluxDB的集成方法,启动容器时指定配置即可。

InfluxDB主要功能:

  • 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等);
  • 可度量性:你可以实时对大量数据进行计算;
  • 基于事件:它支持任意的事件数据。

Grafana

Grafana 是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB、Mysql、Elasticsearch、OpenTSDB、Graphite等)和丰富的插件及模块功能,支持图表权限控制和报警。

Grafana主要特性:

  • 灵活丰富的图形化选项;
  • 可以混合多种风格;
  • 支持白天和夜间模式;
  • 多个数据源。

环境搭建

方式一:分别安装

通常在进行监控的时候是需要一台单独机器作为监控主机的,这里我们创建一台新的监控主机(192.168.92.148),在监控主机上部署InfluxDB+Grafana,然后在被监控主机(192.168.92.149)上部署cAdvisor

部署InfluxDB(监控主机)

这里预先定义了创建一个初始数据库:

INFLUXDB_DB=cadvisor # 初始数据库名称INFLUXDB_USER=root # 初始数据库用户名INFLUXDB_USER_PASSWORD=root123456 # 初始数据库密码

docker run -d -p 8086:8086 --restart=always --name influxdb  -e INFLUXDB_DB=cadvisor  -e INFLUXDB_USER=root  -e INFLUXDB_USER_PASSWORD=root123456  -v influxdb_data:/var/lib/influxdb  influxdb:1.8

部署Grafana(监控主机)

docker run -d -p 3000:3000 --restart=always --name grafana  -v grafana_data:/var/lib/grafana  grafana/grafana

部署cAdvisor(被监控主机)

这里注意填入在部署influxdb时设置的数据库、用户名、密码

-storage_driver_db=cadvisor # influxdb的数据库名称-storage_driver_host=192.168.92.148:8086 # influxdb的主机地址-storage_driver_user=root # influxdb的用户名-storage_driver_password=root123456 # influxdb的密码

docker run -d -p 8080:8080 --restart=always --name cadvisor  -v /:/rootfs:ro  -v /var/run:/var/run:rw  -v /sys:/sys:ro  -v /var/lib/docker/:/var/lib/docker:ro  google/cadvisor  -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=192.168.92.148:8086 -storage_driver_user=root -storage_driver_password=root123456

方式二:Compose容器编排一套带走

如果你想将cAdvisor+InfluxDB+Grafana以及其他的容器都安装到同一台主机上,那使用这个compose一套带走方案就可以了。

新建目录

mkdir -p /data/cig

新建3件套组合的 docker-compose.yml 文件

cd /data/cig/

vim docker-compose.yml

文件内容如下:

version: '3.1'  services:       influxdb:     image: influxdb:1.8     restart: always     environment:       - INFLUXDB_DB=cadvisor       - INFLUXDB_USER=root       - INFLUXDB_USER_PASSWORD=root123456     ports:       - "8086:8086"     volumes:       - influxdb_data:/var/lib/influxdb      cadvisor:     image: google/cadvisor     depends_on:       - influxdb     command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086 -storage_driver_user=root -storage_driver_password=root123456     restart: always     ports:       - "8080:8080"     volumes:       - /:/rootfs:ro       - /var/run:/var/run:rw       - /sys:/sys:ro       - /var/lib/docker/:/var/lib/docker:ro          grafana:     user: "104"     image: grafana/grafana     restart: always      depends_on:       - influxdb     ports:       - "3000:3000"     volumes:       - grafana_data:/var/lib/grafana  volumes:   influxdb_data: {}   grafana_data: {}

检查语法:

没有输出则正常。

docker-compose config -q

启动:

docker-compose up -d

查看是否都启动:

[root@localhost cig]# docker ps ConTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS         PORTS                                                                                            NAMES 06dffc78e480   grafana/grafana                 "/run.sh"                3 seconds ago   Up 2 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                        cig_grafana_1 bdee27fbd3c8   google/cadvisor                 "/usr/bin/cadvisor -…"   3 seconds ago   Up 2 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                        cig_cadvisor_1 a328796c8d2a   tutum/influxdb:0.9              "/run.sh"                4 seconds ago   Up 3 seconds   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp             cig_influxdb_1

访问测试

1. 浏览CAdvisor收集服务:http://被监控主机的IP:8080/

2. 浏览Grafana展现服务:http://部署Grafana的主机IP:3000/

配置Grafana

添加数据源:

如果是使用 docker-compose 部署的,这里URL直接写 http://influxdb:8086 即可;

如果是单独安装的,这里URL要写 http://influxdb的主机IP:8086

滚动到下面,填写部署influxdb时初始化的数据库cadvisor、用户名root、密码root123456,点击Save &Test.

添加 dashboard:

点击右上角 Save 保存。

还可以点击右上角添加新的图表,监控其他项目,如:CPU、网络、磁盘等,需要具体去看看查询语法获取正确的值制作图表。

相关话题

  • 马云建议公司一定要搭建数字经济的基础设施
  • 5月30日美股全天呈震荡走势收盘涨跌不一
  • 中国移动公示2020年度PC服务器集中采购项目中标候选人
  • 日产全新逍客首次引入日产的e-Power增程式动力系统新车计划将于今年正式亮相
  • 马自达4月全球销售50362辆16年间销量最低的月份
  • 希捷酷玩游戏SSD 500GB版图赏
  • 网易CEO丁磊发布上市20年来的首封致股东信
  • 本田全新换代讴歌TLX发布将是该品牌最快最敏捷功能最齐全的轿车
  • 华纳音乐计划于6月进行首次公开发行股票
  • 捷豹I-PACE EV 400S为一款纯电动中型SUV车型降价5.5折
  • OPPO今日宣布位于德国杜塞尔多夫的西欧区总部正式亮相
  • 曝光全新一代奔驰G级打造的4X4车型谍照
  • 悉知科技推出3D虚拟展展现形式如何赋能新营销
  • 何猷君更改认证去掉赌王儿子 变身澳门电竞总会会长似有商业精英之味
  • 比亚迪新款F3超值版正式上市动力系统满足国六排放标准
  • 新一代丰田普拉多新车提供汽油和柴油发动机可选有望于2020年8月发布
  • 长安马自达旗下全新紧凑型SUV CX-30正式上市推出8款车型12.99-17.19万元
  • 乐高推出一款兰博基尼车型6月1日上市销售约3399元
  • 美国太空探索技术公司SpaceX二次载人试射
  • 观摩 四新 行动重点项目进度推进区域经济发展使南京焕发新风貌

热门推荐

  • “纯血鸿蒙”要来了!华为正式官宣,与盘古大模型5.0一同亮相!
  • 小米手环 9 即将上市发布!
  • 华为P70发售“蓄势待发”,旗舰店:能留下电话等通知!
  • 真我GT Neo6 SE首发6000nit无双屏,综合功耗更低,首销1699元起!
  • 京东支付与银联国际达成合作,实现跨境便利支付!
  • iOS 17.5测试版上线:iPhone用户可从网站侧载App,与安卓相似!
  • vivo X Fold3 系列折叠屏或将支持5.5G,4月或将开启OTA 推送!
  • 京东汽车和小米汽车或联手深度合作!
  • 微软发布首批AI电脑,配专用Copilot按钮!
  • 美团成立平台产品部,整合本地商业多项任务!
  • 代号“橄榄石”,小米 Redmi Note 13 Turbo 手机新曝光!
  • 华为P70系列发布延期?爆料芯片有变化!
  • 农业银行申请云计算任务调度专利,极大提高云计算任务处理效率!
  • 荣耀将推出首款小折叠手机:给三星和苹果一点点震撼!
  • 生成式人工智能技术走进高校专业课,极大提高备课效率!
  • 腾讯公司申请区块链数据处理专利,实现快速完成相同业务数据的数据交换功能!
  • 消息称谷歌将把Bard 更名为 Gemini,并退出独立的应用!
  • 小米 14 Ultra 手机跑分成绩单曝光!
  • 谷歌浏览器将基于AI功能进行升级,计划2月上线写作助手!
  • 亚马逊AWS将投资150亿美元扩大日本云计算业务,满足客户需求!

丁俊

关注
免责声明:本文章由会员“丁俊”发布,如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务 如因作品内容、版权和其他问题请于本站联系

关注排行榜

  1. 1“纯血鸿蒙”要来了!华为正式官宣,与盘古大模型5.0一同亮相!
  2. 2小米手环 9 即将上市发布!
  3. 3华为P70发售“蓄势待发”,旗舰店:能留下电话等通知!
  4. 4真我GT Neo6 SE首发6000nit无双屏,综合功耗更低,首销1699元起!
  5. 5京东支付与银联国际达成合作,实现跨境便利支付!
  6. 6iOS 17.5测试版上线:iPhone用户可从网站侧载App,与安卓相似!
  7. 7vivo X Fold3 系列折叠屏或将支持5.5G,4月或将开启OTA 推送!
  8. 8京东汽车和小米汽车或联手深度合作!
  9. 9微软发布首批AI电脑,配专用Copilot按钮!
  10. 10美团成立平台产品部,整合本地商业多项任务!

编辑精选

Copyright ©2009-2022 KeJiTian.Com, All Rights Reserved

版权所有 未经许可不得转载

增值电信业务经营许可证备案号:辽ICP备14006349号

网站介绍 商务合作 免责声明 - html - txt - xml