构建Docker容器监控系统(cadvisor+influxDB+grafana)

news2024/11/27 1:22:50

目录

一、部署

1、安装docker-cd

2、阿里云镜像加速

3、下载组件镜像

4、创建自定义网络

5、创建influxdb容器

6、创建Cadvisor 容器

 7、创建granafa容器


一、部署

1、安装docker-cd

[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost ~]# wget http://mirrors.aliyun.com/repo/Centos-7.repo

[root@localhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# yum -y install docker-ce
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
[root@localhost ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:24:18 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

2、阿里云镜像加速

[root@localhost ~]# cat << END > /etc/docker/daemon.json
{
        "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]
}
END
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

3、下载组件镜像

[root@localhost ~]# docker pull tutum/influxdb
[root@localhost ~]# docker pull google/cadvisor
[root@localhost ~]# docker pull grafana/grafana
[root@localhost ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
grafana/grafana   latest    9b957e098315   20 months ago   275MB
google/cadvisor   latest    eb1210707573   4 years ago     69.6MB
tutum/influxdb    latest    c061e5808198   6 years ago     290MB

4、创建自定义网络

为了把后期创建的Cadvisor+InfluxDB+Grafana这三个容器都加入自己定义的网络便于理解和管理,所以才新建一个自定义网络

[root@localhost ~]# docker network create monitor
18b6d5f890466b563c7f4aec62a208e65ced90ac01717550248fcda7c99de5eb
[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
ff5212270fa2   bridge    bridge    local
e2de4f2fd93e   host      host      local
18b6d5f89046   monitor   bridge    local
7212bc002123   none      null      local

5、创建influxdb容器

启动容器,tutum/influxdb镜像这里没有指定版本,默认会pull最新版本的influxdb:

[root@localhost ~]# docker run -d --name influxdb --net monitor -p 8083:8083 -p 8086:8086 tutum/influxdb
e729bfb694a1657178557eea325c0b3d6d497b91a700ba69eb55b9441a27bc84

参数说明:

  1. -d :后台运行此容器;
  2. --name :启运容器分配名字influxdb;
  3. --net : 把容器加入到新的网络monitor;
  4. -p :映射端口,8083端口为infuxdb后台控制端口,8086端口是infuxdb的数据端口;
  5. tutum/influxdb:通过这个容器来运行的,默认会在docker官方仓库pull下来;

查看influxdb容器是否启动:

[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE            COMMAND     CREATED          STATUS          PORTS                                                                                  NAMES
e729bfb694a1   tutum/influxdb   "/run.sh"   32 seconds ago   Up 31 seconds   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp   influxdb

从上图可以看到,在Query Templates选项中提供了常用的操作模板,可根据这些模版来管理influxdb,下面我们就来创建数据库和数据库用户。

CREATE USER "root" WITH PASSWORD '123456' WITH ALL PRIVILEGES

创建Cadvisor 数据库cadvisor 、用户root,用户和数据库大家可以自行随意定义,用于后期grafana的配置:

CREATE DATABASE "cadvisor"

6、创建Cadvisor 容器

[root@localhost ~]# docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --net monitor --publish=8080:8080  --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086
f70fa681a8ab62ef13281cc661d4526a4a9aa3af20281cb0804be04c8be25609

 

参数说明:

  1. -d:后台运行此容器;
  2. --name:启运容器分配名字Cadvisor ;
  3. --net:把容器加入到新的网络monitor;
  4. -p:映射端口8080;
  5. --mout:把宿主机的相文目录绑定到容器中,这些目录都是Cadvisor 需要采集的目录文件和监控内容;
  6. -storage_driver:需要指定Cadvisor 的存储驱动、数据库主机、数据库名;
  7. google/Cadvisor :通过Cadvisor 这个镜像来运行容器,默认会在docker官方仓库把镜像pull下来;

查看Cadvisor 容器:

[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE             COMMAND                   CREATED          STATUS          PORTS                                       NAMES
f70fa681a8ab   google/cadvisor   "/usr/bin/cadvisor -…"   26 seconds ago   Up 25 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   cadvisor

 第一次访问这个页面有点慢

 从上图可以看到,其实Cadvisor 也有基础的图形展示功能,我们这里主要用它来做数据采集。

准备测试镜像

[root@localhost ~]# docker pull nginx
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@localhost ~]# docker run -itd --name nginx -p 8000:80 nginx
63844f017e3db7ecd04879384743fec427048e52e2a46a3440361fba1876c616
[root@localhost ~]# docker images nginx
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   19 months ago   141MB
[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE     COMMAND                   CREATED         STATUS         PORTS                                   NAMES
63844f017e3d   nginx     "/docker-entrypoint.…"   8 minutes ago   Up 7 minutes   0.0.0.0:8000->80/tcp, :::8000->80/tcp   nginx

 7、创建granafa容器

[root@localhost ~]# docker run -d --name grafana --net monitor -p 3000:3000 grafana/grafana
11201213a39a45735822f693f49597e90d8ecf7be0ee74ad3683094e08a24e4f
[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE             COMMAND     CREATED         STATUS         PORTS                                       NAMES
11201213a39a   grafana/grafana   "/run.sh"   8 seconds ago   Up 7 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   grafana
[root@localhos

访问granfana,通过http://192.168.147.139:3000端口的方式访问,默认账户密码(admin/admin),首次登陆需要更新密码。 

 添加数据源Add data source,如下图:

 

 

 

 数据库:cadvisor   用户:root 密码:123456  然后save

 

 

新建 Dashboard,如下图:

可以看见已经创建成功,然后进入Dashboard

 

 Add a new panel

 可以查看我们之前建立的nginx,内存使用情况,在default里选择memory_usage里选择container_name里选择nginx

 右上角保存

 

 我们还可以多添加一个panel一起监控

 

 到这里Cadvisor+InfluxDB+Grafana容器监控系统就部署完成了,至于其它grafana的监控项配置不重点介绍。大家如果感兴趣可以参考一些官方资料都是图形化的界面操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/847696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

22款奔驰GLC260加装原厂香氛负离子系统,清香宜人,久闻不腻

奔驰原厂香氛合理性可通过车内空气调节组件营造芳香四溢的怡人氛围。通过更换手套箱内香氛喷雾发生器所用的香水瓶&#xff0c;可轻松选择其他香氛。香氛的浓度和持续时间可调。淡雅的香氛缓缓喷出&#xff0c;并且在关闭后能够立刻散去。车内气味不会永久改变&#xff0c;香氛…

IELAB-网络工程师的路由答疑10问(2)

各位小伙伴们&#xff0c;接下来的问题可能有些难度&#xff0c;你们做好准备了吗&#xff1f; 7. 动态路由协议做了啥&#xff1f; 这次咱们先解决第一个比较棘手的问题--路由协议&#xff0c;相信初学的同学对于路由协议的学习总是或多或少有些问题&#xff0c;呐&#xff…

UVA1025 城市里的间谍 A Spy in the Metro

实际上这题就是问Mario最少的总等车时间 这题我的做法是 把一个火车从左到右(或从右到左) 的过程 转化成 途中任何车站到左边(或右边)相邻车站 的过程 相当于把他切成了一段一段 (一段就是两个相邻车站中间的部分) 这样更容易操作 具体请看代码 一些注释在代码里请往下看 #inc…

.netcore下grpc概述

一、什么是grpc 是一种与语言无关的高性能远程过程调用 (RPC) 框架。基于http/2标准设计&#xff0c;提供了头部压缩、tcp连接上的多路复用、流量控制、流式处理&#xff08;客户端流/服务端流/双向流&#xff09;。提供统一使用的.proto文件&#xff0c;它定义 grpc 服务和消…

屏幕录制app分享,总有适合你的一款

在现今的互联网时代&#xff0c;屏幕录制已经成为了一项必备的技能。然而&#xff0c;要想将自己的屏幕录制下来并分享给别人&#xff0c;就需要一款好用的屏幕录制app。市面上有许多不同的屏幕录制app&#xff0c;每个人的需求也各不相同。本篇文章就将为大家推荐几款适合不同…

技术应用:Docker安全性的最佳实验|聊聊工程化Docker

&#x1f525; 技术相关&#xff1a;《技术应用》 ⛺️ I Love you, like a fire! 文章目录 首先&#xff0c;使用Docker Hub控制访问其次&#xff0c;保护密钥写在最后 不可否认&#xff0c;能生存在互联网上的软件都是相互关联的&#xff0c;当我们开发一款应用程序时&#x…

好用的Windows 10磁盘管理工具

​前几天&#xff0c;我给我用的戴尔笔记本电脑装上了全新的SSD&#xff0c;并准备将所有除Windows操作系统以外的数据&#xff0c;特别是游戏&#xff0c;全部转移到SSD上&#xff08;主要是因为这样能加快游戏的加载速度&#xff09;。但在我尝试用Windows 10自带的磁盘管理操…

树莓派4B, Purple Pi, Orange Pi 3B对比

1 参数 树莓派4BPurple Pi OHOrange Pi 3BSOCBroadcom BCM2711RockChip 3566RockChip 3566CPUARM Cortex-A72 四核1.5GHz主频ARM Cortex-A55 四核 2.0GHz主频ARM Cortex-A55 四核 2.0GHz主频GPU支持OpenGL ES 3.0 graphicsMali-G52 1-Core-2EE 支持 OpenGL ES 1.1/2.0/3.2&…

Python操作MySQL将数据库表中的数据导出到excel

Author: liukai 2810248865qq.com Date: 2022-08-18 04:28:52 LastEditors: liukai 2810248865qq.com LastEditTime: 2023-06-29 09:35:25 FilePath: \PythonProject01\Python操作MySQL数据库及excel将数据库表中的数据导出到excel中.py Description: 这是默认设置,请设置custo…

独立站如何进行Facebook广告投放?关于广告投放策略的真相

谷歌广告是独立站卖家推广引流的首选渠道&#xff0c;那么谷歌广告该如何投放&#xff1f;在这个过程中有哪些需要特别注意的吗&#xff1f; 创建Facebook广告账户&#xff1a; 访问Facebook广告管理平台&#xff08;Ads Manager&#xff09;并创建一个广告账户。您需要提供一…

Android 数据库之GreenDAO

GreenDAO 是一款开源的面向 Android 的轻便、快捷的 ORM 框架&#xff0c;将 Java 对象映射到 SQLite 数据库中&#xff0c;我们操作数据库的时候&#xff0c;不再需要编写复杂的 SQL语句&#xff0c; 在性能方面&#xff0c;greenDAO 针对 Android 进行了高度优化&#xff0c;…

dy六神参数记录分析(立秋篇)

version&#xff1a; 23.9 X-SSSTUB: 搜索&#xff1a;x-tt-dt var hashMap Java.use("java.util.HashMap");hashMap.put.implementation function (a, b) {console.log("hashMap.put: ", a, b);return this.put(a, b);}https://codeooo.blog.csdn.n…

分享一下Steam搬砖常规操作

大家好&#xff0c;我是阿阳&#xff0c;接下来我们会陆续更新一些Steam搬砖项目的操作课程&#xff0c;大家可以自行学习&#xff0c;希望对正在操作的朋友&#xff0c;有一定的帮助。 steam平台&#xff0c;对于大多数游戏玩家应该再清楚不过了&#xff0c;玩过pubg&#xf…

资深测试老鸟整理,性能测试-常见调优详细,卷起来...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 常见的一些性能缺…

【数据结构】单链表OJ题

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;数据结构 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、移除链表元素 &#x1f4a1;方法一&#xff1a; &#x1f4a1;方法二…

活动发布会邀请媒体6步走

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 邀请媒体参加活动发布会对信息的传播&#xff0c;企业品牌建设有诸多的好处&#xff0c;今天就与大家分享下邀请媒体参加活动报道的6个步骤&#xff1a; 1. 策划与准备&#xff1a; -明…

南卡携手傅园慧,破圈背后开辟了全新营销方法

南卡官宣了&#xff01;新品牌大使是傅园慧&#xff01;在极短时间内&#xff0c;该消息迅速登上各平台热搜&#xff0c;并且在抖音等社交平台上也引起了强烈的共振。 一直以来&#xff0c;耳机行业由于本身经营的是耐消品&#xff0c;因此在推广大使的选择上始终持谨慎且保守的…

山东布谷科技直播系统源码热点分析:不同芯片实现高质量编码与渲染视频的GPU加速功能

在现代科技的迅猛发展下&#xff0c;直播系统源码平台被开发搭建出来&#xff0c;为人们的生活方式带来了很大的改变&#xff0c;直播系统源码平台的好友、短视频、直播、社区等功能让很多人越来越热衷于去在平台上刷视频、看直播、分享生活。用户的喜爱也督促了直播系统源码平…

【EI/SCOPUS征稿】第三届电子通信与计算机科学技术国际学术会议(ECCST 2023)

第三届电子通信与计算机科学技术国际学术会议&#xff08;ECCST 2023&#xff09; 2023 3rd International Conference on Electronic Communication,Computer Science and Technology 2023年电子通信与计算机科学技术国际学术会议定于2023年9月15-17日在中国上海举行。会议旨…