Docker进阶:Docker轻量级可视化工具Portainer与容器监控3剑客CAdvisor+InfluxDB+Granfana

这篇具有很好参考价值的文章主要介绍了Docker进阶:Docker轻量级可视化工具Portainer与容器监控3剑客CAdvisor+InfluxDB+Granfana。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


💖The Begin💖点点关注,收藏不迷路💖

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

在开始之前,确保已经安装了Docker。

一、Docker轻量级可视化工具Portainer

1.1、Portainer简介

Portainer是一个开源的Docker轻量级可视化工具,它提供了一个直观的Web界面,让你轻松管理和监控Docker容器、镜像和网络等。本文将为你介绍如何安装和使用Portainer,并提供详细的步骤指导,帮助你快速上手。

官网:

https://www.portainer.io/

https://docs.portainer.io/start/install-ce/server/docker/linux

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

1.2、安装Portainer

1.2.1、安装Portainer的Docker镜像

1、打开终端或命令提示符,运行以下命令来安装Portainer的Docker镜像:

docker pull portainer/portainer-ce

2、安装完成后,运行以下命令来创建一个新的Portainer容器:

docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

或者使用:

docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

在Docker中启动Portainer CE服务。

解释:

docker run:运行容器的命令
-d:表示以守护进程模式运行容器
-p 8000:8000:将本地主机的8000端口映射到容器内的8000端口,用于访问Portainer Web界面
-p 9000:9000:将本地主机的9000端口映射到容器内的9000端口,用于Portainer与Docker守护进程通信
--name portainer:为容器指定一个名称
--restart=always:设置容器自动重启
-v /var/run/docker.sock:/var/run/docker.sock:将本地主机的Docker守护进程socket文件挂载到容器内,以便与Docker守护进程进行通信
-v portainer_data:/data:将容器内的/data目录挂载到本地主机上的portainer_data卷中,用于保存Portainer的数据和配置信息
portainer/portainer-ce:latest:指定要运行的Portainer CE镜像及其版本


3、列出当前正在运行的容器
docker ps


[root@zyl-server ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED         STATUS         PORTS                                                                                            NAMES
d83d0ea07602   portainer/portainer-ce:latest   "/portainer"   2 minutes ago   Up 2 minutes   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 9443/tcp   portainer
[root@zyl-server ~]#

1.2.2、访问Portainer Web界面

在浏览器中输入http://localhost:9000或http://<服务器IP>:9000,你将看到Portainer的登录界面。

第一次访问时,你需要创建一个管理员账号。填写所需的信息,并设置一个强密码。然后点击"Create user"按钮继续。

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

1.2.3、连接到Docker守护进程

在登录界面中,选择"Local"作为环境类型,并点击"Connect"按钮。

Portainer将自动检测并连接到本地Docker守护进程。

1.3、使用Portainer管理Docker容器

登录成功后,你将看到Portainer的控制面板。在左侧导航栏中,你可以选择不同的功能模块,如容器、镜像、网络等。

例如,点击"容器",你将看到当前运行的所有容器列表。你可以创建新的容器、启动/停止容器、查看容器日志等操作。

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

1.3.1 Portainer Web界面功能详解

1、仪表盘(Dashboard):提供了对Docker环境的概览,包括运行中的容器数量、使用的CPU和内存等信息。

2、容器(Containers):允许你查看和管理容器。你可以创建、启动、停止、重启和删除容器,以及查看容器的日志和统计数据。

3、镜像(Images):允许你管理Docker镜像。你可以搜索、拉取、上传、构建和删除镜像,以及查看镜像的详细信息。

4、网络(Networks):用于管理Docker网络。你可以创建、删除和连接网络,以及查看网络的详细信息。

5、卷(Volumes):用于管理Docker卷。你可以创建、删除和挂载卷,以及查看卷的详细信息。

6、栈(Stacks):允许你部署和管理Docker Compose栈。你可以通过编写Compose文件来定义多个服务,并将它们作为一个栈进行批量管理。

7、节点(Nodes):用于管理Docker Swarm集群。你可以查看集群的状态、节点的详细信息,以及添加或删除节点。

8、设置(Settings):提供了Portainer的各种设置选项,包括用户管理、身份验证、备份和恢复等。

1.3.2 Portainer Web界面安装nginx

在容器(Containers):导航,点击ADD按钮portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

创建nginx容器

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

访问测试nginx:

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

二、Docker容器监控3剑客CAdvisor+InfluxDB+Granfana

CAdvisor、InfluxDB和Grafana是一套常用的容器监控和可视化解决方案,它们各自担当着不同的角色。

CAdvisor(Container Advisor):

CAdvisor是由Google开发的开源容器监控工具。它能够实时收集和展示容器资源的使用情况,包括CPU、内存、磁盘、网络等指标。CAdvisor通过对容器进行抽样和监控,提供了对Docker容器整体和单个容器的性能数据的监控和分析功能。

InfluxDB:

InfluxDB是一种开源的时间序列数据库,专门用于存储时间相关的数据。它被广泛应用于监控、物联网、实时分析等领域。InfluxDB支持高写入和高查询性能,并提供了SQL-like查询语言。通过将CAdvisor收集到的监控数据存储在InfluxDB中,可以方便地进行数据聚合、查询和分析。

Grafana:

Grafana是一个功能强大的开源数据可视化工具,用于创建、浏览和分享时间序列数据的仪表板。它支持多种数据源,包括InfluxDB、Prometheus、Elasticsearch等。Grafana提供了丰富的可视化选项和交互式仪表板编辑功能,可以根据用户需求创建各种图表、仪表盘和报表,帮助用户更好地理解和分析监控数据。

使用CAdvisor、InfluxDB和Grafana的组合,可以实现以下功能:

1、CAdvisor用于实时监控容器的性能指标。
2、InfluxDB作为中间存储,将CAdvisor收集到的数据保存在数据库中。
3、Grafana连接到InfluxDB,从中获取数据,并将其以直观和可定制化的方式展示在仪表板上。

2.1、CIG结合compose一键搭建监控平台

1、新建Cig目录

[root@zyl-server ~]# mkdir Cig

2、Cig目录下创建docker-compose.yml

version: '3.1'

volumes:

  grafana_data: {}

services:

 influxdb:

  image: tutum/influxdb:0.9

  restart: always

  environment:

    - PRE_CREATE_DB=cadvisor

  ports:

    - "8083:8083"

    - "8086:8086"

  volumes:

    - ./data/influxdb:/data

 cadvisor:

  image: google/cadvisor

  links:

    - influxdb:influxsrv

  command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086

  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

  links:

    - influxdb:influxsrv

  ports:

    - "3000:3000"

  volumes:

    - grafana_data:/var/lib/grafana

  environment:

    - HTTP_USER=admin

    - HTTP_PASS=admin

    - INFLUXDB_HOST=influxsrv

    - INFLUXDB_PORT=8086

    - INFLUXDB_NAME=cadvisor

    - INFLUXDB_USER=root

    - INFLUXDB_PASS=123456

文件内容解读:

使用Docker Compose定义的CAdvisor、InfluxDB和Grafana的部署配置文件。
可以通过Docker Compose命令来一键启动这套监控和可视化系统。

配置文件中定义了三个服务:influxdb、cadvisor和grafana,分别对应InfluxDB、CAdvisor和Grafana的容器。

1、InfluxDB服务使用了tutum/influxdb:0.9镜像,通过环境变量设置了预创建数据库cadvisor,
并将容器内的8083端口映射到主机的8083端口(用于InfluxDB Web UI),将8086端口映射到主机的8086端口(用于InfluxDB API)。

2、CAdvisor服务使用了google/cadvisor镜像,通过links指定了与influxdb服务的连接,
并通过command参数指定了CAdvisor的运行参数,将容器内的8080端口映射到主机的8080端口(用于CAdvisor Web UI)。

3、Grafana服务使用了grafana/grafana镜像,也通过links指定了与influxdb服务的连接,
并将容器内的3000端口映射到主机的3000端口(用于Grafana Web UI)。
此外,还定义了一些环境变量,包括Grafana的管理员账号和密码,以及连接InfluxDB的相关信息。

4、此配置文件还定义了一个名为grafana_data的volume,用于将Grafana的数据持久化存储。

3、启动docker-compose文件

1、检查 Docker Compose 配置文件
[root@zyl-server Cig]# docker-compose config -q
[root@zyl-server Cig]#

2、启动docker-compose文件

docker-compose up  ##前台启动

如果需要在后台运行 Docker Compose 服务,可以使用 -d 参数,如下所示:

docker-compose up -d

3、完成后,可以使用 docker ps 命令来查看正在运行的容器列表,以确认服务已经成功启动。

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

4、访问测试

浏览cAdvisor收集服务:http://192.168.234.10:8080/containers/

第一次访问较慢,Ip根据自己主机而定,暴露端口见docker-compose文件。

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

浏览influxdb存储服务:http://192.168.234.10:8083/

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

浏览grafana展现服务:http://192.168.234.10:3000/login

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划


CAdvisor+InfluxDB+Granfana,启动成功!!!!


2.1、数据源配置

访问grafana展现服务:http://192.168.234.10:3000/login

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

URL: http://influxsrv:8086

服务名(influxsrv),数据库名(cadvisor),端口(8086)、用户名(root)、密码(123456):根据docker-compose文件配置。

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

2.2、配置panel面板

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

2.3、为panel面板填充数据

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划
例如:填充CPU使用数据

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划

portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划


这里只监控一个维度,具体可根据业务规则而定!!!

到这里cAdvisor+InfluxDB+Grafana容器监控系统就部署完成了


到目前为止,docker基础知识学的已经差不多了,可以算是入门级了。
portainer,容器化与编排技术深度解析,docker,容器,Docker Compose,Portainer,CAdvisor,InfluxDB,Granfana,原力计划文章来源地址https://www.toymoban.com/news/detail-714700.html


💖The End💖点点关注,收藏不迷路💖

到了这里,关于Docker进阶:Docker轻量级可视化工具Portainer与容器监控3剑客CAdvisor+InfluxDB+Granfana的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 尚硅谷Docker实战教程-笔记13【高级篇,Docker轻量级可视化工具Portainer】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】 尚硅谷Docker实战教程-笔记02【基础篇,Do

    2024年02月15日
    浏览(45)
  • 轻量级SQLite可视化工具Sqliteviz

    什么是 Sqliteviz ? Sqliteviz 是一个单页面离线优先的渐进式网络应用( PWA ),用于完全客户端的 SQLite 数据库或 CSV 文件的可视化。 所谓完全客户端,就是您的数据库永远不会离开您的计算机。使用 sqliteviz ,您可以: 对 SQLite 数据库运行 SQL 查询,并基于结果集创建 Plotly 图

    2024年04月25日
    浏览(49)
  • 阿里云轻量级服务器安装docker

    前置知识:需要有一台阿里云服务器(或者自己电脑装虚拟机使用centos) docker理念:\\\"一次封装,到处运行\\\",只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。 docker:解决了运行环境和配置问题的软件容器。方便做持续集成并有助于整体发布的容器

    2023年04月22日
    浏览(71)
  • 云原生之部署Docker轻量级管理面板EasyDockerWeb

    EasyDockerWeb是一款轻量级、简单的Docker管理面板,是一个使用xterm.js,Node.js和Socket.io的简单Docker Web Ui。 Node.js Docker remote api = v1.24 macOS or Linux or windows 部署简单,可以使用Docker快速部署; 上手简单,界面简洁,易操作,可替代docker-cli命令行操作; Docker管理,可对容器、镜像进行

    2024年02月08日
    浏览(48)
  • 云原生之使用Docker部署Teedy轻量级文档管理系统

    Teedy是一个开源的、功能丰富、易于使用和自定义的文档管理工具,它能够帮助用户管理和组织文档,适用于个人、小组和组织使用。 创建和编辑文档:用户可以使用Markdown格式创建和编辑文档,还可以添加标签和注释。 文件上传和管理:用户可以上传和管理文档、图片和其

    2024年01月20日
    浏览(60)
  • DeepFace【部署 03】轻量级人脸识别和面部属性分析框架deepface在Linux环境下服务部署(conda虚拟环境+docker)

    Anaconda的安装步骤这里不再介绍,直接开始使用。 以下操作在虚拟环境 deepface 下执行: 使用 yum install mesa-libGL.x86_64 命令会在Linux系统中安装mesa-libGL包。这个包包含了Mesa 3D图形库的运行时库和DRI驱动。安装mesa-libGL包后,系统将能够支持OpenGL,这是一种用于渲染2D和3D矢量图形

    2024年02月08日
    浏览(66)
  • git轻量级服务器gogs、gitea,非轻量级gitbucket

    本文来源:git轻量级服务器gogs、gitea,非轻量级gitbucket, 或 gitcode/gogs,gitea.md 结论: gogs、gitea很相似 确实轻, gitbucket基于java 不轻, 这三者都不支持组织树(嵌套组织 nested group) 只能一层组织。 个人用,基于gogs、gitea,两层结构树 简易办法: 把用户当成第一层节点、该用户的

    2024年02月07日
    浏览(80)
  • 轻量灵动: 革新轻量级服务开发

    从 JDK 8 升级到 JDK 17 可以让你的应用程序受益于新的功能、性能改进和安全增强。下面是一些 JDK 8 升级到 JDK 17 的最佳实战: 1.1、确定升级的必要性:首先,你需要评估你的应用程序是否需要升级到 JDK 17。查看 JDK 17 的新特性、改进和修复的 bug,以确定它们对你的应用程序

    2024年02月07日
    浏览(60)
  • 轻量级 HTTP 请求组件

    Apache HttpClient 是著名的 HTTP 客户端请求工具——现在我们模拟它打造一套简单小巧的请求工具库, 封装 Java 类库里面的 HttpURLConnection 对象来完成日常的 HTTP 请求,诸如 GET、HEAD、POST 等等,并尝试应用 Java 8 函数式风格来制定 API。 组件源码在:https://gitee.com/sp42_admin/ajaxjs/tr

    2024年02月01日
    浏览(73)
  • 一种轻量级定时任务实现

    现在市面上有各式各样的分布式定时任务,每个都有其独特的特点,我们这边的项目因为一开始使用的是分布式开源调度框架TBSchedule,但是这个框架依赖ZK, 由于ZK的不稳定性和项目老旧无人维护 ,导致我们的定时任务会偶发出现异常,比如:任务停止、任务项丢失、任务不

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包